如何在按钮 ActionListener 中到达外部 int?
How can I reach outside int in a button ActionListener?
int a = 0 ;
btnNormal.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e3)
{
a = 2;
}
});
我想这样做,但 eclipse 说:在封闭范围内定义的局部变量 a 必须是最终的或实际上是最终的。如果我更改为 final int 则什么也不会发生。解决办法是什么?如何更改 actionListener 中的 int?
您可以使用数组来解决您的问题。
像这样:
int[] a = {0};
btnNormal.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e3)
{
a[0] = 2;
}
});
或者 AtomicInteger
class:
final AtomicInteger a = new AtomicInteger(0);
btnNormal.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e3)
{
a.set(2);
}
});
int a = 0 ;
btnNormal.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e3)
{
a = 2;
}
});
我想这样做,但 eclipse 说:在封闭范围内定义的局部变量 a 必须是最终的或实际上是最终的。如果我更改为 final int 则什么也不会发生。解决办法是什么?如何更改 actionListener 中的 int?
您可以使用数组来解决您的问题。 像这样:
int[] a = {0};
btnNormal.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e3)
{
a[0] = 2;
}
});
或者 AtomicInteger
class:
final AtomicInteger a = new AtomicInteger(0);
btnNormal.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e3)
{
a.set(2);
}
});