我是用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,
}
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,
}
这样改吧
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]);
}