我想实现的功能是将数据库中的数据读出来(数据个数不定),对应每个数据都有一个相应的JCheckBox,所有的JCheckBox罗列成一竖列,我在jSplitPane的左侧添加了JPanel,在这个JPanel上显示JCheckBox,但是由于数据个数不定,所以有时后JPanel的高度不够,显示不完全,我试过用JScrollBar,但是滚动条添加上了,可是上下拖拽JPanel没反应啊,然后还试过JScrollPane,也没成功……
我用的IDE是netbeans,但是这部分由于数据个数不定我只能想到自己写GUI了,哪位能给点帮助啊,用什么方法解决都行!!!
我用的IDE是netbeans,但是这部分由于数据个数不定我只能想到自己写GUI了,哪位能给点帮助啊,用什么方法解决都行!!!
Quote:语法:
overflow : visible | auto | hidden | scroll
参数:
visible : 不剪切内容也不添加滚动条。假如显式声明此默认值,对象将被剪切为包含对象的window或frame的大小。并且clip属性设置将失效
auto : 此为body对象和textarea的默认值。在需要时剪切内容并添加滚动条
hidden : 不显示超过对象尺寸的内容
scroll : 总是显示滚动条
jPanel_left.setSize(jSplitPane_register.getDividerSize(),jSplitPane_register.getSize().height);
jsb = new JScrollBar(JScrollBar.VERTICAL, 0, 10, 0, jPanel_left.getHeight()-100);
jsb.setBounds(5, 20, 10, jPanel_left.getHeight()-50);
jPanel_left.add(jsb);
这些代码是关于JScrollBar 的啊,滚动条倒是有,但是上下拽不好使,jPanel_left上显示的内容不随着滚动条滚动
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextField;
public class T extends JFrame{
private javax.swing.JSplitPane jSplitPane_register;
private JPanel jPanel_left;
private JScrollPane jsp;
private JTextField mNameTf;
public T(){
super();
setSize(100,100);
jSplitPane_register = new JSplitPane();
jPanel_left = new JPanel();
jsp = new JScrollPane();
jSplitPane_register.setDividerLocation(130);
mNameTf = new JTextField();
mNameTf.setSize(85, 20);
jPanel_left.setLayout(null);
JLabel mNameLbl = new JLabel("Mediator名字");
JLabel wNameLbl = new JLabel("Wrapper名字");
mNameLbl.setSize(90, 15);
mNameLbl.setLocation(30, 10);
wNameLbl.setSize(90, 15);
mNameTf.setLocation(30, 35);
wNameLbl.setLocation(30, 60);
jPanel_left.add(mNameLbl);
jPanel_left.add(mNameTf);
jPanel_left.add(wNameLbl);
jPanel_left.validate();
jsp.getViewport().add(jPanel_left);
jSplitPane_register.setLeftComponent(jsp);
setContentPane(jSplitPane_register);
System.out.println(jSplitPane_register.getSize().height);
System.out.println(jSplitPane_register.getDividerLocation());
}
public static void main(String args[]){
new T().setVisible(true);
}
}
这段代码,中JScrollPane 貌似没起作用啊,我就是想问这个
语句JScrollPane就起作用了……
你去试一试吧