如果需要初始化JSplitPane比例,则需要设置setDividerLocation,而这个方法的实现是需要获取主窗体的高度和宽度的,如果主窗体没有visibale,那么高度和宽度则为0,达不到要求。
经Google搜索,有如下两种方法可以达到效果:
1:在主窗体setVisible(true)之后再使用setDividerLocation(double)才会有效
2:实现splitPane的componentResized,在里面设置
splitPane.addComponentListener(new ComponentAdapter() {
@Override public void componentResized(ComponentEvent e) { splitPane.setDividerLocation(0.8); } });参考