【问题标题】:Switching between internal frames in java在java中的内部框架之间切换
【发布时间】:2013-11-15 14:36:48
【问题描述】:

我的 java netbeans 项目中有 1 个主框架2 个内部框架(比如 -> Frame 1Frame 2)。为了从主框架切换到框架 1,我使用了以下代码 IN THE MAIN-FRAME'S CLASS :-

    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有点陌生。所以,如果你觉得这个问题很傻,请保持冷静。

【问题讨论】:

    标签: java swing jinternalframe jdesktop


    【解决方案1】:

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

    • Frame1 和 Frame2 都是 JInternalFrames

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

    基于此,Frame1 创建 Frame2 后,不应再创建另一个 MainFrame。相反,Frame2 需要添加到原始 MainFrame 的 JDesktopPane 中。

    有很多方法可以做到这一点。一种方法是为 MainFrame 创建一个方法,允许调用者将 JInternalFrame 添加到其桌面。比如:

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

    这将要求每个调用者(在本例中为 Frame1)拥有原始 MainFrame 实例的句柄。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 2020-05-28
      • 2023-03-26
      • 2015-04-17
      • 2020-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多