我不知道这是否只是当我使用DefaultListModel而不是vector时,但问题是,当我创建JList & JScrollPane,时,滚动条显示正确,但即使有足够的元素填满整个窗口,我也无法滚动。
源代码:
panel_unit.add(YUi.JScrollPane(list = YUi.JList(main.config.fdata,0,0,this,0),500,314,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS),5,5);
public static JList JList(DefaultListModel text,int width,int height,ListSelectionListener listener,int SelIndex) {
JList list = new JList(text);
list.setPreferredSize(new Dimension(width,height));
list.setSelectedIndex(SelIndex);
list.addListSelectionListener(listener);
return list;
}
public static JScrollPane JScrollPane(Component text,int width,int height,int HorizontalScrollBarPolicy,int VerticalScrollBarPolicy) {
JScrollPane scrollpane = new JScrollPane(text);
scrollpane.setPreferredSize(new Dimension(width,height));
scrollpane.setHorizontalScrollBarPolicy(HorizontalScrollBarPolicy);
scrollpane.setVerticalScrollBarPolicy(VerticalScrollBarPolicy);
return scrollpane;
}发布于 2012-01-20 01:12:28
这可能与您使用设置首选大小和使用JScrollPane.VERTICAL_SCROLLBAR_ALWAYS有关。如果你把这个常量放在那里,不管你能不能滚动,它都会显示一个滚动条。
只要试一试,我打赌它会成功的:
new JScrollPane( list );发布于 2012-01-20 01:08:01
您应该在JList周围包装您的JScrollPane
示例:
JScrollPane scrollpane = new JScrollPane(list);PS:您正在使用的命名约定根本不合适!
发布于 2012-01-20 01:11:45
步骤如下:
https://stackoverflow.com/questions/8930176
复制相似问题