将元素添加到NetList中的jList 8.2

问题描述:

使用“测试”而不是我的字符串结果来减少特定的。已经检查了与此问题的其他问题,并尝试过,但无法找到有效的答案。将元素添加到NetList中的jList 8.2

试图首先打印“测试”到我已经通过Netbeans发送的jList FriendsList中。该模型是默认的,我无法看到我设置它的方式有什么问题。该文件正如System.out正确读取。

的Java:

DefaultListModel listOfFriends; 
    listOfFriends = new DefaultListModel(); 
    friendsList = new JList(listOfFriends); 

    String[] result = line.split(","); // line is previously init. 

    for (int i = 0; i < result.length; i++) 
     listOfFriends.addElement("test"); // THIS DOES NOT WORK 
     System.out.println(result); // THIS WORKS 
    } 

JList的被添加到帧的文件,因为NetBeans 结束时自动没有,然后你不能改变它。

文件

Java的结束(变量声明不能编辑):

public javax.swing.JList<String> friendsList; 
+0

变量名称不应以大写字符开头!为什么“FrindsList”在没有其他变量的情况下以大写字母开头?保持一致并遵循Java约定! – camickr

+0

您是否将JList添加到框架中?发布一个证明问题的适当的[mcve]。请注意,我们无法访问您的数据文件,因此首先请使用硬编码数据。一旦有效,你只需用文件中的数据替换硬编码数据即可。 – camickr

+0

@camickr我已经为你添加了它们。我们将FriendsList设置为大写的原因是因为我们想要很容易地识别出我们初始化的某个swing元素。只是一些让我们更容易编码和完成他人工作的东西。非常感谢您的有用评论! –

你有这样做的方法有两种: 1)在你的代码的initComponents之后的任意位置手动调用list.setModel()()叫做。 2)通过NetBeans完成 - 右键单击​​列表,转到“自定义代码”。第一个代码段是列表的构造函数调用。将下拉列表从“默认代码”更改为“自定义创建”,然后在构造函数调用中插入ListModel。你可以将其设置为new javax.swing.JList(new DefaultListModel()) 或呼叫之前实例化你的ListModel到的initComponents()中的代码,然后做 javax.swing.JList(defaultModel);

我只是复制和被人

回答过类似的问题将代码粘贴做到这一点
+0

是的,你是正确的,但即使将它从Abstract更改为DefaultListModel,它仍然不像预期的那样工作。 –

+0

我想你试图通过其他方式尝试添加项目到JList拖放到设计选项卡中,而不是在设计选项卡中添加项目。 –

+0

将此添加为正确。为我排序,谢谢! –