簡體   English   中英

從單獨的類中的偵聽器禁用JButton

[英]Disable a JButton from a listener that's in a separate class

我正在寫一個相當大的類,不想在這里發布。 問題如下,我該如何引用在其他類的構造函數中按下的按鈕? 假設我想在偵聽器中執行一些操作后將其禁用。 如果偵聽器是匿名者或SomeClass的內部類,我將使用變量名稱,如下所示:

button.setEnabled(false);

但是,當我的聽眾是一個單獨的班級時,我該怎么辦? 使用e.getModifiers()。setEnabled(false)和e.getSource()。setEnabled(false)嘗試過,不起作用。

public class SomeClass extends JPanel {
    private JButton button = new JButton("Button");
    public SomeClass() {
        button.setActionCommand("button");
        button.addActionListener(new ButtonListener());
    }


    public static void main(String[] args) {
        // TODO code application logic here
    }
}
class ButtonListener implements ActionListener {
    @Override
    public void actionPerformed(ActionEvent e) {
        String src = e.getActionCommand();
        if (src.equals("button")) {
            //some actions here
            //then            
        }        
    }    
}

試試這個((JButton)e.getSource()).setEnabled(false)

它必須工作)

e.getSource()返回此事件所引用的組件( docs

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM