【发布时间】:2014-07-13 10:39:09
【问题描述】:
您好,感谢您查看我的问题。 在 Eclipse 中开发 Swing 应用程序时,我面临以下问题: 当我尝试启动一个简单的 Swing JFrame 应用程序(例如,由窗口生成器之类的 gui 生成器或从我的编程手册中的小示例生成)时,程序将运行而没有任何错误,但 JFrame 不可见。当然,这些示例使 JFrame 在末尾可见
Framename.setVisible(true).
我认为问题出在 Eclipse 中,因为当我在 Eclipse 中生成此应用程序的可运行 jar 并在 Eclipse 之外运行它时,JFrame 将按预期显示。这种行为发生在我测试过的所有示例中。你有提示我如何解决这个问题吗? 提前致谢 理查德。
--
编辑:我自己解决了我的问题,但我不明白为什么会这样: 当 Swing 应用程序位于引用了 SWT/JFace 库 (1) 的项目中时,它们似乎不起作用。一旦我删除了这些引用,或者将类移动到另一个项目,该类就会恢复工作。这种行为有什么好的理由吗?
【问题讨论】:
-
您确定框架没有出现在 Eclipse IDE 后面吗?运行应用程序时,是否显示 Java 进程(在 Window 底部栏的按钮上)?你有一个框架设置的例子吗?
-
是的,我仔细检查了 IDE 后面没有窗口(我正在使用 OS X 10.9.4 的 MBP 上开发)。该进程仍在运行,但未显示任何窗口。我现在隔离了有问题的 jar 库:当我删除库 org.eclipse.swt.cocoa.macosx.x86_64.jar 时,将显示 JFrame!但是为什么这个库在这种情况下会出现问题呢? JFrame 来自 swing,而不是来自 SWT。
-
实现和调试的问题属于 Stack Overflow 的问题(已经有投票就地迁移,请不要转发问题)。请阅读help center 以更好地了解哪些问题适合 P.SE 以及它与 Stack Overflow 有何不同。指南的粗略近似是 P.SE 适用于您在白板前遇到设计问题时,而 SO 适用于您在 IDE 前时。