Prima di tutto, sono uno sviluppatore Java/Swing da molto tempo. Di recente ho installato JavaFX 2.2 con cui giocare.Come posso creare il ridimensionamento degli spaziatori in JavaFX?
Sto creando un'applicazione abbastanza semplice, la cui finestra principale ha una barra degli strumenti in alto e il contenuto nel resto della finestra. Il modo più ovvio per fare ciò è usare un BorderPane
e attaccare un ToolBar
nella sezione superiore. Fin qui tutto bene. Tuttavia, vorrei che alcuni dei controlli nella barra degli strumenti si trovassero sul bordo sinistro della finestra e alcuni sul lato destro. Non riesco a trovare alcun modo per farlo. Posso mettere un oggetto spaziatore invisibile nella barra degli strumenti, ma so solo come dargli una larghezza fissa; non viene ridimensionato quando la finestra viene ridimensionata.
Quindi ho pensato che invece di usare un oggetto ToolBar, userò semplicemente un HBox
; dovrebbe essere equivalente a un oggetto Swing Box
orientato orizzontalmente, giusto? E la classe Swing Box
ha un metodo createHorizontalGlue()
che inserisce uno spaziatore con ridimensionamento automatico. Bene, non riesco a trovare un equivalente nella classe HBox JavaFX. Non c'è un modo semplice per farlo?
articolo di James Weaver [Best Practices per JavaFX 2.0 Applicazioni Enterprise] (http://www.oracle.com /technetwork/articles/java/javafxbest2-1634274.html) dimostra l'inserimento di uno spaziatore di ridimensionamento (definito una molla nell'articolo) all'interno di una barra degli strumenti. L'impostazione HGrow statica utilizzata per la molla è la stessa della tua risposta (perché internamente una barra degli strumenti orizzontale è solo un HBox). – jewelsea
Grazie, jewelsea; questa è una soluzione molto più semplice! –