2015-12-25 64 views
-1

是否可以从ActionListener内部更改变量?从ActionListener内部更改变量

我的意思是财产以后这样的:

boolean test = false; 

    button.addActionListener(new ActionListener(){ 
     public void actionPerformed(ActionEvent e){ 
      test = true; 
     } 
    }); 

我想改变test为真当有人按下按钮。

+0

'white'是'boolean'变量吗? – Satya

+1

我完全惊讶你如何设法在布尔白色上调用'addActionListener'方法 –

+0

这是JavaScript吗?不是Java?请在这种情况下更新标签。 –

回答

1

我不确定这是否有助于你,但如果你正在使用动作监听器,我猜你正在使用javas swing api。在这种情况下,你也许像延长或JFrame类似的东西一类,所以你可以使用这个:

import javax.swing.*; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

public class MyFrame extends JFrame { 

    private boolean booleanToChange = false; 

    private JButton exampleButton; 

    public MyFrame() { 
     exampleButton = new JButton(); 
     exampleButton.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent actionEvent) { 
       //Access a member in anonymous class 
       MyFrame.this.booleanToChange = true; 
      } 
     }); 
    } 
} 

而且here为什么它必须是最终的解释:)希望这有助于有点

0

这可能是你想要的?

private boolean booly = true; 

private class WinkAction implements ActionListener 
{ 
    public void actionPerformed(ActionEvent e) 
    { 

     if (booly){ 
      booly = false; 
     }else { 
      booly = true; 
      repaint();   
     } 
    } 
}