我正在尝试将一些次要的东西添加到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的其他成员外,我还希望它打印出输入。
最佳答案
利用您提供的信息,我看到了以下问题:
您要声明一个固定的最终数组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
关于java - 使用按钮添加到JList,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34908519/