所以,我试图为一大组按钮定义一组方法,我想我可以在 for 循环中完成它,但我遇到了一个我无法破译的语法错误。 .这是我想要使用的代码的简化版本...错误是:“ token 上的语法错误,错误的构造”
JMenu blocks = new JMenu("Block");
menuBar.add(blocks);
for (int i=0; i < 9; i++){
public void action() {
System.out.println(i+"");
}
JMenuItem blockName = new JMenuItem(i+"");
blockName.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
action();
}
});
blocks.add(blockName);
}
最佳答案
删除您的 action
方法并将代码放入 ActionListener
public void actionPerformed(ActionEvent arg0) {
System.out.println(i+"");
// ... etc.
}
<小时/>
正如其他人在答案中提到的,i
无法从 actionPerformed
内访问。具体来说,请参阅@dasblinkenlight 的答案以获得更彻底的回应。
关于java - 在 for 循环 JAVA 中定义方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12584324/