【问题标题】:How to show model's value in JList?如何在 JList 中显示模型的值?
【发布时间】:2014-01-12 22:51:06
【问题描述】:

我有一个 ArrayList,我用模型感受它,我想在 Jlist 中显示模型值,我将 arraylist 传递给 Jlist 并将其转换为数组,但我不知道如何显示每个对象的值。 我的代码在这里:

ListIterator<PhoneModel> listIterator = list.listIterator();

while (listIterator.hasNext()) {
    PhoneModel value = listIterator.next();
    System.out.println("The phone number of "+value.name+" is "+value.number);
}
jList.setListData(list.toArray());

感谢朋友们的帮助!

【问题讨论】:

标签: java swing arraylist jlist


【解决方案1】:

您可以覆盖PhoneModel 上的 toString() 方法,因此它会自动将其显示为 JList 中的标签。

【讨论】:

  • tnx 非常多,你能解释一下toString()吗?这个函数到底是做什么的?(对不起我的英语)
  • toString() 方法返回对象的字符串表示形式。当 Object 是 String 时,它会返回它的值。如果没有定义 toString 方法,则调用Object.toString(),它返回一个表示对象类型的文字字符串。如果您在 System.out.print(phoneModel) 之类的语句中使用模型 bean 或在您的情况下使用模型 bean,则覆盖该方法很重要,因为在后台 java 调用 phoneModel.toString() 以打印其字符串表示。
【解决方案2】:

使用DefaultListModel 从迭代器中获取数据。然后创建新的defaultlistmodel 运行时并添加这个model.addElement(yourvariable.ToString());

例如。这里需要 Listarray..

DefaultListModel<String> model;

private void UpdateJList()
{
    model = new DefaultListModel<String>();
    for(Person p : personList){
     model.addElement(p.ToString());
}    
clientJList.setModel(model);     
clientJList.setSelectedIndex(0);

}

模型数据插入 jList..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 2011-11-06
    • 2010-12-09
    • 2013-03-26
    • 2019-10-12
    • 2013-05-22
    相关资源
    最近更新 更多