【发布时间】:2021-07-10 10:28:58
【问题描述】:
我正在尝试JSplitPane 与几个可并排滚动的JTables。
但是,我正在尝试一种行为,其中JScrollPane 被缩小太多,根据 gif。
请注意左侧组件,除了具有最小width 和250px 之外,它还在继续缩小。
相关代码是
final var objetsTable = new JTable();
final var objectsScrollPane = new JScrollPane(objetsTable);
objectsScrollPane.setMinimumSize(new Dimension(250, 0));
objectsScrollPane.setPreferredSize(new Dimension(400, 300));
final var stepsTable = new JTable();
final var stepsScrollPane = new JScrollPane(stepsTable);
stepsScrollPane.setMinimumSize(new Dimension(150, 0));
stepsScrollPane.setPreferredSize(new Dimension(200, 300));
final var splitPane = new JSplitPane();
splitPane.setLeftComponent(objectsScrollPane);
splitPane.setRightComponent(stepsScrollPane);
splitPane.setResizeWeight(1.0);
在这种情况下,如何避免 JScrollPanes 缩小太多?
【问题讨论】:
-
当左右组件都满足其最小尺寸并且用户不断缩小时,您希望发生什么?
-
@gthanop 我希望 JFrame(或至少外部组件)停止收缩。
-
然后设置
JFrame的最小尺寸。这将使用户无法继续缩小。 -
@gthanop 确定这是最简单的方法。但我不喜欢为最外层组件设置固定大小的想法。它应该基于包含轻量级组件。
标签: java swing jscrollpane jsplitpane