2015-12-25 66 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();   
     } 
    } 
}