Wie kann ich Resizing-Spacer in JavaFX erstellen?

8

Zunächst einmal bin ich ein langjähriger Java / Swing-Entwickler. Ich habe kürzlich JavaFX 2.2 installiert, um damit herumzuspielen.

Ich erstelle eine ziemlich einfache App, deren Hauptfenster eine Symbolleiste oben und Inhalt im Rest des Fensters hat. Der offensichtliche Weg, dies zu erreichen, besteht darin, ein BorderPane zu verwenden und ein ToolBar in den oberen Abschnitt zu stecken. So weit, ist es gut. Ich möchte jedoch einige der Steuerelemente in der Symbolleiste am linken Rand des Fensters und einige am rechten Rand befinden. Ich kann keinen Weg finden, dies zu tun. Ich kann ein unsichtbares Abstandshalterobjekt in die Symbolleiste einfügen, aber ich weiß nur, wie ich es einer festen Breite geben kann; Die Größe des Fensters ändert sich nicht, wenn das Fenster in der Größe geändert wird.

Also dachte ich, anstatt ein ToolBar-Objekt zu verwenden, verwende ich einfach ein HBox ; es sollte einem horizontal orientierten Swing Box Objekt entsprechen, oder? Und die Klasse Swing Box verfügt über eine createHorizontalGlue() -Methode, die einen Spacer mit automatischer Größenanpassung einfügt. Nun, ich kann keine Entsprechung in der JavaFX HBox-Klasse finden. Gibt es keinen einfachen Weg, dies zu tun?

    
Karl von L 25.08.2012, 02:30
quelle

2 Antworten

10

Ich habe herausgefunden, wie man es macht, indem man HBox anstelle von ToolBar benutzt, um die Kontrollen zu halten; Der Schlüssel ist die Methode HBox.setHgrow() , mit der Sie ein Spacer-Objekt festlegen können, das so vergrößert wird, dass es den verfügbaren Platz ausfüllt. Ich weiß immer noch nicht, ob es möglich ist, dies mit einer tatsächlichen ToolBar-Instanz zu tun.

%Vor%     
Karl von L 25.08.2012 04:11
quelle
7

Ich mache es so:

%Vor%

hoffe, ich könnte jemandem helfen

    
Rami.Q 14.11.2013 07:15
quelle

Tags und Links