我是GUI的新手,我想了解如何正确地构造我的程序。
我希望为MVC模型创建一个GUI (所有的控制方法都已经实现了)。比方说,我需要有三个单独的窗口,某些按钮关闭一个窗口,打开另一个窗口。
我想上三节课,每个窗口一节。每个窗口都是一个JFrame。这合理吗?然后,我们需要把行动侦听器。那些会去哪里?我想应该还有另一门课,主要的方法是。这个类也可以拥有所有的动作侦听器,因为它也是创建控件的类,并且能够调用控件的方法。这是个好办法吗?
不管你的建议是什么,你能提供一个想法,看看这在代码上会是怎样的吗?我知道如何将组件放在一个框架中,并在该框架中添加一个侦听器,以便按钮执行某些操作。但我不知道多个窗口会是什么样子。任何一个小的例子都可以。谢谢。
发布于 2013-04-06 17:34:44
我建议您不要使用交换JFrames,因为这对用户来说非常烦人--您目前使用了多少个应用程序,这些应用程序顺序地向您抛出一堆窗口?相反,考虑在需要的地方明智地使用对话框窗口,例如,程序必须停止,直到用户以某种方式(例如登录)与其交互,但大多数情况下,您通过使用JPanels交换视图(通常是CardLayout )。Swing GUI类应该面向创建JPanels,这将更好地允许这种灵活性。
是的,GUI代码的主要独立部分应该在不同的类中。
此外,我强烈建议不要使用GUI构建工具来创建Swing应用程序,直到程序员掌握了Swing基础知识。
对于Swing MVC的一个简单示例,请看这里:using-a-jfilechooser-with-swing-gui-classes-and-listeners
发布于 2013-04-26 23:07:13
注意,每个JFrame都有自己的任务栏条目(我认为)。如果您想避免这种情况和/或需要模态窗口,请考虑JDialog。
组织多个地方使用的操作的一种方法是创建一个单例散列(作为它自己的类或上下文类)来存储它们。为此,使用Action类而不是ActionListener -将它传递给JButton的构造函数。
你的程序可能是这样的:
至于一般的Swing代码的构造,请查看JGoodies结合。他们在1.5.0版本中有教程/示例代码(它是旧的,但仍然是一个很好的例子)。
https://stackoverflow.com/questions/15853777
复制相似问题