Run JavaFX Application
Материал из JavaFX
Главная | Описание языка | API | Примеры | Инструменты Разработки | Новости | Ресурсы | Вопросы и ответы | Форум
Содержание
|
[править] Как запустить JavaFX программу
Существует разные способы запуска программы, написанной на языке JavaFX
[править] Использование скриптового файла javafx
Если у вас на диск установлен язык JavaFX с сайта [openjfx.dev.java.net] тогда вы можете запустить программу следующей командой:
Windows
<path-to-openjfx>\trunk\bin\javafx.bat <path-to-javafx-file>\Example.fx
Unix
<path-to-openjfx>/trunk/bin/javafx.sh <path-to-javafx-file>/Example.fx
Более подробно смотри JavaFX первые шаги
[править] Запуск из коммандной строки с использованием Java
Сначала надо добавить в переменную CLASSPATH пути к библиотекам, необходимым для JavaFX ( javafxrt.jar, Filters.jar, swing-layout.jar )
Windows:
set JFX_LIB= <path-to-openjfx>\trunk\lib set CLASSPATH=%CLASSPATH%;%JFX_LIB%\javafxrt.jar;%JFX_LIB%\swing-layout.jar;%JFX_LIB%\Filters.jar
Теперь надо запускать java, передавая в качестве основного класса класс net.java.javafx.FXShell, а в качестве следующего параметра JavaFX файл:
java net.java.javafx.FXShell Example.fx
[править] Запуск из Java программы с использованием FXShell
Самый простой способ запустить JavaFX программу из программы, написанной на Java, это использование класса net.java.javafx.FXShell
Пример
public class Main {
public static void main(String[] args) {
try{
net.java.javafx.FXShell.main(new String[]{"JavaFXExample"});
} catch (Exception e){
e.printStackTrace(); // handle the exception
}
}
}
Для этого в CLASSPATH надо добавить как и библитотеки, необходимые для JavaFX ( javafxrt.jar, Filters.jar, swing-layout.jar ), так и JavaFX файл, который надо запустить ( JavaFXExample.fx )
[править] Совместное использование JavaFX и Java
Чтобы создавать GUI на JavaFX и использовать его в Java программе, можно использовать Java Scripting API
В данном примере рассматривается FXPanel файл который использует myFrame переменную типа main.MyFrame (класс MyFrame описан ниже) чтобы вызвать его метод. FX класс также возвращает JComponent, который мы будем использовать в Java классе.
package main;
import javafx.ui.*;
var panel = FlowPanel{
content: Button {
text: "Press Me"
action: operation(){
(myFrame:<<main.MyFrame>>).buttonPressed();
}
}
};
return panel.getComponent();
В классе MyFrame, мы с помощью классов ScriptEngineManager и ScriptEngine создаем FX класс,
получаем из него JComponent и кладем JComponent на наше окошко. Теперь при нажатии на кнопку,
вызывается метод, определенный в нашем Java классе.
package main;
import javax.swing.JFrame;
import javax.swing.JComponent;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import java.io.InputStreamReader;
public class MyFrame extends JFrame {
public MyFrame() throws Exception {
setTitle("Example Frame");
setSize(300, 100);
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByExtension("fx");
engine.put("myFrame:main.MyFrame", this);
InputStreamReader reader = new InputStreamReader(MyFrame.class.getResourceAsStream("FXPanel.fx"));
JComponent myPanel = (JComponent) engine.eval(reader);
getContentPane().add(myPanel);
}
public void buttonPressed() {
System.out.println("Button is pressed!");
}
}
Чтобы запустить этот пример, нужна JDK 1.6 и надо иметь в CLASSPATH библиотеки JavaFX (javafxrt.jar, Filters.jar, swing-layout.jar). Оба файла ( FXPanel.fx и MyFrame.java ) надо положить в пакет main.
[править] Использование интегрированных сред разработки (IDE)
[править] NetBeans
Смотри:
- Сайт проекта
- С чего начать ?
- Netbeans Plugin FAQ
- Создание исполняемого файла
- NetBeans IDE 6.0 Beta1 - Download and Installation Instructions
[править] Eclipse
Смотри:
- JavaFX Script Plugin for the Eclipse SDK - Download and Installation Instructions
[править] JFXBuilder
Смотри:
[править] Вопросы и ответы
Задайте интересующий вас вопрос на Форуме или на странице Вопросы и Ответы.
