java - 如何在涉及 ActionListener 的另一个类中启用按钮

标签 java user-interface button

我在 Java Eclipse 中引用了这段代码:

public class ClassWithButton extends JFrame{
    private final JPanel Your_Panel_name;

    public void enableButtons() {
    for (Component c : Your_Panel_name.getComponents()) {
      if (c instanceof JButton) 
         c.setEnabled(true);
     }
  }
}

然后有一个类实现了ActionListener.java

public class ActionListenerImpl implements ActionListener{
    public void actionPerformed(ActionEvent e){

    }
}

我在扩展 JFrame 的类中有一个按钮,我有一个面板,我在其中禁用了两个按钮。我有另一个扩展 ActionListener 的类,当我按下面板上的另一个按钮时,我希望启用 2 个禁用的按钮,我该怎么做?

最佳答案

根据您提供的代码,这是一个引用如何工作的快速示例,但这不是我实现它的方式。

public class ClassWithButton extends JFrame{
    private final JPanel Your_Panel_name;
    ActionListenerImpl act;
    JButton otherButton;
    public ClassWithButton()
    {
        act = new ActionListenerImpl(this);
        otherButton = new JButton("Click to enable");
        otherButton.addActionListener(act);
    }
    public void enableButtons() {
        for (Component c : Your_Panel_name.getComponents()) {
            if (c instanceof JButton) 
                c.setEnabled(true);
        }
    }
}

public class ActionListenerImpl implements ActionListener{
    ClassWithButton b;
    public ActionListenerImpl(ClassWithButton b)
    {
        this.b = b;
    }
    public void actionPerformed(ActionEvent e){
        b.enableButtons();
    }
}

关于java - 如何在涉及 ActionListener 的另一个类中启用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36269602/

相关文章:

java - 使用 BouncyCaSTLe 进行 Pad block 损坏错误解码 Rijndael 256

android - 以编程方式创建的按钮不遵循主题的按钮样式

java - 这个关键词指的是什么?

jquery - Toggle时,间距减小

java - if和else语句逻辑困惑

java - 尽管抛出了预期的异常,但 JUnit 测试失败

java - 如何在两个不同的 JFrame 中绘图

user-interface - JavaFX-如何创建简单的自定义绘制控件?

javascript - 如何限制多个通配符搜索?

java - 如何在 JavaFX Canvas 中绘制可选择、可移动且可调整大小的矩形?