2016-01-20 139 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