📅  最后修改于: 2023-12-03 15:16:03.471000             🧑  作者: Mango
在JavaFX中,拆分窗格(SplitPane)是一种容器,它可以将场景分割成多个面板,每个面板可以拖动调整大小。拆分窗格类提供了一种方便的方式来布局用户界面,使其更具交互性。
创建一个拆分窗格需要两个子节点,可以通过以下代码创建:
SplitPane splitPane = new SplitPane();
Node node1 = new Button("Node 1");
Node node2 = new Button("Node 2");
splitPane.getItems().addAll(node1, node2);
拆分窗格的默认方向是水平的,就是将场景分割成左右两边。如果要垂直分割,可以设置orientation
属性:
splitPane.setOrientation(Orientation.VERTICAL);
可以设置拆分窗格中子节点的默认大小,以及子节点之间的分界线位置:
splitPane.setDividerPositions(0.3, 0.7);
这将使第一个子节点占拆分窗格的30%,第二个子节点占70%。
拆分窗格可以发出DIVIDER_POSITION_CHANGING
和DIVIDER_POSITION_CHANGED
事件,可以在代码中进行监听。例如:
splitPane.getDividers().get(0).positionProperty().addListener((obs, oldVal, newVal) -> {
System.out.println("Divider position changed to " + newVal.doubleValue());
});
拆分窗格可以自定义样式,来满足不同的设计需求。以下是一些常用的样式类:
.split-pane
: 拆分窗格基本样式。.split-pane:horizontal
: 水平方向的拆分窗格。.split-pane:vertical
: 垂直方向的拆分窗格。.split-pane *
: 拆分窗格中的所有子节点。拆分窗格类提供了一种方便的方式来布局用户界面,使其更具交互性。通过设置子节点的大小和分界线位置,可以实现不同的布局效果。同时,可以监听事件并自定义样式,以满足不同的设计需求。