日期:2014-05-20  浏览次数:20778 次

关于jscrollpane的使用
我在jscrollpane中动态的添加了一组radiobutton,但添加后的东西超过jscrollpane的大小 范围,超出的部分就看不到了,也没有出现可以拖拽的滚动条
ButtonGroup buttongroup = new ButtonGroup();
JscrollPane jscrollpane = new JscrollPane();
while(int i=0;i<15:i++){
JRadioButton button = new JRadioButton();
button.setName(Integer.toString(i));
button.setText(Integer.toString(i));
button.setBounds(20,(20*(i+1)),60,30);
button.setVisible(true);
buttongroup.add(button);
jscrollpane.add(button);
}
jscrollpane.updateUI();
jscrollpane.validate();



------解决方案--------------------
JButton Button 都没有实现ScrollAble接口,任何没有实现ScrollAble的元素放到JScrollpane的组件都无法实现滚动条的效果,这就是问题的根源

------解决方案--------------------
jscrollpane虽然间接继承自 Container。滚动的内容却不是使用 add添加的。
------解决方案--------------------
遍历Panel上控件,自动计算所需Panel大小,而后在执行setsize