首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组织java GUI

组织java GUI
EN

Stack Overflow用户
提问于 2013-04-06 17:15:33
回答 2查看 1.5K关注 0票数 0

我是GUI的新手,我想了解如何正确地构造我的程序。

我希望为MVC模型创建一个GUI (所有的控制方法都已经实现了)。比方说,我需要有三个单独的窗口,某些按钮关闭一个窗口,打开另一个窗口。

我想上三节课,每个窗口一节。每个窗口都是一个JFrame。这合理吗?然后,我们需要把行动侦听器。那些会去哪里?我想应该还有另一门课,主要的方法是。这个类也可以拥有所有的动作侦听器,因为它也是创建控件的类,并且能够调用控件的方法。这是个好办法吗?

不管你的建议是什么,你能提供一个想法,看看这在代码上会是怎样的吗?我知道如何将组件放在一个框架中,并在该框架中添加一个侦听器,以便按钮执行某些操作。但我不知道多个窗口会是什么样子。任何一个小的例子都可以。谢谢。

EN

回答 2

Stack Overflow用户

发布于 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

票数 1
EN

Stack Overflow用户

发布于 2013-04-26 23:07:13

注意,每个JFrame都有自己的任务栏条目(我认为)。如果您想避免这种情况和/或需要模态窗口,请考虑JDialog

组织多个地方使用的操作的一种方法是创建一个单例散列(作为它自己的类或上下文类)来存储它们。为此,使用Action类而不是ActionListener -将它传递给JButton的构造函数。

你的程序可能是这样的:

  1. 创建ShowViewFooAction并添加到ActionHash
  2. 创建ShowViewBarAction并添加到ActionHash
  3. 创建ShowViewBazAction并添加到ActionHash
  4. 创建ViewFoo
    1. 用ShowViewBarButton从ShowViewBarAction创建ActionHash
    2. 用ShowViewBazAction从ShowViewBazAction创建ActionHash

  1. 创建ViewBar ..。
  2. 创建ViewBaz ..。

至于一般的Swing代码的构造,请查看JGoodies结合。他们在1.5.0版本中有教程/示例代码(它是旧的,但仍然是一个很好的例子)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15853777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档