Java: JavaFX: Unterschied zwischen den Versionen
Flinh1 (Diskussion | Beiträge) (→Troubeshooting) |
Flinh1 (Diskussion | Beiträge) (→In IntelliJ Idea) |
||
Zeile 23: | Zeile 23: | ||
=== In IntelliJ Idea === | === In IntelliJ Idea === | ||
− | 1. ''File -> Project Structure > Modules > Dependencies'' > (ganz rechts Plus-Zeichen klicken) > ''Jars or Directories'' | + | 1. ''File -> Project Structure > Libraries'' > (Plus-Zeichen klicken) |
+ | <!--''File -> Project Structure > Modules > Dependencies'' > (ganz rechts Plus-Zeichen klicken) > ''Jars or Directories''--> | ||
− | Hier den ''lib'' Ordner des entpackten JavaFX einbinden. | + | > Hier den ''lib'' Ordner des entpackten JavaFX einbinden. |
− | 2. In ''Edit Configurations'' VM Options eintragen: | + | 2. In ''Run > Edit Configurations'' VM Options eintragen: |
Linux/MAC: | Linux/MAC: |
Version vom 20. Februar 2021, 15:22 Uhr
Inhaltsverzeichnis
Allgemeines
Installation
Download von https://gluonhq.com/products/javafx/
zip-Paket entpacken, Laufwerk oder Ordner beliebig
In IntelliJ Idea
1. File -> Project Structure > Libraries > (Plus-Zeichen klicken)
> Hier den lib Ordner des entpackten JavaFX einbinden.
2. In Run > Edit Configurations VM Options eintragen:
Linux/MAC:
--module-path /path/to/javafx-sdk-15.0.1/lib --add-modules javafx.controls,javafx.fxml
(Padangabe anpassen)
Windows:
--module-path "\path\to\javafx-sdk-15.0.1\lib" --add-modules javafx.controls,javafx.fxml
(Pfadangabe anpassen)
Troubeshooting
Error: JavaFX runtime components are missing, and are required to run this application
> Prüfen, ob in Run > Run Configuration > VM Options
der Pfad zum lib-Verzeichnis von JavaFX richtig gesetzt ist (ggf. das Eingabefeld vorher mit Modify options öffnen).[1]
module javafx.base not found
> Pfad in VM Options' enthält keinen Verweis auf javafx.base
Scene Builder
Beim ersten Aufruf der fxml-Datei Download ausführen.
Grundstruktur
Imports
import javafx.application.Application; import javafx.application.Platform; import javafx.event.Event; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage;
Beispiel
public class ErstesBeispiel extends Application { @Override public void init() { System.out.println("init"); } @Override public void start(Stage stage) { System.out.println("start"); StackPane pane = new StackPane(); Button button = new Button(); button.setText("Hier klicken"); button.setOnAction(e -> Platform.exit()); pane.getChildren().add(button); stage.setScene(new Scene(pane, 400, 100)); stage.setOnCloseRequest(Event::consume); stage.setTitle("Erstes Beispiel"); stage.setResizable(false); stage.show(); } 456 28 Einführung in JavaFX @Override public void stop() { System.out.println("stop"); } public static void main(String[] args) { launch(args); } }
Abts, Dietmar: Grundkurs Java, 11. Auflage 2020
Aufbau
Eine JavaFX-Applikation durchläuft drei Methoden: init – start – stop. init muss implementiert werden.
Stage stellt den Rahmen für die Applikation dar.
Scene ist der Container für die Inhalte.
Ein Pane ist ein Brett, auf dem Elemente angeordnet werden können.[2]
Links und Quellen
- https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX
- https://openjfx.io/javadoc/15/javafx.fxml/javafx/fxml/doc-files/introduction_to_fxml.html
- https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/GridPane.html
- https://docs.oracle.com/javase/8/scene-builder-2/get-started-tutorial/jfxsb-get_started.htm#JSBGS101
- https://gluonhq.com/products/javafx/ Download
| |