de:javafx
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:javafx [2017/07/18 14:32] – [MediaView] roehner | de:javafx [2023/02/25 20:07] (aktuell) – roehner | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
=====JavaFX===== | =====JavaFX===== | ||
- | JavaFX wird ab 22.02.2017 vom Java-Editor unterstützt. Die Entwicklung dieser neuen grafischen Benutzeroberfläche für den Java-Editor hat viele Monate in Anspruch genommen. | + | 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. | + | Ab dem JDK 11 ist JavaFX nicht mehr im JDK enthalten und muss zusätzlich installiert werden. Sie können |
- | Beachten Sie bitte, dass Sie in der Konfiguration unter //Sichtbarkeit// einstellen können, welche Registerkarten angezeigt | + | Eine Dokumentation von JavaFX kann über https://www.oracle.com/technetwork/java/ |
{{: | {{: | ||
+ | |||
+ | Beachten Sie bitte, dass Sie in der Konfiguration unter // | ||
Gerhard Röhner\\ | Gerhard Röhner\\ | ||
Zeile 18: | 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 32: | Zeile 34: | ||
{{: | {{: | ||
<code java> | <code java> | ||
- | \\ | ||
---- | ---- | ||
- | |||
==== NumberField ==== | ==== NumberField ==== | ||
{{: | {{: | ||
Zeile 48: | Zeile 48: | ||
<code java> | <code java> | ||
nfSumme.setDouble(Summe, | nfSumme.setDouble(Summe, | ||
- | \\ | ||
---- | ---- | ||
==== TextArea ==== | ==== TextArea ==== | ||
Zeile 61: | Zeile 60: | ||
<code java> | <code java> | ||
taAusgabe.appendText(" | taAusgabe.appendText(" | ||
- | \\ | ||
---- | ---- | ||
==== Button ==== | ==== Button ==== | ||
- | {{:de:Jbuttonicon.png}} | + | {{:de:jbuttonicon.png}} |
Klickt man in einem GUI-Formular eine Button-Komponente an so wird die zum Button gehörende Ereignismethode ausgeführt. | Klickt man in einem GUI-Formular eine Button-Komponente an so wird die zum Button gehörende Ereignismethode ausgeführt. | ||
- | Jede Button-Komponente erhält automatisch eine Ereignismethode für das Ereignis, das beim Anklicken | + | Jede Button-Komponente erhält automatisch eine Ereignismethode für das Anklicken |
Beispiel: | Beispiel: | ||
Zeile 79: | Zeile 76: | ||
Gibt man im Objekt-Inspektor im Attribut //Text// die Beschriftung eines Buttons ein, so wird automatisch ein passender Name für den Button erzeugt. | Gibt man im Objekt-Inspektor im Attribut //Text// die Beschriftung eines Buttons ein, so wird automatisch ein passender Name für den Button erzeugt. | ||
---- | ---- | ||
- | |||
==== CheckBox ==== | ==== CheckBox ==== | ||
{{: | {{: | ||
Zeile 87: | Zeile 83: | ||
{{: | {{: | ||
<code java> | <code java> | ||
- | \\ | ||
- | \\ | ||
---- | ---- | ||
- | + | ==== Buttongroup | |
- | ==== RadioButton & ToggleGroup | + | |
{{: | {{: | ||
- | 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(); </ | + | |
\\ | \\ | ||
---- | ---- | ||
- | |||
==== ListView ==== | ==== ListView ==== | ||
{{: | {{: | ||
Zeile 132: | Zeile 122: | ||
<code java> | <code java> | ||
int Zahl = Integer.parseInt(s);</ | int Zahl = Integer.parseInt(s);</ | ||
- | \\ | ||
---- | ---- | ||
==== ComboBox ==== | ==== ComboBox ==== | ||
Zeile 157: | 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 167: | 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 189: | Zeile 172: | ||
<code java> | <code java> | ||
- | \\ | ||
---- | ---- | ||
- | |||
==== Turtle ==== | ==== Turtle ==== | ||
- | |||
{{: | {{: | ||
Zeile 202: | Zeile 182: | ||
Beispiel: | Beispiel: | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
- | |||
==== MenuBar ==== | ==== MenuBar ==== | ||
{{: | {{: | ||
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 218: | 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 233: | Zeile 206: | ||
{{: | {{: | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
- | |||
==== MenuButton ==== | ==== MenuButton ==== | ||
{{: | {{: | ||
Im Objekt-Inspektor gibt man unter // | Im Objekt-Inspektor gibt man unter // | ||
- | |||
- | \\ | ||
---- | ---- | ||
==== SplitMenuButton ==== | ==== SplitMenuButton ==== | ||
Zeile 249: | Zeile 216: | ||
Im Objekt-Inspektor gibt man unter // | Im Objekt-Inspektor gibt man unter // | ||
- | |||
- | \\ | ||
---- | ---- | ||
=====JavaFX Controls===== | =====JavaFX Controls===== | ||
Zeile 261: | Zeile 226: | ||
double value = slider1.getValue(); | double value = slider1.getValue(); | ||
</ | </ | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== ProgressBar==== | ==== ProgressBar==== | ||
{{: | {{: | ||
Zeile 271: | Zeile 233: | ||
progressBar1.setProgress(0.3); | progressBar1.setProgress(0.3); | ||
</ | </ | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== ProgressIndicator==== | ==== ProgressIndicator==== | ||
{{: | {{: | ||
Zeile 281: | Zeile 240: | ||
progressIndicator1.setProgress(0.75); | progressIndicator1.setProgress(0.75); | ||
</ | </ | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== ToolBar==== | ==== ToolBar==== | ||
{{: | {{: | ||
Zeile 292: | Zeile 248: | ||
toolBar1.getItems().addAll(bNeu, | toolBar1.getItems().addAll(bNeu, | ||
</ | </ | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== Separator==== | ==== Separator==== | ||
{{: | {{: | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== ToggleButton==== | ==== ToggleButton==== | ||
{{: | {{: | ||
Zeile 308: | Zeile 258: | ||
if (toggleButton1.isSelected()) ... | if (toggleButton1.isSelected()) ... | ||
</ | </ | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== PasswordField==== | ==== PasswordField==== | ||
{{: | {{: | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== ChoiceBox==== | ==== ChoiceBox==== | ||
{{: | {{: | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== Hyperlink==== | ==== Hyperlink==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
- | |||
==== HTMLEditor==== | ==== HTMLEditor==== | ||
{{: | {{: | ||
Zeile 336: | 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 353: | Zeile 287: | ||
Color c = colorPicker1.getValue(); | Color c = colorPicker1.getValue(); | ||
</ | </ | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== DatePicker==== | ==== DatePicker==== | ||
{{: | {{: | ||
Zeile 364: | Zeile 295: | ||
LocalDate d = datePicker1.getValue(); | LocalDate d = datePicker1.getValue(); | ||
</ | </ | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== Pagination==== | ==== Pagination==== | ||
{{: | {{: | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== FileChooser==== | ==== FileChooser==== | ||
{{: | {{: | ||
Zeile 390: | Zeile 315: | ||
File f = fileChooser1_openFile(); | File f = fileChooser1_openFile(); | ||
</ | </ | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== FileChooser==== | ==== FileChooser==== | ||
{{: | {{: | ||
Zeile 410: | Zeile 332: | ||
File f = fileChooser1_saveFile(); | File f = fileChooser1_saveFile(); | ||
</ | </ | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== DirectoryChooser==== | ==== DirectoryChooser==== | ||
{{: | {{: | ||
Zeile 430: | Zeile 349: | ||
File d = directoryChooser1_openDirectory(); | File d = directoryChooser1_openDirectory(); | ||
</ | </ | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== ImageView==== | ==== ImageView==== | ||
{{: | {{: | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== MediaView==== | ==== MediaView==== | ||
{{: | {{: | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== TableView==== | ==== TableView==== | ||
{{: | {{: | ||
Zeile 451: | Zeile 361: | ||
Im Attribut // | Im Attribut // | ||
Im Attribut // | Im Attribut // | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
- | |||
- | |||
- | |||
- | |||
=====JavaFX Shapes===== | =====JavaFX Shapes===== | ||
Zeile 474: | Zeile 377: | ||
} | } | ||
</ | </ | ||
- | |||
- | \\ | ||
---- | ---- | ||
==== Rectangle ==== | ==== Rectangle ==== | ||
{{: | {{: | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== Ellipse ==== | ==== Ellipse ==== | ||
{{: | {{: | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== Polygon==== | ==== Polygon==== | ||
{{: | {{: | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
- | |||
==== Polyline==== | ==== Polyline==== | ||
{{: | {{: | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== Arc ==== | ==== Arc ==== | ||
{{: | {{: | ||
- | |||
- | \\ | ||
---- | ---- | ||
- | |||
==== Line ==== | ==== Line ==== | ||
{{: | {{: | ||
- | \\ | ||
---- | ---- | ||
- | |||
==== Text ==== | ==== Text ==== | ||
{{: | {{: | ||
- | \\ | + | ---- |
+ | ==== QuadCurve ==== | ||
+ | {{: | ||
+ | ---- | ||
+ | ==== CubicCurve ==== | ||
+ | {{: | ||
+ | ---- | ||
+ | ==== SVGPath==== | ||
+ | {{: | ||
---- | ---- |
de/javafx.1500381139.txt.gz · Zuletzt geändert: 2017/07/18 14:32 (Externe Bearbeitung)