在Eclipse中,我创建了一个CN1项目和一个普通的Java项目,这取决于前者。后者包含一些实用程序(例如,源代码生成)和一些JUnit测试。我使用以下简单技巧:
CodenameOneImplementation impl = new JavaSEPort();
Util.setImplementation(impl);
Display.init(impl);
它可以工作,但是显示了一个全屏窗口,并且main
完成后程序不会终止。我知道,这是GUI应用程序的正常行为,但是我不需要任何GUI,因为我只初始化了Display
才能使Display#getResource
正常工作。
System.exit
的情况下终止程序(例如,将事件处理线程作为守护程序运行)?答案 0 :(得分:1)
使用类似这样的内容:
JavaSEPort.setDefaultInitTarget(new JPanel());
这会将显示的用户界面绘制为空白的JPanel
。
关于退出应用程序,您需要使用System.exit(0)
,因为EDT循环和本机GUI循环正在运行。您可以停止EDT,但可能不适用于桌面端口,因此仅使用exit是简单且常见的做法。