JList 不显示项目或选择性显示

发布于 2024-10-11 13:47:08 字数 653 浏览 4 评论 0原文

我有一个 Java Swing 应用程序,使用 JList 来显示数据库中的一些数据。

我以这种方式使用 DefaulListModel 作为列表的数据模型:

void PopulateSoldiersList() 
{
      try
      {
           soldiersListModel = new DefaultListModel();
           for (Soldier i : myBackEnd.GetAllSoldiers())
           {
                 soldiersListModel.addElement(i);
           }
           this.listSoldiers.setModel(soldiersListModel);
      }
      catch (Exception ex) {// Error Message}
}

并且出于某种原因,列表只是保持为空...

我什至在运行时确保所有数据都在数据模型中正确设置,甚至在JList 的“dataModel”属性!

在应用程序的其他地方,我遇到了类似的问题,但是有时列表显示模型中的一些项目(但不是全部),

我不知道从这里去哪里......

请帮助。 谢谢!

I have a Java Swing application using a JList to show some data from a DB.

I am using DefaulListModel as the data model for the list in this way:

void PopulateSoldiersList() 
{
      try
      {
           soldiersListModel = new DefaultListModel();
           for (Soldier i : myBackEnd.GetAllSoldiers())
           {
                 soldiersListModel.addElement(i);
           }
           this.listSoldiers.setModel(soldiersListModel);
      }
      catch (Exception ex) {// Error Message}
}

And for some reason, the list just stays empty...

I even did make sure at runtime that all the data is set up properly in the data model and even in the "dataModel" property of the JList!

In other place at the app i have a similar problem, but there, sometimes the list show few items from the model (but not all of them)

I have no idea where to go from here...

please help.
Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

动次打次papapa 2024-10-18 13:47:08

虚惊。

我真的需要自杀。

我有另一个列表,我使用类似的方法来填充两个列表。

实际上它们非常相似,我只是复制粘贴了上面发布的方法 - 来填充另一个列表。

以我无限的智慧,我只忘记更改一件事:我正在为其设置数据模型的列表的名称...

所以我最终使用了两种填充同一列表的方法:第一个包含有效数据,以及第二个只是用空数据覆盖它。

猜猜我以什么顺序调用这些方法...

myBackEnd = new DBBackEnd();
initComponents();
PopulateSoldiersList();
PopulateMissionsList();

我不再需要复制粘贴了!

False alarm.

I really need to kill myself.

I have another list, and i used similar methods to populate both lists.

Actually they so similar that i just copy-pasted the method i posted above - to populate the other list.

In my infinite wisdom i forgot to change only one thing: the name of the list which i'm setting the data model for...

So i ended up with two methods that populate the same list: the firs one with valid data, and the second just override it with empty data.

and guess in what order i called the methods...

myBackEnd = new DBBackEnd();
initComponents();
PopulateSoldiersList();
PopulateMissionsList();

No more copy-paste for me!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文