JavaFX mit Gridpane 2 Hbox in das selbe Kästchen?

... komplette Frage anzeigen

2 Antworten

Wie kann ich das Lösen, OHNE beide in eine box zu bringen?

Gar nicht ohne zu pfuschen.

Erklärung:

Du nimmst eine Box mit einer Komponente darin: Die Box passt sich an die GridPane Zelle an. Mit deiner Justierung (Linksausrichtung) siehst du links den Button.

Nun legst du eine weitere Box darüber mit einer Rechtsausrichtung und einem weiteren Button: Dies führt dazu, dass die Neue Box ebenso den gesamten Platz einnimmt und sich über deine erste Box legt wodurch dein Button nicht mehr anklickbar ist.

Ich will NICHT sowas wie "Du köntest die knöpfe doch einfach in verschiedene Kästchen selzen."

sagt ja auch keiner. Aber sei wenigstens offen für sinnvolle Vorschläge bitte.

Ich vermute mal, dass es dir um die Ausrichtung an den Rändern geht, oder? Da wäre Anstatt zweier Boxen ein Borderlayout deutlich Sinnvoller:

    BorderPane borderpane = new BorderPane();
    borderpane.setLeft(btn1);
    borderpane.setRight(btn2);
    root.add(borderpane, 0, 0);

da  sowohl left als auch right sich immer an den äußeren Rändern orientieren.

Was ich als "Pfusch"-Lösung meinte (NICHT ZU EMPFEHLEN): 

Füge zuerst die HBox an, die sich  nach rechts orientiert an. Anschließend Begrenze die Breite der HBox (maxWidth) die sich nach Links orientiert auf die Breite des Buttons.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von JavaKava
25.06.2016, 10:46

Nein.

1. Will ich in meinem eigentlichen Projekt eine Mittig und eine Linksorientiert HBox haben.

2. Ich möchte beide HBoxen unter einer anderen Komponente anbringen, von der Links und Rechts noch andere komponenten sind.

0

Ganz einfach, in jedes GridPane Kästchen kommt nur ein Element, wenn du mehrere HBoxes in einem Kästchen haben willst musst du die wieder in zB eine HBox oder VBox schachteln.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von JavaKava
25.06.2016, 10:47

Ich versteh nicht ganz, wie du dass meinst. Köntest du mal ein Code Beispiel geben?

0
Kommentar von androhecker
25.06.2016, 11:02

Du fügst 2 Buttons in 1 Kästchen des GridPanes ein, das GEHT NICHT RICHTIG! Grundsätzlich versucht ein Element ein GridPane Kästchen voll auszufüllen. Wenn du mehrere Elemente in einem Kästchen willst, fügst du in das Kästchen einen Container wie zB ein AnchorPane ein, in diesem kannst du dann den einen Button zB links anbringen und den anderen rechts, aber 2 Elemente in einem Kästchen ist ein No-go.

1

Was möchtest Du wissen?