JSplitPane 精确拆分 50%
2022-09-01 15:14:00
在 Swing 中,让 JSplitPane 拆分两个大小为 50% 的 jpanel 的最佳方法是什么?
看起来,如果我不在面板上设置首选尺寸,它总是使第一个面板几乎不可见(2%),第二个面板(98%)
提前致谢
在 Swing 中,让 JSplitPane 拆分两个大小为 50% 的 jpanel 的最佳方法是什么?
看起来,如果我不在面板上设置首选尺寸,它总是使第一个面板几乎不可见(2%),第二个面板(98%)
提前致谢
应使用 setDividerLocation(双比例位置)
来确定 的初始空间分布,然后使用相同的值进行调用,以确保按比例调整窗格的大小。JSplitPane
setResizeWeight(double)
另外,请注意:在 可见之前调用将无法正常工作,因为空间计算基于 的当前大小。相反,您需要涉及一个令人讨厌的黑客攻击,例如覆盖 包含以下内容的 paint 方法:setDividerLocation(double)
JSplitPane
Component
JPanel
JSplitPane
private boolean painted;
@Override
public void paint(Graphics g) {
super.paint(g);
if (!painted) {
painted = true;
splitPane.setDividerLocation(0.25);
}
}