我想從這個程序是當按下第一個按鈕時,它會顯示分配的數組,當按下第二個按鈕是清除列表並顯示分配的數組,我一直在尋找解決方案在線和許多人建議使用列表模型,任何提示都表示讚賞。如何更新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);
}
}
你面臨的問題是什麼?如果你問一個關於你的代碼的具體問題,這個帖子將是一個完美的候選人(並構成一個完美的問題),因爲它已經有一個MCVE –