我是用netbeans写的界面,其中用到Jlist的部分如下:
  jList1.setModel(new javax.swing.AbstractListModel() {
            String[] strings = subjects;//这里这个字符串数组就是list的列表项的值
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });而我在类里面设置了subjects的值:
 private String[] subjects = MsgShow.getSubjects("pop3", "127.0.0.1", UserAddress, Password, 110);//这里是取邮件标题列表我的目的就是想用Jlist显示邮件标题列表,现在是可以的。但是我现在想通过该界面的一个按钮刷新Jlist的值(因为通过这个按钮我切换了用户)我该怎么做?
以下是我的方法,但是一运行就死机
 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {            
        subjects=MsgShow.getSubjects("pop3", "127.0.0.1", "user1", "111", 110); //切换成user1用户,密码111,
    }     

解决方案 »

  1.   

    刷新jlist只要刷新model即可
    这样改吧
    DefaultListModel model = new DefaultListModel();
    jList1.setModel(model);
    for(int i = 0; i < subjects.length; i ++){
        model.addElement(subjects[i]);
    }在刷新list的按钮事件中,这样写
    model.removeAllElements();
    for(int i = 0; i < subjects.length; i ++){
        model.addElement(subjects[i]);
    }
      

  2.   

    赞同。jList不是很容易使用得很好的。