重绘主框架

时间:2011-05-19 21:05:12

标签: graphics graph jframe

想象一下这种情况。我有一个主JFrame窗口和另一个从主窗口弹出的按钮单击。如果我想通过单击弹出窗口上的按钮重新绘制主窗口中的图形,我该怎么办?

1 个答案:

答案 0 :(得分:1)

弹出窗口需要对主窗口的引用。因此,在弹出窗口的构造函数中,您将接受对主窗口的引用并保留它直到需要。

在主窗口中,您可以编写一个方法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();
        }
    });
}