Java JList滚动错误?
我不知道这是否只是在我使用Java JList滚动错误?,java,swing,jscrollpane,jlist,Java,Swing,Jscrollpane,Jlist,我不知道这是否只是在我使用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_
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;
}
您应该将JScrollPane包装在JList上 例如:
JScrollPane scrollpane = new JScrollPane(list);
PS:您使用的命名约定根本不合适 您应该将JScrollPane包装在JList上 例如:
JScrollPane scrollpane = new JScrollPane(list);
PS:您使用的命名约定根本不合适 步骤包括:
这可能与您使用设置首选大小以及始终使用JScrollPane.VERTICAL\u滚动条有关。如果你把这个常数放在那里,不管你是否可以滚动,它都会显示一个滚动条 只要尝试一下,我打赌它会奏效:
new JScrollPane( list );
这可能与您使用设置首选大小以及始终使用JScrollPane.VERTICAL\u滚动条有关。如果你把这个常数放在那里,不管你是否可以滚动,它都会显示一个滚动条 只要尝试一下,我打赌它会奏效:
new JScrollPane( list );
永远不要使用setXXSize(XX==min,pref,max)setPrefferedSize让我失望了,为什么我不应该使用它呢。。另外,这很可能与您在这里遇到的问题有关;-)永远不要使用setXXSize(XX==min,pref,max)setPrefferedSize让我失望了,为什么我不应该使用它呢。。另外,这很可能与您在这里遇到的问题有关;-)恐怕这就是我的dngI恐怕这就是我的dngNope,如果我删除关于滚动条的内容,垂直滚动条甚至不会显示您正在设置列表上的首选大小。删除列表中的任何setPreferredSize(),它就会工作。设置preferredSize会使列表始终保持该宽度和高度,而不管内容如何,滚动窗格始终将自身设置为列表的首选大小。如果列表显示我想要1000像素,那么滚动条将允许它为1000像素,并显示一个滚动条以访问未显示的部分。否则,滚动条不会“看到”未显示的部分。不,如果我删除滚动条的相关内容,垂直滚动条甚至不会显示您正在设置列表上的首选大小。删除列表中的任何setPreferredSize(),它就会工作。设置preferredSize会使列表始终保持该宽度和高度,而不管内容如何,滚动窗格始终将自身设置为列表的首选大小。如果列表显示我想要1000像素,那么滚动条将允许它为1000像素,并显示一个滚动条以访问未显示的部分。否则,滚动条不会“看到”未显示的部分。