Второе нажатие кнопки GUI - PullRequest
0 голосов
/ 23 сентября 2019

Я пытаюсь разрешить повторное нажатие моей кнопки в моем графическом интерфейсе после вычисления и отображения костей, брошенных пользователем.Пока что единственное решение, которое я нашел, - это .setSource (false);Заявление в моем actionListener для моей кнопки.Где я могу разместить свой код (и я предполагаю, что может быть более эффективный оператор для сброса моей кнопки)?

button.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
        if (e.getSource() == button){
            /* my output when button is pressed
            .
            .
            . */
            e.setSource(false);
          }
    }); 

1 Ответ

0 голосов
/ 23 сентября 2019

Возможно, использовать глобальную логическую переменную класса для использования в качестве флага переключения:

public class MyClass {

    boolean toggle = false;
    /*
      other relative class code
    */


    button.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
        // If button is selected the first time.
        if (e.getSource() == button && !toggle){
            toggle = true;
            /* my output when button is pressed the first time.
            .
            .
            . */

            e.setSource(false);
        }
        // If button is selected the second time.
        if (e.getSource() == button && toggle){
            toggle = false;
            /* my output when button is pressed the second time.
            .
            .
            . */
            e.setSource(false);
        }
    }); 
...