JavaFX布局-ButtonBar
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>