java swing 窗口切换,在Java swing中切换屏幕

I had build big application for my client in Android.

The new project is to build the same app for PC in Java. So i have started developing with use of swing.

When building in Android i use classes with activities that had content views and i could switch between activities.

In java i have build multiple classes that extends JFrame and i wish to switch between them.

What is the right way to to this?

is this:

new_class.setVisible(true);

old_class.setVisible(false);

the correct way?

解决方案

The general approach using Swing would be to either combine all the GUI elements 'screens' in one top level container using the appropriate strategy (generally a CardLayout, but the devil is in the details). This GUI shows some other options (JSplitPane & nested layouts):

Jaqap.png

See also this answer for many other alternatives.

For any other functionality which would logically be in a different container, use a (possibly) modal dialog or a JOptionPane. E.G. a log-in, popped from the main frame:

hqCeE.png

Another thing to take into account is that Swing (with a desktop monitor) allows us to offer a richer set of components to the user. For instance, surfing around the Android SD card file system would generally be achieved by using one list per directory, and either changing the content of the list or view on entering a new directory. In Swing you might use a single JTree for that. So there is much less need for 'different screens' in a desktop GUI toolkit, over one designed to be used on a tab or phone.

Here is a tree as used in a file browser.

yswnE.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值