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

Разработка Перемещаемых Апплетов

Апплет Java, который развертывается, определяя draggable параметр может быть перетащен за пределами браузера и динамически преобразован в Сеть Java, Запускают приложение. Апплет Java может быть перетащен, нажимая клавишу Alt и левую кнопку мыши и перетаскивая мышь. Когда перетащить работа начинается, апплет удаляется из его родительского контейнера (Applet или JApplet) и помещенный в новое неукрашенное высокоуровневое окно (Frame или JFrame). Маленькая плавающая кнопка Close выводится на экран рядом с перетащенным апплетом. Когда плавающая кнопка Close нажимается, апплет помещается назад в браузере. Апплеты Java, которые могут быть перетащены из браузера, должны впредь упоминаться как перемещаемые апплеты.

Можно настроить поведение перемещаемого апплета следующими способами:

Следующие разделы описывают, как реализовать и настроить перемещаемый апплет. MenuChooserApplet class используется, чтобы демонстрировать разработку и развертывание перемещаемых апплетов. Открытый AppletPage.html в браузере, чтобы просмотреть апплет Селектора Меню на новой странице.


Отметьте:  

Если Вы не видите, что апплет работает, Вы должны установить, по крайней мере, Java Комплект разработчика SE (JDK) 6 обновлений 10 выпусков.



Отметьте:  

Если Вы не видите, что пример работает, Вы, возможно, должны были бы включить интерпретатору JavaScript в своем браузере так, чтобы сценарий Инструментария Развертывания мог функционировать должным образом.


Включение Возможности Перетащить Апплет

Можно включить возможности перетащить апплет, устанавливая draggable параметр к true развертывая апплет, как показано в следующем фрагменте кода:

<script src="http://www.java.com/js/deployJava.js"></script>
<script>
    var attributes = { code:'MenuChooserApplet', width:900, height:300 };
    var parameters = {jnlp_href: 'draggableapplet.jnlp', draggable: 'true'} ;
    deployJava.runApplet(attributes, parameters, '1.6');
</script>

Изменение Последовательности Нажатия клавиши и Кнопки мыши, Которая Используется, чтобы Перетащить Апплет

Можно изменить нажатие клавиши и последовательность кнопки мыши, которая используется, чтобы перетащить апплет, реализовывая isAppletDragStart метод. В следующем фрагменте кода апплет может быть перетащен, нажимая левую кнопку мыши и перетаскивая мышь:

 public boolean isAppletDragStart(MouseEvent e) {
        if(e.getID() == MouseEvent.MOUSE_DRAGGED) {
            return true;
        } else {
            return false;
        }
    }

Включение Добавлению Настольного Ярлыка, Когда Апплет Разъединяется От Браузера

Если пользователь закрывает окно браузера или перемещается далеко от страницы после перетаскивания апплета за пределами страницы, апплет, как говорят, разъединяется от браузера. Можно создать настольный ярлык для апплета, когда апплет разъединяется от браузера. Настольный ярлык может использоваться, чтобы запустить приложение за пределами браузера. Чтобы включить созданию настольного ярлыка, добавьте offline-allowed и shortcut теги к Протоколу Запуска Сети Java апплета (JNLP) файл.

<information>
    <!-- ... -->
    <offline-allowed />
    <shortcut online="false">
        <desktop />
    </shortcut>
</information>

Отметьте: В зависимости от установки для Создания Ярлыка в Панели управления Java пользователя пользователь мог бы быть запрошен подтверждение прежде, чем ярлык будет создан.

Определение, Как Апплет Должен быть Закрыт

Можно определить, как Ваш апплет может быть закрыт. Например, у Вашего апплета Swing мог быть a JButton закрыть апплет вместо того, чтобы положиться на значение по умолчанию, пускающее в ход кнопку Close.

Программное обеспечение Плагина Java приводит апплету пример ActionListener class. Этот экземпляр ActionListener class, также называемый близким слушателем, может использоваться, чтобы изменить значение по умолчанию близкое поведение апплета.

Определить, как апплет должен быть закрыт, реализация setAppletCloseListener и appletRestored методы в Вашем апплете.

В следующем фрагменте кода, MenuChooserApplet class принимает близкого слушателя и передает это на экземпляр MenuItemChooser class:

MenuItemChooser display = null;
// ...
display = new MenuItemChooser();
// ...
public void setAppletCloseListener(ActionListener cl) {
    display.setCloseListener(cl);
}

public void appletRestored() {
    display.setCloseListener(null);
}

MenuItemChooser class ответственен за управление пользовательским интерфейсом апплета. MenuItemChooser class определяет a JButton маркированный "Близко". Следующий код выполняется, когда пользователь нажимает эту кнопку Close:

private void close() {
    // invoke actionPerformed of closeListener received
    // from the Java Plug-in software.
    if (closeListener != null) {
        closeListener.actionPerformed(null);
    }
}

Запрос и Настройка Художественного оформления Апплета

Начинаясь в Java SE 7 выпусков, развертывая апплет, можно определить, что окно перетащенного апплета должно быть украшено значением по умолчанию или специализированным окном title.

Чтобы включить художественному оформлению окна перетащенного апплета, определите java_decorated_frame параметр со значением "true". Чтобы включить специализированному окну title, определите java_applet_title параметр также. Значение этого параметра должно быть текстом окна title.

<script src="http://www.java.com/js/deployJava.js"></script>
<script>
    var attributes =
      { code:'SomeDraggableApplet', width:100, height:100 };
    var parameters =
      {jnlp_href: 'somedraggableapplet.jnlp', 
          java_decorated_frame: 'true',
          java_applet_title: 'A Custom Title'   
      };
    deployJava.runApplet(attributes, parameters, '1.7');
</script>

java_decorated_frame и java_applet_title параметры могут также быть определены в файле апплета JNLP как показано в следующем фрагменте кода:

<applet-desc main-class="SayHello" name="main test" height="150" width="300">
    <param name="java_decorated_frame" value="true" />
    <param name="java_applet_title" value="" />
</applet-desc>

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


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

Предыдущая страница: Запись Диагностики к Стандартному выводу и Потокам сообщений об ошибках
Следующая страница: Передача С Другими Апплетами