JavaFX Tab auswählen mit JavaFX

MaggyMo

Aktives Mitglied
Guten Abend,
ich erstelle im Moment ein Java-Projekt und das zum ersten Mal mit JavaFX und habe leider noch ein paar Probleme.

Frage1:
In meinem Projekt gibt es eine Startseite mit zwei Buttons mit der Aufschrift "Tab1" und "Tab2". Je nachdem auf welchen Button man klickt, soll auf der danach folgenden Hauptseite das dementsprechende Tab ausgewählt sein. Das mit dem ersten Tab klappt, da dieses standardmäßig ausgewählt ist. Bei dem Button "Tab2" habe ich so meine Probleme. Weiß jemand, wie ich das lösen kann?

Frage2:
In diesem sogenannten zweiten Tab soll es eine Art Quiz geben. Dazu gibt es ein Label und darunter mehrere Buttons. Das Label stellt die Frage da und die Buttons die möglichen Antwortmöglichkeiten. Die nötigen Informationen dazu lese ich aus einer Textdatei aus. Ich habe eine Klasse Frage mit einer ArrayList von Strings , die als Antwortmöglichkeiten dienen. Leider schaffe ich es nicht, aus der Controller Klasse auf diese Liste zuzugreifen. Die Liste befindet sich in der Klasse Main. Ich habe es bereits mit einer Observer List versucht, aber irgendwie will das einfach nicht bei mir klappen, weil ich absolut nicht weiß, wie ich an diese Liste komme.


Liebe Grüße:)
 

lam_tr

Top Contributor
Frage 1:
du kannst doch über tabPane.getSelectionModel().select(index) das gewünschte Tab selektieren.
Code:
button1.setOnMouseClicked(e-> tabPane.getSelectionModel().select(0));

button2.setOnMouseClicked(e-> tabPane.getSelectionModel().select(1));

Frage 2:
wieso packst du die Liste der Fragen nicht in die TabPane oder liest sie von dort aus? Ansonsten würde ich über Dependency Injection die Liste holen
Hier: https://github.com/google/guice/wiki/GettingStarted
 

MaggyMo

Aktives Mitglied
Frage 1:
du kannst doch über tabPane.getSelectionModel().select(index) das gewünschte Tab selektieren.
Code:
button1.setOnMouseClicked(e-> tabPane.getSelectionModel().select(0));

button2.setOnMouseClicked(e-> tabPane.getSelectionModel().select(1));

Frage 2:
wieso packst du die Liste der Fragen nicht in die TabPane oder liest sie von dort aus? Ansonsten würde ich über Dependency Injection die Liste holen
Hier: https://github.com/google/guice/wiki/GettingStarted
Was meinst du denn mit dem "e->"? Ich bin leider noch Anfänger.
Bzw. wie komme ich denn an die TabPane aus einem anderen Controller?
 
Zuletzt bearbeitet:

MaggyMo

Aktives Mitglied
Das ist ein Lambda-Ausdruck. Der meint das genau so, wie es da steht :)
Danke, das bringt mich schonmal um einiges weiter :) Ich dachte das wäre so eine Art Platzhalter für irgendwas.
Wie kann ich denn von einer Controller Klasse auf eine andere zugreifen? Weil ich komme in der aktuellen Klasse nicht an den/die tabPane ran. Mit getter und Setter hat es leider nicht geklappt.
 

mihe7

Top Contributor
Ich dachte das wäre so eine Art Platzhalter für irgendwas.
Nein, ein Lambda ist eine anonyme Funktion. Wenn Java irgendwo ein Interface erwartet, das die Implementierung von nur einer(!) Methode verlangt, dann muss man nicht eine anonyme Klasse schreiben, sondern kann ein Lambda verwenden.

Zum Beispiel würde man den ActionListener von Swing so als anonyme Klasse implementieren:
Java:
button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent event) {
        System.out.println("Klick");
    }
});
Mit einem Lambda geht das schön kurz:
Java:
button.addActionListener(event -> System.out.println("Klick"));

Wie kann ich denn von einer Controller Klasse auf eine andere zugreifen? Weil ich komme in der aktuellen Klasse nicht an den/die tabPane ran. Mit getter und Setter hat es leider nicht geklappt.
Für JavaFX bin ich der falsche Ansprechpartner. Warum willst Du überhaupt von einem Controller auf einen anderen zugreifen? Wir hatten hier mal einen schönen MVC-Thread zum Thema.
 

MaggyMo

Aktives Mitglied
Nein, ein Lambda ist eine anonyme Funktion. Wenn Java irgendwo ein Interface erwartet, das die Implementierung von nur einer(!) Methode verlangt, dann muss man nicht eine anonyme Klasse schreiben, sondern kann ein Lambda verwenden.

Zum Beispiel würde man den ActionListener von Swing so als anonyme Klasse implementieren:
Java:
button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent event) {
        System.out.println("Klick");
    }
});
Mit einem Lambda geht das schön kurz:
Java:
button.addActionListener(event -> System.out.println("Klick"));


Für JavaFX bin ich der falsche Ansprechpartner. Warum willst Du überhaupt von einem Controller auf einen anderen zugreifen? Wir hatten hier mal einen schönen MVC-Thread zum Thema.
Ahh, jetzt macht dieses "e->" Sinn, Danke !
Ich habe eine Art Startseite programmiert, auf der sich mehrere Buttons befinden. Klickt man auf einen dieser Button, wird die Startseite geschlossen und ein anderes Fenster öffnet sich. Dieses Fenster besitzt mehrere Tabs. Je nachdem welcher Button zuvor gedrückt wurde, soll das dementsprechende Tab vorausgewählt sein.
 

lam_tr

Top Contributor
Ahh, jetzt macht dieses "e->" Sinn, Danke !
Ich habe eine Art Startseite programmiert, auf der sich mehrere Buttons befinden. Klickt man auf einen dieser Button, wird die Startseite geschlossen und ein anderes Fenster öffnet sich. Dieses Fenster besitzt mehrere Tabs. Je nachdem welcher Button zuvor gedrückt wurde, soll das dementsprechende Tab vorausgewählt sein.

Ich würde da EventBus benutzen, entweder Google Guava oder GreenRobot Eventbus. Wobei von GreenRobot ist es lightweight und wird sehr oft für Android benutzt.

Ansonsten kannst du auch direkt über den Selection Change TabPane#getSelectionModel#selectedItemProperty machen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B JavaFX JavaFX Table gespeichertes Wert auswählen/anvisieren AWT, Swing, JavaFX & SWT 3
G Linie mit der Maus auswählen AWT, Swing, JavaFX & SWT 5
L ComboBox Wert automatisch auswählen AWT, Swing, JavaFX & SWT 6
D JButton per Tastenkombi auswählen AWT, Swing, JavaFX & SWT 2
C JComboBox Objecte übergeben und Eintrag auswählen AWT, Swing, JavaFX & SWT 3
domjos1994 JavaFX Element auswählen auf dem der Cursor ist AWT, Swing, JavaFX & SWT 1
S Pfad für Speichervorgang auswählen AWT, Swing, JavaFX & SWT 11
E JavaFX TableView mit Rechtsklick Zelle auswählen AWT, Swing, JavaFX & SWT 8
W Bei Programmstart jRadioButton automatisch auswählen AWT, Swing, JavaFX & SWT 2
A Swing per JComboBox gewünschtes Attribut auswählen und Komponenten passen sich an AWT, Swing, JavaFX & SWT 7
T JTree - Elemente mit Doppelklick auswählen AWT, Swing, JavaFX & SWT 6
H Swing Element aus JComboBox auswählen AWT, Swing, JavaFX & SWT 2
S Swing Ordner im JFileChooser auswählen AWT, Swing, JavaFX & SWT 2
N Speicherpfad für Datei auswählen AWT, Swing, JavaFX & SWT 2
F Swing ArrayList in JList anzeigen und Objekte auswählen AWT, Swing, JavaFX & SWT 2
P Swing RadioButtons - nur einen auswählen AWT, Swing, JavaFX & SWT 3
propra Auf einem JPanel gezeichnete Linie auswählen AWT, Swing, JavaFX & SWT 3
M gleiches Element in JList mehrmals hintereinander auswählen AWT, Swing, JavaFX & SWT 6
Dit_ JTextField | Text auswählen und Caret setzen AWT, Swing, JavaFX & SWT 7
H Swing jTable Zeitspanne auswählen AWT, Swing, JavaFX & SWT 3
Landei Swing JTree - Element mit Doppelklick auswählen AWT, Swing, JavaFX & SWT 4
M FileChooser Bilder auswählen AWT, Swing, JavaFX & SWT 8
M Swing jcombobox als jtable-editor: neues Item auswählen AWT, Swing, JavaFX & SWT 4
R JFileChooser - Initiales Verzeichnis auswählen AWT, Swing, JavaFX & SWT 8
N Mit JFileChooser ein Verzeichnis auswählen AWT, Swing, JavaFX & SWT 7
S [gelöst] API zum bequemen Navigieren und Auswählen von Ordnern AWT, Swing, JavaFX & SWT 3
N Defaulttext per Mausklick auswählen AWT, Swing, JavaFX & SWT 4
R Zahl aus Zahlenbereich auswählen AWT, Swing, JavaFX & SWT 9
T einzelne Zelle einer JTable auswählen und Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 2
D JTree programmtechnisch mehrere Nodes auswählen. AWT, Swing, JavaFX & SWT 2
N JCalendar - Kein Datum auswählen AWT, Swing, JavaFX & SWT 3
S JTable Reihe auswählen AWT, Swing, JavaFX & SWT 2
S Welches Event beim auswählen einer Zelle? [JTable] AWT, Swing, JavaFX & SWT 3
A JTable zeile auswählen AWT, Swing, JavaFX & SWT 2
K Zeilen von TextArea auswählen AWT, Swing, JavaFX & SWT 3
B JComboBox Item auswählen AWT, Swing, JavaFX & SWT 11
A jtextarea -> ganze zeile auswählen AWT, Swing, JavaFX & SWT 5
H Noch einmal JList (nichts auswählen) AWT, Swing, JavaFX & SWT 2
K Bilddatei mit Filechooser auswählen und anzeigen/impotieren AWT, Swing, JavaFX & SWT 18
P JSpinner Objekt anstatt Zahlen sollen man Namen auswählen AWT, Swing, JavaFX & SWT 2
J JList-Item ind JTable-Zelle auswählen. AWT, Swing, JavaFX & SWT 5
F JTree Letzte Node auswählen AWT, Swing, JavaFX & SWT 8
D "Datei auswählen" Fenster AWT, Swing, JavaFX & SWT 5
G [AWT] Zeichnungen per Maus auswählen AWT, Swing, JavaFX & SWT 8
R JTable: nur eine Zeile auswählen AWT, Swing, JavaFX & SWT 2
T Zeile in JTable mit Doppelklick auswählen AWT, Swing, JavaFX & SWT 8
F Tree-Knoten programmgesteuert auswählen AWT, Swing, JavaFX & SWT 3
K Farbverlauf -> Farbe auswählen mit Regler || JTable Selec AWT, Swing, JavaFX & SWT 5
G für showInputDialog kein eigenes Icon auswählen AWT, Swing, JavaFX & SWT 6
bernd Aus einem JTextArea einen Eintrag auswählen AWT, Swing, JavaFX & SWT 11
P Inhalt von JTextField beim Auswählen markieren AWT, Swing, JavaFX & SWT 7
M Grafikobjekte mit Mouse auswählen und verschieben AWT, Swing, JavaFX & SWT 2
Juelin starten maven javafx programm ohne netbeans AWT, Swing, JavaFX & SWT 38
Juelin javax.swing in javafx AWT, Swing, JavaFX & SWT 1
MiMa JUnit5 im JavaFX Projekt AWT, Swing, JavaFX & SWT 2
Juelin in javafx Event auslösen AWT, Swing, JavaFX & SWT 4
MiMa Fonts, Icons, Bilder in JavaFX Anwendung AWT, Swing, JavaFX & SWT 5
MiMa SwingFXUtils in JavaFX 20 AWT, Swing, JavaFX & SWT 6
MiMa JavaFX Fenstertitel zu klein. AWT, Swing, JavaFX & SWT 1
MiMa JavaFX JAR unter Windows ausführen schlägt fehl? AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
Hatsi09 Javafx MediaPlayer spielt nicht immer AWT, Swing, JavaFX & SWT 3
Hatsi09 Javafx Neuladen von ImageView und MediaView AWT, Swing, JavaFX & SWT 3
Maxim6394 JavaFX Umlaute in JavaFX GUI AWT, Swing, JavaFX & SWT 12
Maxim6394 JavaFX Scene Builder - Crash bei eigener Komponente AWT, Swing, JavaFX & SWT 2
Ernesto95 JavaFX JavaFX GUI mit sehr vielen Update requests AWT, Swing, JavaFX & SWT 4
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
J Netbeans die JavaFX-Anwendung wird nicht ausgeführt AWT, Swing, JavaFX & SWT 16
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
tommybalbor JavaFx Anwendung klappt nicht für macOs Nutzern, wenn ich zwei dependecies bei maven hinzufüge AWT, Swing, JavaFX & SWT 6
JavaSchmecktLecker JavaFX JavaFX Ordner automatisch verlinken AWT, Swing, JavaFX & SWT 2
melaniemueller Taschenrechner JavaFX AWT, Swing, JavaFX & SWT 4
R auto. Importanweisungen für javafx funktioniert in Eclipse nicht mehr AWT, Swing, JavaFX & SWT 4
thor_norsk JavaFX Anwendung stürzt ab AWT, Swing, JavaFX & SWT 4
berserkerdq2 Skalieren sich javafx objekte automatisch auf die Bildschirmgröße AWT, Swing, JavaFX & SWT 6
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
B Java Projekt mit JavaFX und jfoenix ausführbar machen AWT, Swing, JavaFX & SWT 46
H JavaFX wie JavaFX Projekt aufsetzen? AWT, Swing, JavaFX & SWT 10
thor_norsk JavaFX - Grafikkarte AWT, Swing, JavaFX & SWT 7
MiHimbert Rückmeldung an den aufrufenden JAVAFX-Dialog AWT, Swing, JavaFX & SWT 1
MiMa JavaFX Runtime components are Missing??? AWT, Swing, JavaFX & SWT 3
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
B JavaFX Sprachumschaltung mit Button auf der HMI AWT, Swing, JavaFX & SWT 6
H JavaFX Fehlende JavaFX Package AWT, Swing, JavaFX & SWT 10
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
_user_q Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
G JavaFX Line Chart mit Farbverlauf/Gradient in Linie AWT, Swing, JavaFX & SWT 1
thor_norsk JavaFX, FXML und SceneBuilder AWT, Swing, JavaFX & SWT 6
_user_q Über installDist exportiertes Programm wirft "Unsupported JavaFX configuration" AWT, Swing, JavaFX & SWT 0
CodingBerlin JavaFX Programm läuft nur unter Eclipse AWT, Swing, JavaFX & SWT 1
H Fehler: Zum Ausführen dieser Anwendung benötigte JavaFX-Runtime-Komponenten fehlen AWT, Swing, JavaFX & SWT 44
temi JavaFX "Frames" in JavaFx - passende Komponente? AWT, Swing, JavaFX & SWT 13
G JavaFX Steuerung bzw. Test von externer JavaFX Anwendung (liegt nur als jar vor) AWT, Swing, JavaFX & SWT 9
_user_q [JavaFX] Spinner so einstellen, dass er nicht leer bleiben darf? AWT, Swing, JavaFX & SWT 6
S Javafx getResource-Pfad wird nicht erkannt AWT, Swing, JavaFX & SWT 7
A JavaFX exportierte Jar ohne beim starten die Libs hinzufügen? AWT, Swing, JavaFX & SWT 2
J JavaFX Schiffe versenken mit JavaFX und Scene builder AWT, Swing, JavaFX & SWT 3
Encera ArrayList mit eigenen Objekten in JavaFX sortieren und ausgeben AWT, Swing, JavaFX & SWT 50
L JavaFx Textformatierung mittels Datenbank und Funktion anpassen AWT, Swing, JavaFX & SWT 5
sserio Wie funktioniert ein Controller bei JavaFx? AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben