Jemand einen Tipp wie man ein Javafx-Hintergrund "dynamisch" macht

berserkerdq2

Bekanntes Mitglied
Ich habe ein Javafx-Fenster mit dem Scenebuilder erstellt.
Dann habe ich ein Hintergrundbild erstellt, erstmal ich habe das mit einem Imageview Objekt gemacht, ist das korrekt?

Und nun mein Problem, wenn ich das Fenster erstellt habe und das öffne und dann die Fenstergröße manuell verändere, habe ich das Problem, dass der Hintergrund sich nicht mitbewegt? Also der Hintergrund bleibt einfach stehen, also das Hintergrundbild und wenn ich das Fenster groß ziehe, ensteht eine weiße Fläche, da wo eigentlich das Bild sein müsste, also die hintergrundfarbe des Panels sieht man dann.
 
Da ist zum einen die Frage, was Du genau gemacht hast und zum anderen, was das gewünschte Verhalten ist.

a) Damit das ImageView Control immer die richtige Größe hat, kannst Du bei einem AnchorPane die Anker setzen. Dann hat das ImageView automatisch die richtige Größe.
b) Damit das Bild immer auf der ganzen Fläche angezeigt wird, könntest Du setFitHeight und setFitWidth anschauen. Um Verzerrungen zu vermeiden evtl. noch setPreserveRatio.
 
Da ist zum einen die Frage, was Du genau gemacht hast und zum anderen, was das gewünschte Verhalten ist.

a) Damit das ImageView Control immer die richtige Größe hat, kannst Du bei einem AnchorPane die Anker setzen. Dann hat das ImageView automatisch die richtige Größe.
b) Damit das Bild immer auf der ganzen Fläche angezeigt wird, könntest Du setFitHeight und setFitWidth anschauen. Um Verzerrungen zu vermeiden evtl. noch setPreserveRatio.
Danke.

Bezüglich a)

Was heißt "Anker setzen", habe mir eben nochmal ein Video angeschaut, da nehmen die Leute auf Youtube einfach das Panel fügen das ein und machen per ziehen der Seiten die Größe des Panels, meinst du das damit? Wenn ja, das habe ich gemacht, aber inwiefern hat dann das Bild immer die richtige größe?

zu b)
Weißt du zufällig ob setfitheight und setfitweight über den Scenebuilder machbar ist, konnte dazu nichts finden im Scenebuilder, wenn nicht wahrscheinlich seperat per Code machen oder?
 
Du hast ein ImageView Control. Wie dies in einem Panel dargestellt wird, liegt auch am Panel. In anderen Posts hast du von einem AnchorPane gesprochen. Da hast du halt diese Anker. Aber je nach Pane kann es sein, dass die Controls da in der Größe das Pane ausfüllen oder so. Aber dazu einfach die Dokumentation anschauen.

Und die Dinge kannst du im FXML angeben. Ob der SceneBuilder das angibt weiß ich aber nicht:
 

Zurück
Oben