在 java 中的内部框架之间切换



我的java netbeans项目中有1个主框架2个内部框架(比如-> Frame 1Frame 2)。为了从大型机切换到帧 1,我在大型机的类中使用以下代码:-

    Frame1 frame = new Frame1();
    frame.setVisible(true);
    jDesktopPane1.add(frame);
    setContentPane(jDesktopPane1);

上面的代码工作得很好,从而创建了帧 1。但是不幸的是,框架 1 类中的以下代码不起作用:-

    Frame2 frame2 = new Frame2();
    MainFrame mf = new MainFrame();
    frame2.setVisible(true);
    mf.setContentPane(frame2);

请告诉我哪里出错了。我对Java有点陌生。所以,如果你觉得这个问题很愚蠢,请保持冷静。

由于您没有提供SSCCE,我将做出一些假设:

  • Frame1 和 Frame2 都是 JInternalFrame

  • MainFrame 是一个 JFrame,你只需要它的一个实例

基于此,在 Frame1 创建 Frame2 之后,它不应该创建另一个大型机。相反,Frame2 需要添加到原始 MainSet 的 JDesktopPane 中。

有很多方法可以做到这一点。一种方法是创建一个大型机的方法,允许调用方将 JInternalFrame 添加到其桌面。像这样:

public void addFrame(JinternalFrame iFrame)
{
   desktop.add(iFrame);
}

这将要求每个调用方(在本例中为 Frame1)具有原始大型机实例的句柄。

相关内容

  • 没有找到相关文章

最新更新