|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Программное обеспечение, разработанное при использовании компонентно-ориентированной архитектуры, может легко быть разработано и развернуто, поскольку Сеть Java Запускает приложение. Полагайте, что пример Сети Java Запускает приложение с основанного на Swing графического интерфейса пользователя (GUI). С компонентно-ориентированным проектом GUI может быть создан с меньшими стандартными блоками или компонентами. Следующие общие шаги используются, чтобы создать GUI приложения:
MyTopJPanel class, который является подклассом JPanel. Разметьте компоненты GUI своего приложения в конструкторе MyTopJPanel class.MyApplication это - подкласс JFrame class.main метод MyApplication class, инстанцируйте MyTopJPanel class и набор это как область контента JFrame.Следующие разделы исследуют эти шаги более подробно при использовании Динамического Древовидного Демонстрационного приложения. Если Вы не знакомы с Swing, см. Создание GUI с Swing, чтобы узнать больше об использовании компонентов GUI Swing.
Нажмите следующую кнопку Launch, чтобы запустить Динамическое Древовидное Демонстрационное приложение.
Если Вы не видите, что Сеть Java Запускает выполнение приложения, удостоверьтесь, что у Вас есть, по крайней мере, Java 2 Платформы, Standard Edition (J2SE) 1.4.2 выпуска на Вашем клиенте. В противном случае и установите последний выпуск Java Комплект разработчика SE (JDK).
Если Вы не видите, что пример работает, Вы, возможно, должны были бы включить интерпретатору JavaScript в своем браузере так, чтобы сценарий Инструментария Развертывания мог функционировать должным образом.
JPanel КлассСоздайте class, который является подклассом JPanel. Эта вершина JPanel действия как контейнер для всех Ваших других компонентов UI. В следующем примере, DynamicTreePanel class является самым верхним JPanel. Конструктор DynamicTreePanel class вызывает другие методы, чтобы создать и разметить средства управления UI должным образом.
public class DynamicTreePanel extends JPanel implements ActionListener {
private int newNodeSuffix = 1;
private static String ADD_COMMAND = "add";
private static String REMOVE_COMMAND = "remove";
private static String CLEAR_COMMAND = "clear";
private DynamicTree treePanel;
public DynamicTreePanel() {
super(new BorderLayout());
//Create the components.
treePanel = new DynamicTree();
populateTree(treePanel);
JButton addButton = new JButton("Add");
addButton.setActionCommand(ADD_COMMAND);
addButton.addActionListener(this);
JButton removeButton = new JButton("Remove");
....
JButton clearButton = new JButton("Clear");
...
//Lay everything out.
treePanel.setPreferredSize(
new Dimension(300, 150));
add(treePanel, BorderLayout.CENTER);
JPanel panel = new JPanel(new GridLayout(0,3));
panel.add(addButton);
panel.add(removeButton);
panel.add(clearButton);
add(panel, BorderLayout.SOUTH);
}
// ...
}
Для приложения, у которого есть основанный на Swing GUI, создайте class, который является подклассом javax.swing.JFrame.
Инстанцируйте своей вершины JPanel class и набор это как область контента JFrame в приложении main метод. main метод DynamicTreeApplication class вызывает createGUI метод в потоке Диспетчера События AWT.
package webstartComponentArch;
import javax.swing.JFrame;
public class DynamicTreeApplication extends JFrame {
public static void main(String [] args) {
DynamicTreeApplication app = new DynamicTreeApplication();
app.createGUI();
}
private void createGUI() {
//Create and set up the content pane.
DynamicTreePanel newContentPane = new DynamicTreePanel();
newContentPane.setOpaque(true);
setContentPane(newContentPane);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
}
Другой способ создать приложение состоит в том, чтобы только удалить уровень абстракции (отдельная вершина JPanel) и разметьте все средства управления в приложении main метод непосредственно. Нижняя сторона к созданию GUI непосредственно в приложении main метод - то, что будет более трудно развернуть Вашу функциональность как апплет, если Вы будете хотеть делать столь позже.
В Динамическом Древовидном Демонстрационном примере базовая функциональность разделяется в DynamicTreePanel class. Это теперь тривиально, чтобы отбросить DynamicTreePanel class в a JApplet и разверните это как апплет.
Следовательно, чтобы сохранить мобильность и сохранить открытые опции развертывания, следуйте за компонентно-ориентированным проектом как описано в этой теме.