【问题标题】:Launching a JFrame into another JFrame将一个 JFrame 启动到另一个 JFrame
【发布时间】:2014-12-25 17:56:13
【问题描述】:

是否有人可以从 java 程序中启动 JFrame,但不是 JFrame 创建自己的窗口,而是 java 程序将其启动到现有窗口中?我想尝试一个类加载器,像这样:

    Class framed = WhateverClassThisIs.class.getClassLoader().loadClass("foo.class");
    JFrame launch = (JFrame) framed.newInstance();
    WhatEverJFrameBeingUsed.add(launch);

然后只需将其添加到我当前使用的容器中。但是,如果该类引用另一个 JFrame,如主类,我如何获取该 JFrame 并将其包含在同一个现有 JFrame 中?是否可以从 PID 或程序的其他引用中获取 Graphics 对象?

编辑:我在 Linux 上做这个,在 XOrg 上,最好是在 Debian Squeeze 上

【问题讨论】:

  • 只是...不要尝试
  • 听起来您想在 JDesktopPane 内创建一个 JInternalFrame。如果这不是你想做的,那么我同意@MrD。
  • 你可以访问所有 J​​Frame 的代码吗?
  • 首先感谢您的回复,但我想我的问题确实有点偏离了。我想基本上在 x11 上收听,看看程序何时启动。当一个程序启动时,而不是它自己的窗口,我想将它启动到一个单独的现有窗口,也就是我的程序。

标签: java swing user-interface graphics jframe


【解决方案1】:

是的,这是可能的,但是 看到这个:

 JFrame frame1 = new JFrame("First Window");
 JPanel panel = new JPanel("Second Window");
 frame1.add(panel,BordeLayout.CENTER);
 frame1.setSize(300,300);
 frame1.setVisible(true);

JPanel 是一个包含在 JFrame 中的组件 ,将一个主窗口放到另一个主窗口中并不违法!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    相关资源
    最近更新 更多