Statusleiste

Ich bin neu in JavaFX und versuche gerade, eine Statusleiste zu erstellen. Links soll dann ein Label sein und rechts eine Fortschrittsanzeige.
[XML]<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.geometry.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import java.lang.*?> <?import javafx.scene.layout.*?> <?import javafx.scene.layout.AnchorPane?> [/XML]

Das Problem hierbei ist, dass wenn ich das Fenster von der Größe verändere, die Leiste irgendwann verschwindet und ich nicht weiß warum.

Soweit ich weiß, sollte BorderPane das gleiche sein wie in Swing BorderLayout. Und dort hat das mit der Statusleiste genauso funktioniert.
Falls jemand zufällig noch gute Layout Tutorials hat (damit habe ich nämlich ziemliche Schwierigkeiten, wann solle ich was benutzen), wäre ich da auch dankbar.

1.) Ich glaube glaube Zeile 6 ist nicht nötig, auch nicht in der fxml, denn java.lang wird von der VM automatisch geladen da sich darin die Basis-Klassen wie Object, Class, ClassLoader, System, Thread, Throwable und ähnliche befinden und damit notwendig sind damit eine public static void main(String) überhaupt laufen kann.
2.) Das Verschwinden ist recht einfach erklärt: du hast deinen main-screen den du im center addest, und dann IN diesem den zweiten Bereich packst. Damit umgehst du aber das BorderLayout komplett. Add deine Statuszeile einfach unabhängig vom center in south. Sollte das Problem fixen (zumindest würd ich es so unter Swing machen, und der LayoutManager BorderLayout dürfte ja, da aus dem Package java.awt.* für beide gleich funktionieren).

// EDIT

Auch wenn ich den ersten Teil so auch verstehe, glaub ich den zweiten Teil überhaupt nicht. Denn dies würde ja implizieren dass du in deinem Swing-Code in das center-Panel selbst eine weitere Unterteilung vorgenommen hättest was dann nichts mehr mit dem BorderLayout drumrum zu tun hat. Ich denke eher dass du in Swing richtig mit dem BorderLayout gearbeitet und das StatusPanel auch korrekt in south geadded hast statt es dem MainPanel als child unterzujubeln. Sonst dürftest du bei Swing gleiche Probleme gehabt haben.

Ich denke du siehst da was falsch (ich gebe zu mit den FXML Sachen die letztendlich aus dem SceneBuilder rauskommen hab ich mich nie wirklich beschäftigt). Er fügt im Bottom eine HBox hinzu, siehe tag. Diese HBox kriegt das Alignment Center, soll also in der Mitte dieses Bereiches sein.

Zum Problem ansich:
Ich hab jetzt schnell mal ausprobiert, und es scheint, dass das Problem die minWidth/Height ist. Stelle im Scenebuilder mal die Werte auf „USE_COMPUTED_SIZE“ bzw. seh ich gerade, dass du das schon hast. Allerdings ist bei mir dann der Eintrag für die minWidth/Height in der fxml Datei verschwunden. Auch die „Max“ Werte in der fxml passen irgendwie nicht zum Scenebuilder. Schau da am besten nochmal und entferne eventuell min/maxWidth/Height (was ein Konstrukt^^) per Hand aus der fxml und schau was dabei rauskommt.

MfG
Clayn

@Clayn
Ich kenn mich halt nicht mit FX aus und hab die FXML nur mal grob überflogen.
Wobei so im Nachgang die Erklräung bzgl. min/max/pref size schon Sinn macht. Denn wenn ich Java sage: “Das hier kann so klein wie möglich sein.” wird es natürlich von anderen Prefs überschrieben.

@TO
Versuch mal nicht unbedingt min-size rauszuwerfen sondern mal auf deine gewünschte mindest-größe zu setzen. Das du also letztlich mit min/max/pref 3 mal den gleichen Wert hast und somit die Größe quasi im Sinne von setBounds() festsetzt.