7

我正在开发一个使用 Swing 的应用程序。我已经成功地为用户创建了一个主要的 GUI 来工作。但是,我想允许用户更改他/她的设置。我应该如何去创建设置窗口?使用称为“设置”的新 JFrame 是处理此问题的最佳方法,还是有比第二个 JFrame 更好的方法?

(注意:设置JFrame,退出时不会关闭主界面,会使用DISPOSE方法)

我想以消耗最少内存的方式处理这个问题,但保持应用程序的专业外观。

4

3 回答 3

5

你考虑过 CardLayout 吗? http://docs.oracle.com/javase/tutorial/uiswing/layout/card.html

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

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

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

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

In the end, if you find out you made the wrong choice, keep you code clean enough to easily implement with either solution. As long as your configuration screen is just a plain JPanel (or wrapped in just a JPanel), it shouldn't be very hard to do.

于 2012-04-11T18:42:18.127 回答
1

这是一个做这种事情的类:

http://tus.svn.sourceforge.net/viewvc/tus/tjacobs/ui/dialogs/ParamDialog.java?view=log

于 2012-04-11T18:25:46.247 回答
0

您必须查看 ApplicationListener 接口,尤其是该接口的“handlePreferences”方法。

于 2012-04-11T18:28:08.870 回答