我的问题是有一个JSplitPane如下:
class abc extends JFrame{
.....
.....
Spane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, a, b);
Spane.setDividerSize(8);
Spane.setDividerLocation(211);
Spane.setOneTouchExpandable(true);
.....
.....
}
要求是写一个函数把Spane重画,把b换成c其它不变
这是我写的:
public void showBigImage() { //看大图的模式
// int k = Spane.getDividerLocation();
Spane.remove(b);
Spane.setRightComponent(c);
// Spane.setResizeWeight(0.7);
// Spane.setDividerLocation(k);
Spane.validate();
getContentPane().repaint();
}
但原来是看到a和b的,但单击后就只看到a,b c都不见了,还有那条分隔线都不见了
class abc extends JFrame{
.....
.....
Spane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, a, b);
Spane.setDividerSize(8);
Spane.setDividerLocation(211);
Spane.setOneTouchExpandable(true);
.....
.....
}
要求是写一个函数把Spane重画,把b换成c其它不变
这是我写的:
public void showBigImage() { //看大图的模式
// int k = Spane.getDividerLocation();
Spane.remove(b);
Spane.setRightComponent(c);
// Spane.setResizeWeight(0.7);
// Spane.setDividerLocation(k);
Spane.validate();
getContentPane().repaint();
}
但原来是看到a和b的,但单击后就只看到a,b c都不见了,还有那条分隔线都不见了
想要分隔线位置不改变Spane.setDividerSize(8);
Spane.setDividerLocation(211);
Spane.setOneTouchExpandable(true); 以上三句加到你的showBigImage方法里