2008-11-12 30 views
22
private JButton jBtnDrawCircle = new JButton("Circle"); 
private JButton jBtnDrawSquare = new JButton("Square"); 
private JButton jBtnDrawTriangle = new JButton("Triangle"); 
private JButton jBtnSelection = new JButton("Selection"); 

添加一個ActionListener到一個JButton如何添加操作偵聽到這些按鈕,這樣從一個主要方法我可以打電話給他們actionperformed,所以被點擊時,我可以叫他們我的計劃?你如何在Java中

回答

1

我沒有完全跟進,但要加一個動作監聽,你只需要調用addActionListener(從抽象按鈕)。如果這不能完全回答你的問題,你能否提供更多的細節?

40

兩種方式:

1.在你的類實現ActionListener,然後用jBtnSelection.addActionListener(this);之後,你必須定義一個menthod,public void actionPerformed(ActionEvent e)。但是,對多個按鈕執行此操作可能會造成混淆,因爲actionPerformed方法必須檢查每個事件的來源(e.getSource())以查看它來自哪個按鈕。

2.使用匿名內部類:

jBtnSelection.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
    selectionButtonPressed(); 
    } 
});

之後,你必須定義selectionButtonPressed()。 當您有多個按鈕時,此功能會更好,因爲您對用於處理操作的各個方法的調用恰好位於該按鈕的定義旁邊。

第二種方法還允許您直接調用選擇方法。在這種情況下,如果還有其他行爲發生,你可以撥打selectionButtonPressed() - 例如,當計時器關閉或某事(但在這種情況下,你的方法將被命名爲不同的東西,可能是selectionChanged())。

+0

你解決了我的困惑,非常感謝 – 2010-12-30 04:12:00

相關問題