Как правильно выровнять кнопку на панели инструментов Java FX

Я создаю пользовательский интерфейс с использованием Java FX scene builder, и я хочу, чтобы кнопка на панели инструментов плавала по направлению к правой стороне панели инструментов. Я попытался изменить ориентацию родителя (панель инструментов) node, а также кнопку, но оба они игнорируются.

Ответ 1

Добавьте панель без содержимого, которое всегда растет, чтобы соответствовать доступному пространству между инструментами, выровненными по левому краю, в панели и выровненными справа.

tool

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<ToolBar prefHeight="40.0" prefWidth="318.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8">
   <Button text="Apples" />
   <Button text="Oranges" />
   <Pane HBox.hgrow="ALWAYS" />
   <Button text="Help" />
</ToolBar>

Ответ 2

BorderPane mainBorderPane = new BorderPane();     
BorderPane ToolBorderPane = new BorderPane();     
ToolBar tBarLeft=new ToolBar();      
ToolBar tBarRight=new ToolBar();     
ToolBorderPane.setLeft(tBarLeft);      
ToolBorderPane.setRight(tBarRight);      
mainBorderPane.setTop(ToolBorderPane);   

... ... для ваших левых элементов добавьте tBarLeft и Ваши правильные элементы aligment add tBarRight

Ответ 3

Если бы вы могли поместить кнопку ur внутри панели стека, вы могли бы использовать свойство выравнивания Stackpane, которое принимает javafx.geometry.Pos - выравнивание дочернего элемента в пределах стека. Например, в случае ur:

<StackPane >
<Button translateY="-15" translateX="15"  StackPane.alignment="TOP_RIGHT"/>
</StackPane>