从另一个Swing类返回一个Swing类的值

时间:2009-07-08 17:21:59

标签: java swing

我自己的一些背景。前AS / 400家伙,最近缩小规模和失业。借此机会学习java。 我是Java和Netbeans的新手。由于我失业了,而不是一个有“专家”的组织,我正在努力寻找帮助的资源。 我在ATLanta,所以我加入了www.ajug.org,希望能与人们建立联系以寻找资源。 我还申请了一些“奥巴马雄鹿队”来参加一些课程。 在那之前,我希望能向你问“好伙伴”,以获得一些帮助!

我为使用MySQL的SWING应用程序开发了安全结构和动态菜单。 我已经开发了许多SWING应用程序并编译了在我的应用程序将使用的表格上执行TABLE维护(插入/更新/删除)的类。 现在,我正在进入应用程序的“细节”。我继续发现'非常简单的东西',我相信'SWING应用程序架构师'或者你们其中一个Netbeans / SWING专家可以随时回答。

关于Netbeans并从SWING类中返回一个值 Netbeans在我的项目中创建了两个或更多.java文件 示例:desktopapplication项目包含      - DesktopApplicationApp.java和      - DesktopApplicationView.java 通常,DesktopApplicationApp.java启动()本身,然后在startup()中执行show(新的DesktopApplicationView(this))。 我有几个“查找”TABLES表,并希望创建单独的类,允许用户通过TABLE搜索返回一行。 (这是OOP,对吧!?) 因此,如果我有一个应用程序(DesktopApplicationApp和DesktopApplicationView),我想使用另一个CLASS SelectValueApp来搜索数据库并将键值返回给DesktopApplicationView。

我的“菜单程序”只是执行一个execCMD()来运行我的应用程序中的类。

对于来自DesktopApplicationView的“调用”SelectValueApp我知道我应该使用构造函数并创建SelectValueApp的实例 ....但是我用什么方法从班级“检索钥匙”?

我可以从DesktopApplicationView中启动()SelectValueView吗? 我读到“使用Swing应用程序框架(JSR296)”,我仍然不清楚如何做到这一点。 我在想,当SelectValueApp完成EXIT()时,它将导致关闭JVM(并杀死DesktopApplicationView)。

我可以在DesktopApplicationView中包含SelectValueView的功能,但这个程序已经很大了!

所以我有很多问题。 1)我如何做到这一点? (请)。此外,我引用了这些帖子,他们“非常接近”我需要知道的内容  问题/ 1091389 /如何对传输对象,从-的JFrame到另一个-的JFrame  问题/ 573317 / Java的摆动关闭窗口,而无需退出中的应用  问题/ 573378 /管理父帧从 - 子帧上的Java摆幅

2)这是“SingleFrameApplication”的限制吗? (尝试打开另一个帧以返回值) 3)我是否必须将所有功能放在MyApplicationView中? 4)或者Netbeans生成的代码是否只是让这很难,有一个简单,优雅的方法来实现这一目标?

另外,我将创建一个简短,自包含,正确(可编译),示例(SSCCE)并更新此帖子

提前感谢你,

当前Java新手/未来Java CSD和Java重量级,

3 个答案:

答案 0 :(得分:1)

我不确定很多项目都使用Swing应用程序框架。这是不成熟的恕我直言

公司已经拥有“自己的”框架或解决方案来加速开发或

处理常见的烦恼。

我建议详细查看JSR296文档。​​

顺便说一下,你不必告诉我们你的整个背景,如果他们能够/想要,人们会帮助你。

答案 1 :(得分:0)

Swing应用程序框架已经死了 - 从我听到的情况来看,大多数开发人员已经转移到了JavaFX。

至于您的一般设计问题 - 是否有理由认为不同的部分需要单独的应用程序?我的直觉是你不需要这样做,因此你不需要套接字监听器,你只需要回调,所以需要相互通信的类可以以事件驱动的方式这样做。 / p>

答案 2 :(得分:0)

也许更好的选择是Spring Rich Client?

甚至是这个清单中的一个: http://karussell.wordpress.com/2009/10/08/java-application-frameworks-not-only-client-side/

...