Я создаю пользовательский интерфейс с использованием Java FX scene builder, и я хочу, чтобы кнопка на панели инструментов плавала по направлению к правой стороне панели инструментов. Я попытался изменить ориентацию родителя (панель инструментов) node, а также кнопку, но оба они игнорируются.
Как правильно выровнять кнопку на панели инструментов Java FX
Ответ 1
Добавьте панель без содержимого, которое всегда растет, чтобы соответствовать доступному пространству между инструментами, выровненными по левому краю, в панели и выровненными справа.
<?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>