Graphics 重新粉刷主机架

Graphics 重新粉刷主机架,graphics,graph,jframe,Graphics,Graph,Jframe,想象一下这种情况。我有一个JFrame主窗口和另一个通过点击按钮从主窗口弹出的窗口。如果我想通过单击弹出窗口上的按钮在主窗口中重新绘制图形,该怎么办 弹出的窗口需要对主窗口的引用。因此,在弹出窗口的构造函数中,您将接受对主窗口的引用,并将其保留到需要时 在主窗口中,您可以编写一个方法update(),该方法可以从弹出的窗口中调用,并使主窗口相应地重新绘制自身。例如: PoppedUpWindow win = new PoppedUpWindow(this);//this is the main

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

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

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

如果两个类都被JFrame扩展了呢?我的意思是,通过在我的主窗口中创建另一个PoppedUpWindow对象,在运行程序之后,它只会弹出两个Jframes。同样的事情也适用。关键是poppedupwindow需要对主窗口的引用。因此,首先创建主窗口,并将其传递给弹出窗口。