1

我正在开发一个包含许多 JFrame 的应用程序,结果我的程序多次出现在任务栏中,每个当前可见的 JFrame 一个。我知道 JInternalFrame 可能会解决我的问题,但我已经制作了很多 JFrame,很难切换!是否可以让我已经制作的 JFrame 出现在总体 JFrame 中?也许以某种方式将每个 JFrame “转移”到 JInternalFrame 中?

我最终希望我的应用程序看起来类似于 Android 应用程序,具有几个可以像浏览器一样导航的“活动”。

谢谢

4

2 回答 2

2

是的,您总是可以从 JFrame 获取 contentPane 并将其放入 JInternalFrame 的 contentPane 中(通过预期的 get 和 set 方法),但是尝试将好的代码添加到糟糕的设计中往往不是一个好主意。您最好重构您的代码并尝试针对 JPanel 而不是 JFrame 编写代码。这样,您就可以灵活地将 JPanel 放置在您希望的任何位置,无论是 JInternalFrames、JDialogs、JTabbedPane 组件,还是通过 CardLayout 交换。

于 2011-07-31T19:54:02.290 回答
2

替代方案,那么您只需在 JPanel 之间切换

在此处使用CardLayout示例

使用选项卡式窗格此处

于 2011-07-31T19:55:45.540 回答