私はかなり大きなクラスを書いているので、ここに投稿したくありません。問題は次のとおりです。別のクラスのコンストラクターで押されたボタンを参照するにはどうすればよいですか? たとえば、リスナーでいくつかのアクションを実行した後、無効にしたいとします。リスナーが匿名であるか、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
}
}
}