我使用java程序在arduino板和临时文件之间进行通信。沟通顺利。我使用用户界面来启动通信,其中我有一个名为
的按钮连接 关闭并最小化
当用户单击连接按钮代码时,将检查组合框中的值,并相应地打开临时文件。
单击连接按钮后,控件将移至临时应用程序。完成我的工作后,我尝试关闭划痕。我的临时应用程序按预期关闭但控件没有返回到用户界面,因为我无法关闭应用程序并且我强行关闭它。在输出屏幕中,我看不到构建成功,而是让我的构建停止。这是我的过程完美的工作,直到我给连接,但一旦按下按钮它被挂在一些地方。
我尝试将其作为jar文件并在另一台机器上运行,此时我在任务管理器中使用结束任务来关闭应用程序。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if("Disconnect".equals(jButton1.getText()))
{
System.exit(0);
}
if(jComboBox2.getSelectedItem()==null)
{
System.out.println("Select one port");
}
else
{
Runtime r = Runtime.getRuntime();
try {
//this.hide();
//p = r.exec("C:\\Program Files\\Scratch 2\\Scratch 2.exe C:\\Users\\Admin\\Desktop\\fwdbckpwm12.sb2");
p = Runtime.getRuntime().exec("C:\\Program Files\\Scratch 2\\Scratch 2.exe C:\\Users\\Admin\\Desktop\\scratch files new.sb2");
//Runtime.getRuntime().exec("taskkill /F /IM <p>.exe");
//p.destroy();
//r.exec("C:\\Windows\\notepad.exe C:\\Windows\\ss.txt");
//this.setDefaultCloseOperation(EXIT_ON_CLOSE);
A4S a4sObj = new A4S(new String[] {jComboBox2.getSelectedItem().toString()}); //defaultline
//A4S a4sObj = new A4S(new String[]{"COM16"}); //addedline
//r.gc();
//this.setDefaultCloseOperation(EXIT_ON_CLOSE);
} catch (IOException ex) {
Logger.getLogger(serialportselection.class.getName()).log(Level.SEVERE, null, ex);
}
finally{
//p.destroy();
//System.gc();
// }
}
这是我试过的代码。但似乎都没有效果。
答案 0 :(得分:0)
据我所知,您使用SWING创建UI。 你可以设置
yourFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
为你的框架。这必须有所帮助。
答案 1 :(得分:0)