JList没有显示所有读取的元素

时间:2013-07-12 13:57:06

标签: java swing jlist

大家。我在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个元素。

有人知道会发生什么吗?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您是否将JList放在ScrollPane中?如果你在列表中看到的不仅仅是什么,你应该能够滚动所有400?试试这个,因为你没有发布所有代码

JScrollPane scrollPane = new JScrollPane(jList1);

然后将滚动窗格放到面板上。或者,如果您使用gui编辑器删除旧的JList并打开滚动窗格,然后将Jlist添加到滚动窗格。我希望这有帮助!