我正在开发一个显示图像的应用程序,并从数据库中播放声音。我正在尝试决定是否使用单独的JFrame从GUI向数据库添加图像。

我只是想知道使用多个JFrame窗口是否是好的实践?


当前回答

绝对是坏习惯。一个原因是它不是很“用户友好”,因为每个JFrame都显示一个新的任务栏图标。控制多个jframe会让你抓狂。

就我个人而言,我会为您的应用程序使用ONE JFrame。显示多个东西的方法取决于你,有很多。画布,JInternalFrame, CardLayout,甚至JPanels可能。

多个JFrame对象=痛苦、麻烦和问题。

其他回答

这不是一个好的实践,但即使你希望使用它,你也可以使用单例模式。我在我的大部分项目中都使用了单例模式,这很好。

绝对是坏习惯。一个原因是它不是很“用户友好”,因为每个JFrame都显示一个新的任务栏图标。控制多个jframe会让你抓狂。

就我个人而言,我会为您的应用程序使用ONE JFrame。显示多个东西的方法取决于你,有很多。画布,JInternalFrame, CardLayout,甚至JPanels可能。

多个JFrame对象=痛苦、麻烦和问题。

我认为使用多个jframe不是一个好主意。

相反,我们可以在同一个JFrame中使用多个JPanel。

我们还可以在这些jpanel之间切换。它给了我们在JFrame中显示更多东西的自由。

对于每个JPanel,我们可以设计不同的东西,所有这些JPanel都可以一次显示在单个JFrameone上。

要在这个jpanel之间切换,使用JMenuBar和JMenuItems为每个JPanelor 'JButtonfor每个jpanel '。

多于一个JFrame不是一个好的实践,但是如果我们想要多于一个JFrame也没有什么问题。

但是根据不同的需求更改一个JFrame比使用多个JFrame更好。

将jInternalFrame放入主框架中,并使其不可见。然后您可以将它用于进一步的事件。

jInternalFrame.setSize(300,150);
jInternalFrame.setVisible(true);

这是一段时间以来,我最后一次接触摇摆,但一般是一个坏的做法,这样做。我想到的一些主要缺点是:

It's more expensive: you will have to allocate way more resources to draw a JFrame that other kind of window container, such as Dialog or JInternalFrame. Not user friendly: It is not easy to navigate into a bunch of JFrame stuck together, it will look like your application is a set of applications inconsistent and poorly design. It's easy to use JInternalFrame This is kind of retorical, now it's way easier and other people smarter ( or with more spare time) than us have already think through the Desktop and JInternalFrame pattern, so I would recommend to use it.