在Eclipse中,我创建了一个CN1项目和一个普通Java项目,该项目依赖于前者。后者包含一些实用程序(例如,源代码生成)和一些 JUnit 测试。我使用以下简单的技巧:
CodenameOneImplementation impl = new JavaSEPort();
Util.setImplementation(impl);
Display.init(impl);
它可以工作,但会显示一个全屏窗口,并且当 main
完成时程序不会终止。我知道,这是 GUI 应用程序的正常行为,但我不需要任何 GUI,因为我只初始化了 Display
,以便 Display#getResource
工作。
- 如何去掉窗口(或至少使其变小)?
- 如何在不必调用
System.exit
的情况下终止程序(即,将事件处理线程作为守护进程运行)? - 还有更多需要设置吗?
最佳答案
使用这样的东西:
JavaSEPort.setDefaultInitTarget(new JPanel());
这会将显示的 UI 绘制到空白的 JPanel
中。
关于退出应用程序,您需要使用System.exit(0)
,因为 EDT 循环和 native GUI 循环正在运行。您可以停止 EDT,但这可能不适用于桌面端口,因此仅使用退出是简单且常见的做法。
关于java - 使用另一个 Eclipse 项目中的 CN1 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53404222/