user-interface - 带有拆分栏的 Javafx BorderPane
问题描述
如何在 BorderPane 的左节点和中心节点之间放置一个拆分条?用户界面应该如下工作:
1)当应用程序窗口水平调整大小时,中心水平调整大小。当窗口垂直调整大小时,中心和左侧会垂直调整大小。(这些是 BordePane 的默认行为)。
2)用户可以拖动以在左侧和中心之间移动空格/条以水平调整它们的大小。
我可以结合 BorderPane 和 SplitPane 来实现这一点吗?任何想法?
解决方案
将左侧项目的SplitPane.resizableWithParent
属性设置为:false
@Override
public void start(Stage stage) {
Region left = new Region();
left.setStyle("-fx-background-color: red;");
Region right = new Region();
right.setStyle("-fx-background-color: blue;");
// left node shouldn't resize with BorderPane
SplitPane.setResizableWithParent(left, Boolean.FALSE);
SplitPane center = new SplitPane(left, right);
center.setPrefSize(400, 400);
BorderPane root = new BorderPane(center);
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
推荐阅读
- html - iFrames 根据用户操作系统使用
- android - 我想在键盘打开时将上面的 RecyclerView 项目滚动到键盘
- pycharm - “无法获取属性”与 pickle.load
- python - slim.conv3d 中的参数是什么?
- javascript - redux 商店正在更新,但某些屏幕上未显示更改
- excel - 将 Excel 行转换为单个文本文件
- excel - 尝试创建文件时 Excel VB 错误 1004
- r - 如何从亚马逊的客户资料页面中提取产品链接
- javascript - 在设置状态 React JS 之前检查对象数组是否存在于对象数组中的简单方法
- java - 在 OpenSSL 中完成的 AES 加密已成功解密,但在 Java 中加密时失败