如何制作指定大小的JInternalFrame?

发布于 2024-12-07 15:09:05 字数 806 浏览 1 评论 0原文

我有一个 JFrame。 我已经添加了菜单栏。 我已使用以下行设置其大小和位置。

frmMain.setBounds(0, 0, 1024, 768);  // JFrame 

接下来,我将 JInternalFrame 添加到 JInternalFrame 的代码中,如下所示:

ifActivateProject=new JInternalFrame();
ifActivateProject.setBounds(450, 400, 300, 350);
ifActivateProject.add(pnlActivateProject);
ifActivteProject.setVisible(true);
ifActivateProject.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);
frmMain.getContentPane().add(ifActivateProject);

当我执行程序时,内部框架占据 JFrame 中的所有剩余区域。因为我已经设置了内部框架的位置和大小。它不会出现在该位置和指定的大小。

我想根据菜单单击方式显示不同尺寸的内部框架,在一个菜单上单击一个内部框架已显示。在另一个菜单上关闭该内部框架后,单击另一个应该会出现在我的 JFrame 中。所有这些内部框架都有不同的尺寸。但问题是如上面的代码片段所示添加的内部框架获取了 JFrame 的所有空间。

上面的代码有什么问题?

I have a JFrame.
I have added menu-bar to it.
I have set its size and location using following line.

frmMain.setBounds(0, 0, 1024, 768);  // JFrame 

Next I have added a JInternalFrame to the code for JInternalFrame as follows:

ifActivateProject=new JInternalFrame();
ifActivateProject.setBounds(450, 400, 300, 350);
ifActivateProject.add(pnlActivateProject);
ifActivteProject.setVisible(true);
ifActivateProject.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);
frmMain.getContentPane().add(ifActivateProject);

When I executes the program the Internal frame occupies all the remaining area in JFrame. As I have set the location and size of internal frame. It wont appear at that location and of the specified size.

I want to show Internal frame of different sizes depending on menu click means on one menu click one internal frame has shown. After closing that internal frame on another menu click another should be appear in my JFrame. All these internal frames are of different sizes. But the problem is the added internal frame as shown in above code snippet acquires all the space of JFrame.

What's wrong with above code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你另情深 2024-12-14 15:09:05

应将 JInternalFrame 添加到 JDesktopPane,而不是 JFrame

有关更多详细信息,请参阅如何使用内部框架

A JInternalFrrame should be added to a JDesktopPane, not a JFrame.

See How to Use Internal Frames for more details.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文