de:javafx
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:javafx [2018/12/22 13:31] – [ContextMenu] roehner | de:javafx [2023/02/25 20:07] (aktuell) – roehner | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
JavaFX wird ab Version 14.0 vom Java-Editor unterstützt. Die Entwicklung dieser neuen grafischen Benutzeroberfläche für den Java-Editor hat viele Monate in Anspruch genommen. Doch ich denke, dass sich die Arbeit insgesamt gelohnt hat. Man kann nun mit einer zeitgemäßen GUI-Bibliothek arbeiten, die auch mit CSS gestaltet werden kann. Das Erstellen einer GUI-Oberfläche wird für Programmieranfänger noch leichter gemacht, weil der Objekt-Inspektor standardmäßig nur die wichtigsten Attribute von GUI-Komponenten anzeigt. Dadurch können die GUI-Komponenten deutlich leichter konfiguriert werden. Außerdem stehen jetzt grafische Grundfiguren wie Kreis, Rechteck und Vieleck zur Verfügung, womit sich auch im Unterricht einfacher GUI-Anwendungen mit grafischen Objekten gestalten lassen. | JavaFX wird ab Version 14.0 vom Java-Editor unterstützt. Die Entwicklung dieser neuen grafischen Benutzeroberfläche für den Java-Editor hat viele Monate in Anspruch genommen. Doch ich denke, dass sich die Arbeit insgesamt gelohnt hat. Man kann nun mit einer zeitgemäßen GUI-Bibliothek arbeiten, die auch mit CSS gestaltet werden kann. Das Erstellen einer GUI-Oberfläche wird für Programmieranfänger noch leichter gemacht, weil der Objekt-Inspektor standardmäßig nur die wichtigsten Attribute von GUI-Komponenten anzeigt. Dadurch können die GUI-Komponenten deutlich leichter konfiguriert werden. Außerdem stehen jetzt grafische Grundfiguren wie Kreis, Rechteck und Vieleck zur Verfügung, womit sich auch im Unterricht einfacher GUI-Anwendungen mit grafischen Objekten gestalten lassen. | ||
- | Beachten | + | Ab dem JDK 11 ist JavaFX nicht mehr im JDK enthalten und muss zusätzlich installiert werden. |
+ | |||
+ | Eine Dokumentation von JavaFX kann über https://www.oracle.com/technetwork/ | ||
{{: | {{: | ||
+ | |||
+ | Beachten Sie bitte, dass Sie in der Konfiguration unter // | ||
Gerhard Röhner\\ | Gerhard Röhner\\ | ||
Zeile 16: | Zeile 20: | ||
Eine Label-Komponente kann außer Text auch ein Bild oder Beides darstellen. | Eine Label-Komponente kann außer Text auch ein Bild oder Beides darstellen. | ||
Um ein Bild darzustellen wählt man im Objekt-Inspektor beim Attribut //Graphic// die gewünschte Bilddatei aus. | Um ein Bild darzustellen wählt man im Objekt-Inspektor beim Attribut //Graphic// die gewünschte Bilddatei aus. | ||
- | Dabei wird die ausgewählte Bilddatei automatisch in den Ordner //images// kopiert.\\ | + | Dabei wird die ausgewählte Bilddatei automatisch in den Ordner //images// kopiert. |
Beispiel: {{: | Beispiel: {{: | ||
Zeile 30: | Zeile 34: | ||
{{: | {{: | ||
<code java> | <code java> | ||
- | \\ | ||
---- | ---- | ||
==== NumberField ==== | ==== NumberField ==== | ||
Zeile 45: | Zeile 48: | ||
<code java> | <code java> | ||
nfSumme.setDouble(Summe, | nfSumme.setDouble(Summe, | ||
- | \\ | ||
---- | ---- | ||
==== TextArea ==== | ==== TextArea ==== | ||
Zeile 58: | Zeile 60: | ||
<code java> | <code java> | ||
taAusgabe.appendText(" | taAusgabe.appendText(" | ||
- | \\ | ||
---- | ---- | ||
==== Button ==== | ==== Button ==== | ||
Zeile 82: | Zeile 83: | ||
{{: | {{: | ||
<code java> | <code java> | ||
- | \\ | ||
---- | ---- | ||
- | ==== RadioButton & ToggleGroup | + | ==== Buttongroup |
{{: | {{: | ||
- | RadioButtons bieten verschiedene Auswahlmöglichkeiten an, aus denen man eine Option auswählen kann.\\ | + | Eine Buttongroup gruppiert Radiobuttons oder Checkboxen. Setzen Sie das Attribut Checkboxes auf true, wenn Sie eine Gruppe von Checkboxen wünschen. Geben Sie Ihre Optionen mit dem Items-Attribut ein. |
- | Zur Gruppierung von RadioButtons muss man eine unsichtbare ToggleGroup-Komponente {{:de: | + | Für Radiobuttons fügt der Java-Editor diese Methode in den Quelltext ein: |
- | Den Namen dieser ToggleGroup-Komponenten gibt man bei jeder RadioButton-Komponente im Objekt-Inspektor beim Attribut // | + | |
- | Mit Hilfe der ToggleGroup kann man die ausgewählte Option ermitteln: | + | <code java> |
- | Beispiel: | + | Damit lässt sich dann ganz einfach die ausgewählte Option einer Buttongroup ermitteln. |
- | <code java>RadioButton gewählterRadioButton = (RadioButton) toggleGroup1.getSelectedToggle(); | + | <code java> |
- | String gewählt = gewählterRadioButton.getText(); </ | + | |
\\ | \\ | ||
---- | ---- | ||
Zeile 124: | Zeile 122: | ||
<code java> | <code java> | ||
int Zahl = Integer.parseInt(s);</ | int Zahl = Integer.parseInt(s);</ | ||
- | \\ | ||
---- | ---- | ||
==== ComboBox ==== | ==== ComboBox ==== | ||
Zeile 149: | Zeile 146: | ||
Um automatisch auf eine Eingabe oder Auswahl in einer ComboBox reagieren zu können, erstellt man im Objekt-Inspector eine Ereignismethode für //action//. | Um automatisch auf eine Eingabe oder Auswahl in einer ComboBox reagieren zu können, erstellt man im Objekt-Inspector eine Ereignismethode für //action//. | ||
- | \\ | ||
---- | ---- | ||
==== Spinner ==== | ==== Spinner ==== | ||
Zeile 158: | Zeile 154: | ||
Zur Laufzeit kann man mit der Methode getValue() den aktuellen Wert abfragen: | Zur Laufzeit kann man mit der Methode getValue() den aktuellen Wert abfragen: | ||
- | <code java> | + | <code java> |
- | \\ | + | |
+ | Um direkt auf Änderungen eines Spinners zu reagieren, benutzt man das // | ||
---- | ---- | ||
==== Canvas ==== | ==== Canvas ==== | ||
Zeile 190: | Zeile 187: | ||
Mit einer MenuBar-Komponente kann man eine Menüleiste erstellen. Die Menüleiste zeigt die Menüs (Menu-Komponenten) an, die ihr zugeordnet werden. | Mit einer MenuBar-Komponente kann man eine Menüleiste erstellen. Die Menüleiste zeigt die Menüs (Menu-Komponenten) an, die ihr zugeordnet werden. | ||
- | \\ | ||
---- | ---- | ||
==== Menu ==== | ==== Menu ==== | ||
Zeile 198: | Zeile 194: | ||
Für jeden Menübefehl erzeugt der Java-Editor eine zugehörige Ereignismethode. | Für jeden Menübefehl erzeugt der Java-Editor eine zugehörige Ereignismethode. | ||
- | \\ | ||
---- | ---- | ||
==== ContextMenu ==== | ==== ContextMenu ==== | ||
Zeile 216: | Zeile 211: | ||
Im Objekt-Inspektor gibt man unter // | Im Objekt-Inspektor gibt man unter // | ||
- | \\ | ||
---- | ---- | ||
==== SplitMenuButton ==== | ==== SplitMenuButton ==== | ||
Zeile 222: | Zeile 216: | ||
Im Objekt-Inspektor gibt man unter // | Im Objekt-Inspektor gibt man unter // | ||
- | \\ | ||
---- | ---- | ||
=====JavaFX Controls===== | =====JavaFX Controls===== | ||
Zeile 233: | Zeile 226: | ||
double value = slider1.getValue(); | double value = slider1.getValue(); | ||
</ | </ | ||
- | \\ | ||
---- | ---- | ||
==== ProgressBar==== | ==== ProgressBar==== | ||
Zeile 241: | Zeile 233: | ||
progressBar1.setProgress(0.3); | progressBar1.setProgress(0.3); | ||
</ | </ | ||
- | \\ | ||
---- | ---- | ||
==== ProgressIndicator==== | ==== ProgressIndicator==== | ||
Zeile 249: | Zeile 240: | ||
progressIndicator1.setProgress(0.75); | progressIndicator1.setProgress(0.75); | ||
</ | </ | ||
- | \\ | ||
---- | ---- | ||
==== ToolBar==== | ==== ToolBar==== | ||
Zeile 258: | Zeile 248: | ||
toolBar1.getItems().addAll(bNeu, | toolBar1.getItems().addAll(bNeu, | ||
</ | </ | ||
- | \\ | ||
---- | ---- | ||
==== Separator==== | ==== Separator==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== ToggleButton==== | ==== ToggleButton==== | ||
Zeile 270: | Zeile 258: | ||
if (toggleButton1.isSelected()) ... | if (toggleButton1.isSelected()) ... | ||
</ | </ | ||
- | \\ | ||
---- | ---- | ||
==== PasswordField==== | ==== PasswordField==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== ChoiceBox==== | ==== ChoiceBox==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== Hyperlink==== | ==== Hyperlink==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== HTMLEditor==== | ==== HTMLEditor==== | ||
Zeile 291: | Zeile 275: | ||
String s = hTMLEditor1.getHtmlText(); | String s = hTMLEditor1.getHtmlText(); | ||
</ | </ | ||
- | \\ | ||
---- | ---- | ||
==== WebView==== | ==== WebView==== | ||
{{: | {{: | ||
Eine WebView-Komponente kann die Webseite zu einer Internetadresse anzeigen. Im Attribut //URL// des Objekt-Inspektors gibt man die Internetadresse mit Protokoll an, z.B. http:// | Eine WebView-Komponente kann die Webseite zu einer Internetadresse anzeigen. Im Attribut //URL// des Objekt-Inspektors gibt man die Internetadresse mit Protokoll an, z.B. http:// | ||
- | \\ | ||
---- | ---- | ||
==== ColorPicker==== | ==== ColorPicker==== | ||
- | {{: | + | {{: |
Mit einer ColorPicker-Komponente kann man eine Farbe auswählen. | Mit einer ColorPicker-Komponente kann man eine Farbe auswählen. | ||
Zeile 305: | Zeile 287: | ||
Color c = colorPicker1.getValue(); | Color c = colorPicker1.getValue(); | ||
</ | </ | ||
- | \\ | ||
---- | ---- | ||
==== DatePicker==== | ==== DatePicker==== | ||
Zeile 314: | Zeile 295: | ||
LocalDate d = datePicker1.getValue(); | LocalDate d = datePicker1.getValue(); | ||
</ | </ | ||
- | \\ | ||
---- | ---- | ||
==== Pagination==== | ==== Pagination==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== FileChooser==== | ==== FileChooser==== | ||
Zeile 336: | Zeile 315: | ||
File f = fileChooser1_openFile(); | File f = fileChooser1_openFile(); | ||
</ | </ | ||
- | \\ | ||
---- | ---- | ||
==== FileChooser==== | ==== FileChooser==== | ||
Zeile 354: | Zeile 332: | ||
File f = fileChooser1_saveFile(); | File f = fileChooser1_saveFile(); | ||
</ | </ | ||
- | \\ | ||
---- | ---- | ||
==== DirectoryChooser==== | ==== DirectoryChooser==== | ||
Zeile 372: | Zeile 349: | ||
File d = directoryChooser1_openDirectory(); | File d = directoryChooser1_openDirectory(); | ||
</ | </ | ||
- | \\ | ||
---- | ---- | ||
==== ImageView==== | ==== ImageView==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== MediaView==== | ==== MediaView==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== TableView==== | ==== TableView==== | ||
Zeile 387: | Zeile 361: | ||
Im Attribut // | Im Attribut // | ||
Im Attribut // | Im Attribut // | ||
- | \\ | ||
---- | ---- | ||
=====JavaFX Shapes===== | =====JavaFX Shapes===== | ||
Zeile 404: | Zeile 377: | ||
} | } | ||
</ | </ | ||
- | \\ | ||
---- | ---- | ||
==== Rectangle ==== | ==== Rectangle ==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== Ellipse ==== | ==== Ellipse ==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== Polygon==== | ==== Polygon==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== Polyline==== | ==== Polyline==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== Arc ==== | ==== Arc ==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== Line ==== | ==== Line ==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== Text ==== | ==== Text ==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== QuadCurve ==== | ==== QuadCurve ==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== CubicCurve ==== | ==== CubicCurve ==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
==== SVGPath==== | ==== SVGPath==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- |
de/javafx.1545481869.txt.gz · Zuletzt geändert: 2018/12/22 13:31 von roehner