Erinevus lehekülje "ITI0011-2014:JavaFX" redaktsioonide vahel
60. rida: | 60. rida: | ||
} | } | ||
</source> | </source> | ||
+ | |||
+ | === Probleemid === | ||
+ | |||
+ | Sellise seadistusega võib teil tekkida "Access restriction" probleem. Erinevatel inimestel on erinev lahendus töötanud. Vaadake näiteks neid lahendusi: | ||
+ | * http://stackoverflow.com/questions/22812488/using-javafx-in-jre-8 | ||
+ | * https://bugs.eclipse.org/bugs/show_bug.cgi?id=431067 |
Redaktsioon: 28. oktoober 2014, kell 11:44
Lingid
Scene Builderi allalaadimine lehelt: http://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-info-2157684.html
Väga hea tutorial: http://code.makery.ch/java/javafx-8-tutorial-intro/
Sama tutorial Java 7 kohta: http://code.makery.ch/java/javafx-2-tutorial-intro/ (seda peaks kasutama siis, kui Java versioon 8-t pole võimalik kasutada. Scene Builder'i saab endiselt ülal mainitud lingilt - tuleb arvatavasti vanem versioon võtta)
Oracle'i enda tutorial JavaFX kohta: http://docs.oracle.com/javase/8/javase-clienttechnologies.htm
JavaFX kasutamine Java versioon 1.7-ga
TTÜ arvutiklassides on arvutitesse installeeritud Java versioon 1.7. Sellega vaikimisi JavaFX-i kaasas ei ole. Et kasutada JavaFX-i, tuleb teha järgmised sammud:
- kui projekt on loodud, siis projekti peal parem klikk - properties
- Java Build Path (seadete aknas vasakul valik)
- Libraries (tab)
- Add External JARs.. (nupp)
- otsite üles jfxrt.jar faili, mis tõenäoliselt asub java jrt (runtime) kataloogis, lib kausta all. Arvutiklassis näiteks: C:\Program Files\Java\jre7\lib\jfxrt.jar
Nüüd peaks JavaFX rakendus Java versiooniga 1.7 töötama.
Hello World
Lihtne "hello world" näide JavaFX-iga (saate testida, kas JavaFX sai seadistatud korrektselt). Testimiseks tehke uus Java projekt ja src kausta alla klass nimega HelloWorld ning kopeerige järgnev kood sellesse faili:
<source lang="java"> import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage;
public class HelloWorld extends Application {
public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { primaryStage.setTitle("Hello World!"); Button btn = new Button(); btn.setText("Say 'Hello World'"); btn.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { System.out.println("Hello World!"); } }); StackPane root = new StackPane(); root.getChildren().add(btn); primaryStage.setScene(new Scene(root, 300, 250)); primaryStage.show(); }
} </source>
Probleemid
Sellise seadistusega võib teil tekkida "Access restriction" probleem. Erinevatel inimestel on erinev lahendus töötanud. Vaadake näiteks neid lahendusi: