基本原理是这样的:
1、在父类中定义一个刷新父窗口内容的方法;
2、在父窗口中打开子窗口时,将父窗口的实例也传给子窗口;
3、子类中创建一个父类实例的属性,在子类在构造方法中用此属性接受传过来的父类实例;
4、子窗口关闭时,调用父类中的方法,实现对父窗口内容的刷新。
说明:本方法不包括从子窗口向父窗口回传值 !
具体代码如下:
父类:
1、父类中写一个刷新方法,我随便写一个:
public void showTree()
{
……
}
2、假如父类名为: mainFrame,在父类中打开子窗口的方法
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) // 这是一个菜单事件,点击它可以弹出子窗口
{
upload2 son= new upload2(this); // 这里的this 就是指当前父类的实例,
son.setVisible(true); //子窗口可见
}
子类:
3、创建父类实例属性:
private mainFrame a = null;
在子类的构造方法中,将父类传递过来的实例赋给在子类创建的父类实例: