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 выпуска на Вашем клиенте. В противном случае
Если Вы не видите, что пример работает, Вы, возможно, должны были бы включить интерпретатору 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
и разверните это как апплет.
Следовательно, чтобы сохранить мобильность и сохранить открытые опции развертывания, следуйте за компонентно-ориентированным проектом как описано в этой теме.