2016-01-20 159 views
0

我試圖添加到一個JList中,但是我點擊添加按鈕時遇到了一個問題。使用按鈕添加到JList

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    final String[] nums = {"a", "b", "c"}; 
    JFrame frame = new JFrame("Try"); 
    Container pane = frame.getContentPane(); 
    JList list = new JList (nums); 
    int column = nums.length+1; 
    pane.setLayout(new GridLayout(column, 2)); 
    pane.add(list); 
    JButton addpiece = new JButton("Add"); 
    pane.add(addpiece); 
    addpiece.addActionListener(new ActionListener(){ 
     public void actionPerformed(ActionEvent e){ 
      int j = nums.length; 
      nums[j+1] = "input"; 
     } 
    }); 
    frame.pack(); 
    frame.setVisible(true); 

} 

單擊添加按鈕時出現錯誤。除了JList的其他成員外,我還希望它輸出輸入。

+3

什麼是錯誤您收到? – manouti

回答

1

與您提供我看到了以下問題的信息:

你宣佈一個固定的,並呼籲最終陣列NUMS:

final String[] nums = {"a", "b", "c"}; 

而當你點擊按鈕你執行驗證碼:

int j = nums.length; 
nums[j+1] = "input"; 

你有兩個問題:

最終字段不能修改。
java中的數組是固定大小。

處理您的JList正確,你必須這樣做以另一種方式:

供您參考:

http://www.seasite.niu.edu/cs580java/JList_Basics.htm