【发布时间】:2014-10-17 22:14:58
【问题描述】:
我在 DesktopPane 中有几个 JInternalFrames,第一次打开它们时我注意到了一些东西。
当我第一次打开一个,然后打开第二个时,第一个 JInternalFrame 将位于第二个之上。我希望它们在彼此之上打开,但这只是第一次发生。我现在意识到这是因为它们被添加的顺序。但是我的程序将在桌面窗格加载时检索信息,因此我需要在实际打开窗口之前添加 JIF 变量。那么,无论添加顺序如何,如何确保打开的窗口出现在最前面?
我不想使用对话框。
【问题讨论】:
-
我无法在 Windows 上重新创建此问题,您可能需要提供一个简短的代码示例。您可以使用
InternalFrameListener并在internalFrameActivated内调用toFront。 -
我的代码初始化了多个 JIF,但在用户打开窗口之前让它们不可见。因此,当他们打开时,我只需 setVisible(true)。我检查了 InternalFrameListener,但它似乎没有检查 setVisible(false); 的东西。已被调用。有没有办法做到这一点?我没有处理我的 JIF,因为需要保留数据直到程序关闭。
-
没关系,谢谢!当窗口设置为可见时只需调用 toFront() 就足够了。
标签: java swing jinternalframe pane