我正在使用 Netbeans 制作一个与 arduino Uno 对话的 jfx 应用程序。我已经在我的 64 位 OS X 机器上安装了 RXTX,它似乎工作正常。
在 initialize() 方法的应用程序的主控制器中,我这样做:
CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier("/dev/tty.usbmodem1d1111");
this.serialPort = (SerialPort) portId.open("Box App", 1000);
// this.serialPort.close();
这很好,除了当我关闭应用程序的唯一窗口而不调用该serialPort.close()
函数时,app/jvm 保持在后台运行。我尝试覆盖控制器的 dispose() 方法并添加Platform.exit()
.
Platform.setImplicitExit(true);
明确地设置为真。
不知道我还能做什么。如果用户在串行 I/O 完成之前关闭应用程序,显然它只会挂起。关闭应用程序窗口时如何强制关闭端口?