2012-01-23 80 views
1

我需要聽Jbutton按下,但我的實現似乎不正確。在包含JButton的課堂上,我有返回一個JButtons動作偵聽器,以便其他類可以使用它

public JButton button() { 
    return button; 
} 

在類(稱呼它,listenerClass)II監聽器按鈕

buttonClass.button().addActionListener(new buttonActionListener()); 

public class buttonActionListener implements ActionListener { 
    public void actionPerformed(ActionEvent e) { 
     //local method calls 
    } 
} 

我需要有聽衆在listenerClass因爲該類包含我需要的邏輯和方法。我覺得發佈整個JButton是不正確的。我不知道如何發佈按鈕actionListener,然後我可以做任何我喜歡的在listenerClass。該buttonClass不知道該listenerClass

在此先感謝什麼:)實現這一

+0

另請參閱['Action'](http://docs.oracle.com/javase/tutorial/uiswing/misc/action.html)教程。 – trashgod

回答

2

一種方法是自定義的方法是委託添加到buttonClass到按鈕。例如,你可以添加一個名爲addSomethingHappenedListener的方法,它將在內部調用`button.addActionListener',調用者不需要知道細節。

這種方式呼叫者甚至不需要甚至不需要知道它只是某個事件發生的按鈕。

+0

啊!當然。非常感謝。 :) – Decrypter

相關問題