在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循环和本机GUI循环正在运行。您可以停止EDT,但这可能不适用于桌面端口,因此仅使用出口是一种简单而常见的做法。