Как изменить действие JButton после нажатия на него? - PullRequest
0 голосов
/ 13 июня 2019

Я хочу изменить поведение JButton после его нажатия.

JButton btn = new JButton();

btn.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
        super.mouseClicked(e);
        JOptionPane.showConfirmDialog(someLabel, "how are you?", "asd", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
    }
});

Я хотел бы добавить что-то в метод mouseClicked, чтобы получить другой результат при нажатии той же кнопкивремя больше.

Ответы [ 2 ]

4 голосов
/ 13 июня 2019

Для этого вы можете использовать логический флаг, например

public void mouseClicked(MouseEvent e) {
    super.mouseClicked(e);
    if (clicked) {} else {}
    // flip it
    clicked = !clicked;
}
0 голосов
/ 16 июня 2019

Может быть, вы могли бы реализовать счетчик для кнопки.С каждым кликом счетчик будет увеличиваться.Тогда вы можете попробовать это с выключателем.Как это:

public void mouseClicked(MouseEvent e) {
 clickval++;
 switch(clickval){
  case 1:
   do this
   break;
  case 2:
  do that.
  break;
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...