java如何更新JList?
我想从这个程序中得到的是,当按下第一个按钮时,它将显示分配的数组,当按下第二个按钮时,它将清除列表并显示分配的数组,我一直在网上查找解决方案,许多人建议使用列表模型,任何提示都非常感谢
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class tester extends JFrame{
private JList list = new JList();
private JButton b1 = new JButton("Array1");
private JButton b2 = new JButton("Array2");
public tester(){
final String [] Array1 = {"1", "2", "3", "4"};
final String [] Array2 = {"one", "two", "three", "four"};
JPanel p1 = new JPanel();
p1.add(new JScrollPane(list));
p1.add(b1);
p1.add(b2);
add(p1, BorderLayout.CENTER);
b1.addActionListener(new ActionListener (){
public void actionPerformed(ActionEvent e){
DefaultListModel Model1 = (DefaultListModel)list.getModel();
for(int i = 0; i < Array1.length; i++){
Model1.addElement(Array1[i]);
}
}
});
b2.addActionListener(new ActionListener (){
public void actionPerformed(ActionEvent e){
DefaultListModel Model2 = (DefaultListModel)list.getModel();
for(int i = 0; i < Array2.length; i++){
Model2.addElement(Array2[i]);
}
}
});
}
public static void main (String [] args){
tester t1= new tester();
t1.pack();
t1.setLocationRelativeTo(null);
t1.setTitle("Test");
t1.setVisible(true);
t1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
# 1 楼答案
试试这个:
# 2 楼答案