【问题标题】:how to bind ArrayList to JList如何将 ArrayList 绑定到 JList
【发布时间】:2011-09-19 05:19:45
【问题描述】:

我有一个 JList 和一个 ArrayList。如何将 arraylist 中的数据绑定到 jlist。还有其他方法吗?

    ArrayList arl = new ArrayList();
    arl.add("1asdsd");
    arl.add("2asdsd");
    arl.add("3asdsd");  
    Object obj = arl.clone();
    JList list = new JList(obj);

如何绑定上面的代码。现在代码报错了。

【问题讨论】:

标签: java swing jlist


【解决方案1】:

您不需要克隆 ArrayList。只需调用 toArray()

JList list = new JList(arl.toArray()); 

【讨论】:

  • clone() not here. 各方面有什么用?
【解决方案2】:
ArrayList<String> aList = new ArrayList<String>();
aList.add("blabla");
aList.add("blublu");
aList.add("blibli");
aList.add("bleble");
DefaultListModel<String> model = new DefaultListModel<String>();
for(String s:aList){
    model.addElement(s);
}
JList<String> contactList = new JList<String>(model);

这样做的好处是您可以稍后通过使用方法 addElement(Obj o) 和 removeElement(Obj o) 将元素添加到模型中来添加/删除元素到已经实例化的 JList。

【讨论】:

    【解决方案3】:
    JList jList = new JList(arrayList.toArray());
    

    【讨论】:

      【解决方案4】:
      JList list = new JList(arl.toArray());
      

      【讨论】:

        【解决方案5】:

        另一种选择是:

        DefaultListModel Jlista = new DefaultListModel();
        
        public Form1() {
        
         jList1.setModel(Jlista);
        
        }
        
        public void yourFunction(){
         Jlista.addElement("newElement");
        }
        

        【讨论】:

          猜你喜欢
          • 2016-11-28
          • 2010-09-23
          • 1970-01-01
          • 2021-12-20
          • 2013-09-29
          • 1970-01-01
          • 2011-09-02
          • 2013-09-29
          • 2010-12-24
          相关资源
          最近更新 更多