java - 在 Java swing 中切换屏幕

标签 java swing jframe jpanel layout-manager

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

这是:

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

正确的方法?

最佳答案

使用 Swing 的一般方法是使用适当的策略(通常是 CardLayout,但细节决定成败)将所有 GUI 元素“屏幕”组合到一个顶级容器中。 This GUI显示一些其他选项(JSplitPane 和嵌套布局):

另见 this answer对于许多其他选择。


对于逻辑上属于不同容器的任何其他功能,请使用(可能)模态对话框或JOptionPane。例如。一个log-in, popped from the main frame :


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

这是在 file browser 中使用的树.

关于java - 在 Java swing 中切换屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10781401/

相关文章:

java - 日期和时间 jframe GUI

java - 特殊字符的输出编码,如 !"#

java - Mockito:验证any()参数是否相同

java - 在 Netbeans 中打包 DEB 文件需要哪些包?

java - 长度差-JTextField/日期

java - 为什么我们必须为 JTable 使用 TableModel?

JAVA Swing MVC - 主 Controller ?

java - jframe中出现"Squared"个字符

java - 刷新我的 JFrame

java - 如何在向 Business Profile Performance API 发送请求时为 setDailyMetric 方法设置多个指标?