На самом деле в java есть очень простой способ включить и отключить кнопку, которая использует Mouse Listener.
class HoldListen extends MouseAdapter {
@Override
public void mousePressed(MouseEvent e) {
JButton bt = (JButton)e.getSource();
if (!bt.isEnabled()) {
return;
}
// Do code
}
}
Я нашел ваш вопрос, пытаясь создать нечто подобное, и вот как я решил это.
Все методы MouseListener возвращают void, поэтому он работает довольно хорошо. В моей ситуации, возвращаясь к ActionListener, потребовалось бы много дополнительной работы, в то время как MouseListener идеально подходил для этой работы. Нажмите set переменную, которую Release undid и другой поток использовал переменную в текущем моделировании.