Перекрасить основной кадр - PullRequest
2 голосов
/ 20 мая 2011

Представьте себе эту ситуацию. У меня есть главное окно JFrame и еще одно, которое выскакивает из главного окна нажатием кнопки. Что мне делать, если я хочу перекрасить график в главном окне, нажав кнопку в появившемся окне?

1 Ответ

1 голос
/ 20 мая 2011

В появившемся окне нужна ссылка на главное окно. Таким образом, в конструкторе всплывающего окна вы примете ссылку на главное окно и сохраните ее до необходимости.

В главном окне вы можете написать метод update (), который можно вызвать из всплывающего окна и заставить главное окно перерисовать себя соответствующим образом. Например:

PoppedUpWindow win = new PoppedUpWindow(this);//this is the main window

и в появившемся окне:

MainWindow mainWin;
JButton btn;

public PoppedUpWindow(MainWindow mwin){
    mainWin = mwin;
    btn = new JButton("Click to Update");
    btn.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
              mainWin.update();
        }
    });
}
...