【问题标题】:Add ArrayList into Listbox Java将 ArrayList 添加到 Listbox Java
【发布时间】:2019-03-05 09:55:34
【问题描述】:

所以我正在尝试将 ArrayList 添加到 Jlist,但出现错误。这是代码

private void BReActionPerformed(java.awt.event.ActionEvent evt) {                                    
            NameList NL = new NameList();
            NL.name.add("a");
            NL.name.add("b");
            NL.name.add("c");
            NL.name.add("d");
            NL.name.add("e");
            for(int i=0; i < NL.name.size(); i++)
            {
                LOut.add(NL.name.get(i));
            }
}

【问题讨论】:

  • 有什么错误?
  • 没有找到适合 add(Object) 的方法
  • NL.nameLOut有哪些类型? (我建议不要以大写字母开头的变量名,顺便说一句)。
  • NL.name 是名为 NameList 的类中的 ArrayList,LOut 是 JList
  • 只是原始类型?所以不是JList&lt;String&gt; 例如?

标签: java swing jlist


【解决方案1】:
LOut.add(NL.name.get(i));
  1. 首先学习一个使用Java命名标准。变量名称不以大写字符开头。

  2. 您不能直接将项目“添加”到 JList。您将项目添加到 ListModel。阅读 How to Use Lists 上的 Swing 教程部分。 ListDemo 代码是一个工作示例,展示了如何将项目添加到 DefaultListModel。该代码还展示了如何使用正确的变量名。

【讨论】:

  • 他提到的 Add 方法和你在这里回答的有什么区别?两者看起来相同 LOut.add(NL.name.get(i));
  • @MrunmayDeswandikar,我刚刚突出显示了代码中的问题行,并给出了该语句导致问题的两个原因。正确的解决方案是将项目添加到模型中,如我链接到的教程中所示。
【解决方案2】:

只需删除名称字段并尝试如下所示,

for(int i=0; i < NL.name.size(); i++)
{
   LOut.add(NL.get(i));
}

【讨论】:

  • ArrayList(称为“名称”)位于另一个名为 NameList.java 的类中。所以我不得不做一个 NameList 的实例,然后调用 ArrayList
猜你喜欢
  • 1970-01-01
  • 2014-09-26
  • 2015-03-30
  • 2013-05-19
  • 1970-01-01
  • 2012-10-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-11
相关资源
最近更新 更多