JavaFX布局-ButtonBar
- 常用属性
- buttonOrder
- padding
- buttonMinWidth
- 实现方式
- Java实现
- fxml实现
- 一个特殊的容器,用于创建一组按钮,水平排列
- 按钮太多,会被遮住,不会自动产生滚动条
常用属性
buttonOrder
预制顺序
buttonBar.setButtonOrder(ButtonBar.BUTTON_ORDER_WINDOWS);
padding
内边距,可以单独设置上、下、左、右的内边距
buttonBar.setPadding(new Insets(10, 10, 10, 10));
buttonMinWidth
按钮最小宽度
buttonBar.setButtonMinWidth(100);
实现方式
Java实现
public static ButtonBar demo1() {
ButtonBar buttonBar = new ButtonBar();
// 内边距
buttonBar.setPadding(new Insets(10, 10, 10, 10));
//排序
buttonBar.setButtonOrder(ButtonBar.BUTTON_ORDER_WINDOWS);
buttonBar.setButtonMinWidth(100);
for (ButtonBar.ButtonData bData : ButtonBar.ButtonData.values()) {
Button btn = new Button(bData.name());
ButtonBar.setButtonData(btn, bData);
buttonBar.getButtons().add(btn);
}
return buttonBar;
}
fxml实现
<StackPane prefHeight="400" prefWidth="600" alignment="CENTER_LEFT" xmlns="http://javafx.com/javafx/17.0.2-ea"
xmlns:fx="http://javafx.com/fxml/1">
<children>
<ButtonBar prefHeight="40.0" prefWidth="200.0">
<buttons>
<Button text="Button 1"/>
<Button text="Button 2"/>
<Button text="Button 3"/>
<Button text="Button 4"/>
<Button text="Button 5"/>
<Button text="Button 6"/>
<Button text="Button 7"/>
<Button text="Button 8"/>
<Button text="Button 9"/>
<Button text="Button 10"/>
</buttons>
</ButtonBar>
</children>
</StackPane>