actionListener не вызывается при закрытии и повторном открытии окна - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть всплывающее окно, которое открывается при нажатии кнопки printName.pop-up имеет check-box.check-box когда checked prints name во всплывающем окне и unchecked clears name во всплывающем окне.

Проблема возникает, когда всплывающее окно closed and reopened.Независимо от значения по умолчанию checked не вызывает actionListener (не печатает имя).

Так что теперь я пытаюсь вызвать функцию printMyName так же, как генерируется всплывающее окноот слушателя, инициализированного для всплывающей (printName) кнопки

printName всплывающая структура -

public NameDisplayPanel
      (
         NameEvent                   name,
         NameDisplayPanelListener listener
      ) 
      {
        this.name     = name;
        this.listener = listener;

         //Some code
      }

Вот код для вызова printMyName, когда check-boxпереключается -

      CB = new JCheckBox("Display Selected", false);
      CB.addActionListener(
              new ActionListener() {
                  public void actionPerformed(ActionEvent e) {
                      if (((JCheckBox) e.getSource()).isSelected()) CB.setSelected(true);
                      else  CB.setSelected(false);
                      printMyName();
                  }
              }
      );

      CB.setSelected(true); //Checks the checkbox true everytime the window reopens

      // Trying to implement method to invoke printMyName everytime when NameDisplayPanel pop-up is created.

Есть ли какие-либо подсказки о том, как реализовать этот слушатель?

1 Ответ

0 голосов
/ 01 апреля 2019

Устанавливает состояние кнопки.Обратите внимание, что этот метод не вызывает actionEvent.Вызовите doClick, чтобы выполнить изменение действия программы .

API Java Doc

...