Sorgen Sie dafür, dass ein Label den gesamten verfügbaren Platz in einer HBox in JavaFX einnimmtJava

Java-Forum
Anonymous
 Sorgen Sie dafür, dass ein Label den gesamten verfügbaren Platz in einer HBox in JavaFX einnimmt

Post by Anonymous »

In JavaFX 21 möchte ich, dass eine HBox drei Elemente, eine Beschriftung und zwei Schaltflächen enthält.

Code: Select all

HBox rowBox = new HBox ( label , buttonX , buttonY );
Standardmäßig stapeln sich die Widgets alle nach links.
So mit wenig Text, wenn wir uns vorstellen, dass meine äußeren eckigen Klammern die HBox-Grenzen sind und innere eckige Klammern die Grenzen jeder Schaltfläche:

Code: Select all

[ Short text. [ buttonX ] [ buttonY] ]
… oder dies mit mehr Text:

Code: Select all

[ Or lots and lots and lots of text. [ buttonX ] [ buttonY] ]
Aber ich möchte, dass sich die beiden Schaltflächen immer ganz rechts befinden, so:

Code: Select all

[ Short text.                             [ buttonX ] [ buttonY] ]

Code: Select all

[ Or lots and lots and lots of text.      [ buttonX ] [ buttonY] ]
Ich habe HBox.setHgrow ausprobiert:

Code: Select all

HBox.setHgrow ( label , Priority.ALWAYS );
… aber der Effekt bringt mir keinen Vorteil – die Elemente bleiben an der gleichen Position. Im Gegensatz dazu möchte ich, dass der gesamte nicht zugewiesene Platz der Box der Breite des Etiketts entspricht. Ich möchte, dass die Beschriftung die beiden Schaltflächen auf die rechte Seite der Box „schiebt“.
Ich versuche, dieses Layout mit einer einzelnen HBox zu erreichen, damit ich die Widgets sauber entlang der Grundlinie ihres Textes ausrichten kann.

Code: Select all

rowBox.setAlignment ( Pos.BASELINE_LEFT );
👉🏼 Gibt es eine Möglichkeit, dem Etikett den gesamten zusätzlichen Platz zuzuweisen?
Wenn nicht, gibt es eine andere Möglichkeit, dieses Layout der Schaltflächen rechts zu erhalten?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post