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

标签 java swing jinternalframe jdesktop

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

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

上面的代码工作得很好,从而创建了框架 1。但是不幸的是,下面的代码 WHICH IS IN THE FRAME 1's CLASS 不起作用:-

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

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

最佳答案

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

  • Frame1 和 Frame2 都是 JInternalFrame

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

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

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

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

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

关于java - java中内部框架之间的切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20003506/

相关文章:

cygwin - 使用 Cygwin 安装 JDK 的最新版本?

java - 在一个 JOptionPane 消息框中转换一堆 System.out.prints

java - JInternalFrame图像包

java - 如何消除大尺寸java swing标签中的间隙

java - slider 拼图问题

java - 根据屏幕分辨率自动调整JInternalFrame的大小

java - JInternalFrame 最小化,同时保持当前位置

java - 为什么 ruby​​ modulo 与 java/other lang 不同?

java - 为 MQSeries 编写 Java 客户端的最低要求是什么?

java - 在 Spring Rest Controller 中执行的方法明显比在纯 java 项目中慢