Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
JavaFX.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
4.88 Mб
Скачать

3.5.3 Розгортання додатка

Netbeans за замовчанням генерує всі необхідні файли для різних видів розгортання. Знаходяться вони у директорії dist. Для запуску додатка в десктопному режимі достатньо запустити файл JavaFX3DCube.jar.

Рис. 3.37. 3-D куб, що обертається

Щоб розгорнути створений додаток на сервері, спершу потрібно створити цей самий сервер. Для цього створіть новий проект: в розділі Java Web оберіть Web Application. Назвіть його JavaFXServer. На етапі вибору сервера оберіть Glassfish 3. На етапі вибору фреймворку оберіть JavaServer Faces (рис. 3.38) і натисніть фініш. Вибір фреймворку не принциповий, потрібно буде лише перенести необхідні файли і підредагувати стандартну сторінку, яка генерується автоматично.

Рис. 3.38. Вибір фреймворку при створенні проекту

Якщо запустити створений проект, то запуститься локальний сервер на порту 8080 (за замовчанням) і відкриється браузер із сторінкою index.html яка виведе привітання. Саме в цю сторінку буде вбудований JavaFX додаток.

В середовищі розробки потрібно відкрити для редагування index.html, який знаходиться у розділі проекту «Web Pages». В нього потрібно вставити вміст JavaFX3DCube.html. В результаті index.html матиме вигляд:

<?xml version='1.0' encoding='UTF-8' ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"

xmlns:h="http://java.sun.com/jsf/html">

<h:head>

<title>Facelet Title</title>

<SCRIPT src="./web-files/dtjava.js"></SCRIPT>

<script>

function launchApplication(jnlpfile) {

dtjava.launch( {

url : 'JavaFX3DCube.jnlp',

jnlp_content :' … ' <!—- Long string here-->

},

{

javafx : '2.0+'

},

{}

);

return false;

}

</script>

<script>

function javafxEmbed() {

dtjava.embed(

{

url : 'JavaFX3DCube.jnlp',

placeholder : 'javafx-app-placeholder',

width : 320,

height : 200,

jnlp_content : ' … ' <!—- Long string here-->

},

{

javafx : '2.0+'

},

{}

);

}

<!-- Embed FX application into web page once page is loaded -->

dtjava.addOnloadCallback(javafxEmbed);

</script>

</h:head>

<h:body>

<h2>Test page for <b>JavaFX3DCube</b></h2>

<b>Webstart:</b> <a href='JavaFX3DCube.jnlp' onclick="return launchApplication('JavaFX3DCube.jnlp');">click to launch this app as webstart</a>

<!-- Applet will be inserted here -->

<div id='javafx-app-placeholder'></div>

</h:body>

</html>

Тепер потрібно перенести до файлу index.html весь вміст директорії dist JavaFX додатку (або зробити вищеописані зміни в директорії build/web додатка JavaFXServer). Після цього можна запускати сервер та дивитися на результат (рис. 3.39):

Рис. 3.39. Вбудований в сторінку JavaFX додаток

Якщо ж натиснути на посилання і тим самим запустити додаток в режимі webstart, то додаток запуститься у вікні, як при десктоп режимі (рис. 3.40):

Рис. 3.40. Webstart JavaFX додатку

Практичне завдання

  1. Додати до сцени ще два 3D куби різних кольорів з різними стилями обертання, які також реагують на кнопку старт-стоп.

  2. Зробити, щоб при запущеній анімації на кнопці було написано Stop, а при зупиненій — Start.

Контрольні питання

  1. Для чого була створена програма JavaFX Scene Builder?

  2. Що потрібно зробити, щоб використовувати 3-D можливості у JavaFX?

  3. Які способи розгортання JavaFX додатків існують?

  4. В чому полягає різниця між різними способами запуску JavaFX додатків?

  5. Що таке Deployment Toolkit API? Які функції він виконує?

  6. Якими способами можна підключити Deployment Toolkit API до HTML сторінки?