4

我在 Android 中为我的客户构建了大型应用程序。新项目是用 Java 为 PC 构建相同的应用程序。所以我开始使用swing进行开发。在 Android 中构建时,我使用具有内容视图的活动的类,并且我可以在活动之间切换。在 java 中,我构建了多个扩展 JFrame 的类,我希望在它们之间切换。正确的方法是什么?

这是:

new_class.setVisible(true);
old_class.setVisible(false);

正确的方法?

4

2 回答 2

8

使用 Swing 的一般方法是使用适当的策略将所有 GUI 元素“屏幕”组合在一个顶级容器中(通常是 a CardLayout,但魔鬼在细节中)。 此 GUI显示了一些其他选项(JSplitPane& 嵌套布局):

另请参阅此答案以了解许多其他选择。


对于逻辑上位于不同容器中的任何其他功能,请使用(可能)模态对话框或JOptionPane. EG登录,从主框架弹出


另一件需要考虑的事情是 Swing(带有桌面显示器)允许我们向用户提供更丰富的组件集。例如,浏览 Android SD 卡文件系统通常会通过每个目录使用一个列表来实现,并且要么更改列表的内容,要么在进入新目录时查看。在 Swing 中,您可能会为此使用单曲JTree。因此,桌面 GUI 工具包中对“不同屏幕”的需求比设计用于选项卡或手机的工具包要少得多。

这是文件浏览器中使用的树。

于 2012-05-28T08:28:34.997 回答
0

正确的方法是从这些创建实例JFrames并设置它的可见性。

 new Fram1().setVisible(true);

 new Fram2().setVisible(true);
于 2012-05-28T08:18:48.747 回答