Показать сообщение отдельно
Старый 08.06.2005, 23:05     # 5
marine
Guest
 
Сообщения: n/a

У меня есть парсер xml, который мне надо использовать, кроме того что он перелопачивает xml файл он еще и создает главное окно, к которому мне и надо прикручивать свои компоненты. Бибиотеки парсера в джаре исходники мне не дают - говорят что и без этого все можно сделать. Вот пример, который мне дали, но он не добавляет визуальных объектов к окну, а только "вытаскивает" их xml файла. Я попытался добавить тулбар но ничего не получилось.

Код:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class ExampleTag 
        implements XMLComponent,AppRuntimeClient,ComponentBuilder
{
    private SysLog sysLog;
    private XMLLoader xmlLoader;
    private ComponentBuilderFactory cbf;
    private AppRuntime appRuntime; 

          /* Точка входа. Имеет зарезервированное имя. */
        /* Параметры:  parent - родительский объект, в который следует добавлять, при   необходимости, все созданные визуальные объеты. */
        
    public XMLComponent createFromXML(Node node, XMLComponent parent) throws Exception {

         /* Пример кода */
        String s = xmlLoader.getAttribute(node,"test","undef");
        appRuntime.setVar(xmlLoader.getAttribute(node,"savetovar","undef"), s);
       // добавление к окну тулбара с одной кнопкой, это я пытаюсь добавить тулбар
      toolPanel panel = new toolPanel();
       parent.add(panel);
               
                /* Пример метода печати сообщения об ошибке */
        sysLog.printLine("ExampleTag.test = " + s);
               cbf.processChildComponents(node, this);
        return null;
    }
        
}

   // панель с тулбаром
  class toolPanel extends JPanel
  {
   
    public toolPanel()
    {
      //добавляем тулбар, на нем добавляем одну кнопку 
      JToolBar bar = new JToolBar ();
      JButton b = new JButton("but_name");
      bar.add(b); //добавляем кнопку
      add (bar,BorderLayout.NORTH); // добавляем тулбар
    } 
        
  }