有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

swing Java:向图形对象添加ActionListener

我有一大堆按钮,有没有一种方法可以将actionListeners添加到所有按钮中,而不必对所有按钮进行button.addActionListeners(this)?这让代码看起来很混乱


共 (2) 个答案

  1. # 1 楼答案

    如果你想让所有的按钮都有共同的行为,你需要让它们扩展一个抽象类,在这个抽象类中你定义了共同的代码。因此,用自己的add listener方法定义自己的抽象MyButtonClass

  2. # 2 楼答案

    如果所有按钮都在一个容器上,您可以注册一个ActionListener,如下所示:

    for (Component c: container.getComponents()) {
       if (c instanceof JButton) {
          ((JButton)c).addActionListener(this);
       }
    }