Spec-Zone .ru
спецификации, руководства, описания, API
След: Развертывание
Урок: Апплеты Java
Раздел: Начинание С Апплетами
Разработка Апплета
Домашняя страница > Развертывание > Апплеты Java

Разработка Апплета

Приложение, разработанное, используя компонентно-ориентированную архитектуру, может быть разработано в апплет Java. Рассмотрите пример апплета Java с основанным на Swing графическим интерфейсом пользователя (GUI). С компонентно-ориентированным проектом GUI может быть создан с меньшими стандартными блоками или компонентами. Следующие общие шаги используются, чтобы создать GUI апплета:

Следующие разделы исследуют эти шаги более подробно при использовании Динамического Древовидного Демонстрационного апплета. Если Вы не знакомы с Swing, см. Создание GUI с Swing, чтобы узнать больше об использовании компонентов GUI Swing.


Отметьте:  

Если Вы не видите, что апплет работает, удостоверьтесь, что у Вас есть, по крайней мере, 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);
    }
    // ...
}

Создание Апплета

Для апплета Java, у которого есть основанный на Swing GUI, создайте class, который является подклассом javax.swing.JApplet. Апплет, который не содержит основанный на Swing GUI, может расшириться java.applet.Applet class.

Переопределите апплет init метод, чтобы инстанцировать Вашей вершины JPanel class и создает GUI апплета. init метод DynamicTreeApplet class вызывает createGUI метод в потоке Диспетчера События AWT.

package appletComponentArch;

import javax.swing.JApplet;
import javax.swing.SwingUtilities;

public class DynamicTreeApplet extends JApplet {
    //Called when this applet is loaded into the browser.
    public void init() {
        //Execute a job on the event-dispatching thread; creating this applet's GUI.
        try {
            SwingUtilities.invokeAndWait(new Runnable() {
                public void run() {
                    createGUI();
                }
            });
        } catch (Exception e) { 
            System.err.println("createGUI didn't complete successfully");
        }
    }
    
    private void createGUI() {
        //Create and set up the content pane.
        DynamicTreePanel newContentPane = new DynamicTreePanel();
        newContentPane.setOpaque(true); 
        setContentPane(newContentPane);        
    }        
}

Преимущества Разделения Базовой Функциональности От Заключительного Механизма Развертывания

Другой способ создать апплет состоит в том, чтобы только удалить уровень абстракции (отдельная вершина JPanel) и разметьте все средства управления в апплете init метод непосредственно. Нижняя сторона к созданию GUI непосредственно в апплете - то, что теперь будет более трудно развернуть Вашу функциональность, поскольку Сеть Java Запускает приложение, если Вы хотите делать столь позже.

В Динамическом Древовидном Демонстрационном примере базовая функциональность находится в DynamicTreePanel class. Это теперь тривиально, чтобы отбросить DynamicTreePanel class в a JFrame и развернитесь, поскольку Сеть Java Запускает приложение.

Следовательно, чтобы сохранить мобильность и сохранить открытые опции развертывания, следуйте за компонентно-ориентированным проектом как описано на этой странице.

 

Загрузите исходный код для Динамического Древовидного Демонстрационного примера Апплета, чтобы экспериментировать далее.

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Среда выполнения Апплета
Следующая страница: Развертывание Апплета