JavaFX Pane ändern/"austauschen"

GhostfaceChilla

Bekanntes Mitglied
Hallo,
ich arbeite zur Zeit an einer Art Terminkalender. Hier gibt es ein "Bearbeitungs-"panel in dem Sachen wie Name,Beschreibung etc. bearbeitet werden können. So nun soll diese Panel z.B bei einem neuen Termin die Bearbeitungspunkte Name,etc. haben und wenn ich eine neue Aufgabe erstellen möchte soll das Panel z.B. Aufgabenbeschreibung,Priorität etc. beinhalten. Bis jetzt habe ich alles grafische über eine FXML Datei geschrieben.Nun wollte ich mal fragen wie ich das am Besten angehen soll. Ich könnte ja über meine Controller Klasse die Attribute ändern, neue hinzufügen und löschen. Da aber alles grafische in meiner FXML Datei habe, weis ich nicht ob das die beste Lösung wäre. Oder gibt es eine Möglichkeit ein Pane Layout in einer FXML erst zu aktivieren wenn es gebraucht wird und das andere auszublenden?Ich hoffe ihr versteht was ich meine 🙂

-GhostfaceChilla-
 
Bin mir nicht ganz sicher, was du meinst, aber ich versuch's mal.
Grundsätzlich kannst du immer irgendetwas austauschen. Es gibt zwar die Methode #setVisible(boolean), aber die reicht nicht, weil der Platz immer berechnet wird.
Was du machen musst: Habe ein Container-Layout in deinem UI parat, dem du etwas hinzufügen willst (VBox, StackPane, ...). Wenn du jetzt ein weiteres Layout einbinden willst, dann lade in dem Controller, der den Container enthält, jetzt das andere FXML (du erhälst einen Node) und fügst das einfach dem Container hinzu.
Ich hab auf diese Art mal einen Pseudo-Dialog gebaut, der immer im Zentrum der Anwendung geöffnet wird (Parent war ein BorderPane, desses Top-Content ich per Translate X und Y an die richtige Stelle geschoben habe und das selbst ein StackPane war).
 
Danke für deine Antwort 🙂
Habe den einfachsten weg übersehen....ich schreibe einfach die 3 Formen des Panes in die fxml Datei, setzte sie zu Anfang auf [XML]visible="false"[/XML] und je nachdem was der Benutzer wählt, wird das jeweilige Pane auf true gestezt.

-GhostfaceChilla-
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben