大家。我在JPanel中有一个JList,我使用以下代码进行了初始化:
DefaultListModel lmodel;
lmodel=new DefaultListModel();
jList1.setModel(lmodel);
JList是在Netbeans可视化编辑器中创建的,并放在JScrollPane1中。当我从模型中添加或删除一些元素时,一切正常。尽管如此,JList可以显示的元素数量似乎有限,奇怪的是设置为294。
我有一个从文本文件中读取项目的方法,这是非常标准的:
BufferedReader inputStream=new BufferedReader(new FileReader(nomeArquivo));
String line = inputStream.readLine();
while (line!=null) {
int i=line.indexOf("=");
if (i>0) {
lmodel.addElement(line);
}
line = inputStream.readLine();
}
inputStream.close();
System.out.println("Final list size="+jList1.getModel().getSize());
所有的尝试和捕获都已到位 - 这只是一个片段。没有阅读错误,一切顺利,没有例外。
当我读取包含400个元素的文件时,所有这400个元素都在lmodel中。我甚至可以在之后保存它们(也有一种方法)并且方法结尾的println给出了数字400作为读取。
然而,该列表从未显示更多294个元素。如果列表中有x个元素,则屏幕上只能查看294-x个元素。
有人知道会发生什么吗?
提前感谢您的帮助。
答案 0 :(得分:0)
您是否将JList放在ScrollPane中?如果你在列表中看到的不仅仅是什么,你应该能够滚动所有400?试试这个,因为你没有发布所有代码
JScrollPane scrollPane = new JScrollPane(jList1);
然后将滚动窗格放到面板上。或者,如果您使用gui编辑器删除旧的JList并打开滚动窗格,然后将Jlist添加到滚动窗格。我希望这有帮助!