Как мне вызвать функцию в другом запущенном классе? - PullRequest
0 голосов
/ 09 октября 2018

Итак, у меня есть один JFrame, а затем, когда я нажимаю кнопку, он открывает другой JFrame в другом классе с простым ActivityWindow.main(new String[] {""});.Затем, когда я выхожу из созданного JFrame, мне нужно обновить первый JFrame, потому что данные изменились.Что мне интересно, как я могу вызвать функцию для первого JFrame класса, из созданного JFrame класса?Например, я знаю, что могу сделать что-то вроде MainWindow.read(); (где read() - функция), но она выполняет функцию в этом классе, а не в этом.

Также создаю таймер для первого JFrame для автоматического обновления не вариант.

1 Ответ

0 голосов
/ 09 октября 2018
  1. Создайте метод public в 1-ом JFrame.

    public void changesToFrame(){
         ....
    }
    
  2. Создайте другую переменную экземпляра для хранения родительского JFrame и другого конструктора во второмJFrame.

    JFrame jf1; 
    
    public NewJFrame(JFrame jf1){
        this(); //calls the default constructor
        this.jf1 = jf1;
    }
    
  3. Теперь передайте родительский элемент JFrame при создании второго.

    JFrame jf2 = new JFrame2(this);
    
  4. Затем вы можетепросто вызовите метод changesToFrame() первого JFrame внутри второго.

    jf1.changesToFrame();
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...