在Netbeans环境下做了一个JList,需要对其中的元素进行动态添加删除,可是getModel()后只有getElementAt(i)方法,没有add和remove方法,不知道该怎么操作呢?另外,对于写死在Generate Code里面的代码,如何进行修改呢?谢谢。

解决方案 »

  1.   

    JList.getModel()得到的是ListModel接口类型,你要进行add或remove操作的话需要转换成真实的数据模型类型,比如说你的真实Model是DefaultListModel类型,你可以做一次强制类型转换,DefaultListModel model = ((DefaultListModel)jList.getModel());得到DefaultListModel类型的model就可以add或remove。使用Netbeans开发的话编辑器里限制修改的代码,在GUI设计器及Properties Sheet里的Code Tab里都可以修改的,你仔细研究一下。
      

  2.   

    JList list = new JList();
    DefaultListModel listModel = new DefaultListModel ();
     listModel.addElement(Object obj);//直接添加对象
     listModel.add(int index, Object obj);//在第某行插入一个对象inputList.setModel(listModel );
    //如果要删除对象,直接在 listModel里删除
         listModel.remove(int index);
         listModel.removeElement(Object obj);
      

  3.   

    本人已经上传有Swing常见问题疑难解答(代码及效果图),请自行下载