0

每个人。我在 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 个元素。

有人知道会发生什么吗?

预先感谢您的帮助。

4

1 回答 1

0

您是否将 JList 放在 ScrollPane 中?如果您在列表中看到的内容多于您应该能够滚动浏览所有 400 个?在某个地方尝试这个,因为您没有发布所有代码

JScrollPane scrollPane = new JScrollPane(jList1);

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

于 2013-07-12T14:32:52.567 回答