0

你好朋友我有一个扩展 JFrame 和 JInternalFrames 的摇摆应用程序。我需要从 JInternalFrame 中的 ActionEvent 刷新 MainFrame。我的主机(伪)

    public class MainFrame extends JFrame{
    .................

    }
public void Refresh(){
    invalidate();
    validate();
    }

我的 JInternalFrame(Pseud0)

public class EndOfTerm extends JInternalFrame implements ActionListener{

public void actionPerformed(ActionEvent ae){

.........
new MainFrame().Refresh();

}

}

我在 ActionEvent 之后得到两帧,一帧没有组件,第二帧带有似乎重叠的组件。请帮忙。#初学者#

4

2 回答 2

1

您必须将 MainFrame 保存在 InternalFrame 中。

public class EndOfTerm extends JInternalFrame implements ActionListener{

    private MainFram mainFrame;

    public EndOfTerm(MainFrame mainFrame) {
        this.mainFrame = mainFrame;
    }

    public void actionPerformed(ActionEvent ae){

        .........
        mainFrame.Refresh();

    }

}

创建 InternalFrame 时,您必须传递 MainFrame。

new InternalFrame(this);
于 2013-03-07T13:35:18.843 回答
0

我认为您也可以在 JInternalFrame 中调用 getParent(this) 来获取对封闭 JFrame 的引用。

于 2013-03-07T13:36:27.107 回答