Hello Friends我有一个扩展JFrame并具有JInternalFrames的swing应用程序。我需要从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之后得到两个帧,一个没有组件,第二个带有似乎重叠的组件。请帮忙。 #Beginner#
答案 0 :(得分: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();
}
}
创建内部框架时,必须传递MainFrame。
new InternalFrame(this);
答案 1 :(得分:0)
我认为您也可以在JInternalFrame中调用getParent(this)来获取对封闭JFrame的引用。