У меня есть парсер 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); // добавляем тулбар
}
}