Java 从';她在另一个班
我正在写一个相当大的类,不想在这里发布。问题是,我如何引用在另一个类的构造函数中按下的按钮?比方说,我想在侦听器中执行某些操作后禁用它。如果侦听器是匿名的,或者是SomeClass的内部类,我只会使用变量的名称,如下所示:Java 从';她在另一个班,java,swing,jbutton,actionlistener,Java,Swing,Jbutton,Actionlistener,我正在写一个相当大的类,不想在这里发布。问题是,我如何引用在另一个类的构造函数中按下的按钮?比方说,我想在侦听器中执行某些操作后禁用它。如果侦听器是匿名的,或者是SomeClass的内部类,我只会使用变量的名称,如下所示: button.setEnabled(false); 但是,当我的侦听器是一个单独的类时,我该怎么做呢?尝试使用e.getModifiers().setEnabled(false)和e.getSource().setEnabled(false)无效 public class
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()
返回此事件所引用的组件()是的,它确实有效,非常感谢。然而,在我看来,这种解决办法似乎是某种“欺骗”。我想知道是否有一种“官方”的方法来做这件事?这不是欺骗,而是官方的方法