我已经实现了代码,除了其他功能外,还会在点击后禁用一系列JButton。代码如下:
ActionListener disableButton = new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
if (!(event.getSource() instanceof JButton)) {
return;
}
theModel.currentWord.append(event.getActionCommand());
wordDisplay.setText(theModel.getCurrentWord());
((JButton) event.getSource()).setEnabled(false);
}
};
theModel.randomLetters();
for (int i = 0; i < 16; i++) {
dice = new JButton(theModel.letters.get(i));
dice.addActionListener(disableButton);
boggleGrid.add(dice);
}
注意&#34;((JButton)event.getSource())。setEnabled(false);&#34;线。完成前面的行之后,对按钮的任何单击都不可用。我希望在单击一个单独的按钮时将其反转。它的代码如下:
JButton submitWordButton = new JButton("Submit Word");
submitWordButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent submit) {
wordDisplay.setText("");
theModel.currentWord.delete(0, 16);
((JButton) submit.getSource()).setEnabled(true);
}
});
info.add(submitWordButton, BorderLayout.SOUTH);
我的困境是我不知道如何引用ActionListener之外的JButton,它们一旦点击就会禁用它们,从而再次启用它们。我想用来执行此操作的按钮(最近粘贴在上面的代码的按钮)位于另一个类中。有什么想法吗?