Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在窗口之间导航的正确方式是什么?_Java_User Interface_Coding Style - Fatal编程技术网

Java 在窗口之间导航的正确方式是什么?

Java 在窗口之间导航的正确方式是什么?,java,user-interface,coding-style,Java,User Interface,Coding Style,我正在尝试做一个简单的客户跟踪程序。它有一个带有4个按钮的窗口,你可以选择一项任务来完成 我需要在不同的窗口之间导航 -主菜单 -新客户 -顾客 -报告 我所做的是为每个任务创建不同的JFrame,但我不知道这样做是否正确 所以我的问题是,在Java上的windows之间导航的正确方式是什么?除非绝对必要,否则请不要创建多个JFrame 为什么? 任务栏中有多个图标(在Windows和Linux上) 切换窗口给用户增加了负担 它会引发问题,例如关闭按钮(如果有关闭按钮,它们是否都关闭?是否有一

我正在尝试做一个简单的客户跟踪程序。它有一个带有4个按钮的窗口,你可以选择一项任务来完成

我需要在不同的窗口之间导航 -主菜单 -新客户 -顾客 -报告

我所做的是为每个任务创建不同的JFrame,但我不知道这样做是否正确

所以我的问题是,在Java上的windows之间导航的正确方式是什么?

除非绝对必要,否则请不要创建多个JFrame

为什么?

  • 任务栏中有多个图标(在Windows和Linux上)
  • 切换窗口给用户增加了负担
  • 它会引发问题,例如关闭按钮(如果有关闭按钮,它们是否都关闭?是否有一个主控按钮?)等
改为:

考虑一下

要创建选项卡式窗格,请实例化
JTabbedPane
,创建希望其显示的组件,然后使用
addTab
方法将组件添加到选项卡式窗格中

例如:

JTabbedPane tabbedPane = new JTabbedPane();

JComponent someComponent = ...
tabbedPane.addTab("Tab 1", someComponent);

JComponent anotherComponent = ...
tabbedPane.addTab("Tab 2", anotherComponent);

或者,如果您只希望用户一次只能看到一个视图,您也可以这样做

类管理共享相同显示空间的两个或多个组件(通常是
JPanel
实例)。从概念上讲,
CardLayout
管理的每个组件就像一个扑克牌或一个堆栈中的交易卡,在这个堆栈中,任何时候都只能看到最上面的牌


Jtabbed似乎不是正确的选择。实际上,我想要的是android用户界面中的某种东西。启动应用程序后,会出现一个新界面上的标签。@user1906555查看我的编辑。
JFrame
指针+1,是的
CardLayout
是一个更好的选择,请参见