Java 链接两个JFrame,使其中一个始终位于另一个之上

Java 链接两个JFrame,使其中一个始终位于另一个之上,java,swing,jframe,multiple-instances,window-management,Java,Swing,Jframe,Multiple Instances,Window Management,我需要创建两个JFrame,f1和f2,以便: 即使f2获得焦点,f2也总是正好在f1之下 f1不一定总是在顶部(例如,可以在顶部出现弹出窗口) 没有其他窗口(来自同一java应用程序或任何其他应用程序) 可以在f1和f2之间插入操作系统的应用程序 注意:我不能使用CardLayout、InternalFrames或其他轻型组件。我确实需要两个JFrames(或窗口)。原因是我必须在Java应用程序上重新分配一个X窗口,出于几个原因,我需要在f2帧上重新分配这个X窗口,f1窗口的这一部分是透

我需要创建两个
JFrame
,f1和f2,以便:

  • 即使f2获得焦点,f2也总是正好在f1之下
  • f1不一定总是在顶部(例如,可以在顶部出现弹出窗口)
  • 没有其他窗口(来自同一java应用程序或任何其他应用程序) 可以在f1和f2之间插入操作系统的应用程序

注意:我不能使用CardLayout、InternalFrames或其他轻型组件。我确实需要两个
JFrames
(或
窗口
)。原因是我必须在Java应用程序上重新分配一个X窗口,出于几个原因,我需要在f2帧上重新分配这个X窗口,f1窗口的这一部分是透明的,以便用户可以看到后面的X窗口。

忘记使用两个帧。使用一个框架,将一个JSplitPane(或一个简单的JPanel)放入其中,将其分成两部分


使用UI组件做他们不想做的事情会带来糟糕的用户体验,并且不可能可靠地实现。

忘记使用两个框架。使用一个框架,将一个JSplitPane(或一个简单的JPanel)放入其中,将其分成两部分


使用UI组件来做他们不打算做的事情会带来糟糕的用户体验,并且不可能可靠地实现。

我建议使用多个面板,并使用多个面板来管理它们,而不是使用多个框架,我建议使用多个面板,并使用

对其进行管理。您能给我们提供更多关于您尝试执行的操作的详细信息吗?我不明白为什么F2正在建设,如果F1将始终有优先权在屏幕上。JVM将无法控制确保没有其他帧进入这些帧之间,而无需编写大量代码。

您能给我们提供更多关于您试图做什么的详细信息吗?我不明白为什么F2正在建设,如果F1将始终有优先权在屏幕上。JVM将无法控制确保没有其他帧进入这些帧之间,而无需编写大量代码。

在不可执行的
JDesktopPane中使用两个s
也许?看,我不能。我编辑了我的帖子来解释原因。@paranoia25我发现你提到的X-Window非常令人困惑,在谷歌把我引向你关于重新租赁的另一个问题后,我终于知道了你想要什么。但是我认为你在这里提出的关于两个jframe的问题不会让你更接近于解决这个问题。特别是当你问问题时没有给出适当的上下文。是的,但正如你所说,当我提到X窗口时,它变得相当混乱。我无法解释我所有的问题!!我将尝试编辑我的帖子,以便有更清晰的问题。在一个不可编辑的
JDesktopPane
内使用两个s,也许吧?看,我做不到。我编辑了我的帖子来解释原因。@paranoia25我发现你提到的X-Window非常令人困惑,在谷歌把我引向你关于重新租赁的另一个问题后,我终于知道了你想要什么。但是我认为你在这里提出的关于两个jframe的问题不会让你更接近于解决这个问题。特别是当你问问题时没有给出适当的上下文。是的,但正如你所说,当我提到X窗口时,它变得相当混乱。我无法解释我所有的问题!!我会尽量编辑我的帖子,以便有更清晰的问题。我不能。事实上,我必须在Java应用程序上重新租用一个Xwindow。出于几个原因,我需要将这个Xwindow重新分配到f2帧上,并且f1 windouw的这部分是透明的,以便看到后面的Xwindow。我不能。事实上,我必须在Java应用程序上重新租用一个Xwindow。出于几个原因,我需要将这个Xwindow重新分配到f2帧上,并且f1 windouw的这部分是透明的,以便看到后面的Xwindow。我不能。事实上,我必须在Java应用程序上重新租用一个Xwindow。出于几个原因,我需要将这个Xwindow重新分配到f2帧上,并且f1 windouw的这部分是透明的,以便看到后面的Xwindow。我不能。事实上,我必须在Java应用程序上重新租用一个Xwindow。出于几个原因,我需要将此Xwindow重新分配到f2帧上,并且f1 windouw的该部分透明,以便看到后面的Xwindow。我编辑了我的帖子,详细解释了为什么我希望这两个帧始终位于另一个帧之上。我编辑了帖子,详细解释了为什么我希望使用这些帧两帧,其中一帧始终位于另一帧之上。