Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.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 Swing GUI-创建一个';设置';窗口(正确)_Java_Swing_Window_Jframe_Frame - Fatal编程技术网

Java Swing GUI-创建一个';设置';窗口(正确)

Java Swing GUI-创建一个';设置';窗口(正确),java,swing,window,jframe,frame,Java,Swing,Window,Jframe,Frame,我正在开发一个使用Swing的应用程序。我已经成功地创建了一个供用户使用的主GUI。但是,我希望允许用户更改其设置。如何创建“设置”窗口?使用名为“设置”的新JFrame是处理此问题的最佳方法,还是有比使用第二个JFrame更好的方法 (注意:设置JFrame在退出时不会关闭主GUI,它将使用DISPOSE方法) 我希望以一种消耗最少内存的方式处理这个问题,同时保持应用程序的专业外观。这里有一个类可以完成这类工作: 您必须查看ApplicationListener界面,尤其是该界面的“Handl

我正在开发一个使用Swing的应用程序。我已经成功地创建了一个供用户使用的主GUI。但是,我希望允许用户更改其设置。如何创建“设置”窗口?使用名为“设置”的新JFrame是处理此问题的最佳方法,还是有比使用第二个JFrame更好的方法

(注意:设置JFrame在退出时不会关闭主GUI,它将使用DISPOSE方法)


我希望以一种消耗最少内存的方式处理这个问题,同时保持应用程序的专业外观。

这里有一个类可以完成这类工作:


您必须查看ApplicationListener界面,尤其是该界面的“HandleReferences”方法。

您是否考虑过CardLayout

就我个人而言,我发现使用单独的对话进行配置设置有点过时。我更喜欢选项卡式布局,这是一种顶部带有选项卡栏的卡片布局

您可以轻松地将应用程序包装在接近顶层的卡布局中,并添加一个菜单操作以切换到配置卡,“确认”或“取消”按钮切换回主应用程序卡

最后,这实际上是关于用户喜欢什么,但请记住,许多用户可能更喜欢他们所知道的,即使这不是一个更好的解决方案。您必须找到一个平衡点,如果您的实现出现问题,那么最终他们会希望您解决问题的方法用于其他应用程序

一个完美的例子是选项卡式浏览,而不是多个窗口。就我个人而言,我无法想象现在我已经习惯于浏览标签页,回到多窗口浏览,但在某个时候,多窗口是镇上唯一的游戏


最后,如果您发现您做出了错误的选择,请保持代码足够干净,以便使用任一解决方案轻松实现。只要您的配置屏幕只是一个普通的JPanel(或包装在一个JPanel中),这应该不是很难做到。

我不同意
CardLayout
是最好的选择,我个人更喜欢在模式
JDialog
JOptionPane
中查看选项设置。你剩下的答案是关于“人是不同的/事情会随着时间而改变”这类事情的。很好的观察和解释。我喜欢卡片布局的基本思想。看起来很干净整洁。就设置窗口而言,我看到大多数程序都有一个模态JDialog。我会尝试使用这两种方法,看看哪种方法看起来更干净。顺便说一句,看看好问题。