Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将控制从应用程序带到java框架_Java_Memory_Process_Kill - Fatal编程技术网

将控制从应用程序带到java框架

将控制从应用程序带到java框架,java,memory,process,kill,Java,Memory,Process,Kill,我使用java程序在arduino板和临时文件之间进行通信。沟通进行得很好。我使用一个用户界面来启动通信,在这里我有一个按钮叫做 连接 关闭并最小化 当用户单击connect按钮时,代码将检查组合框中的值,并相应地打开临时文件 单击connect按钮后,控件将移动到scratch应用程序。在我完成工作后,当我试图关闭划痕时。我的scratch应用程序按预期关闭,但控件不会返回到用户界面,因为我无法关闭应用程序,我在NetBeans中强制关闭它。在输出屏幕中,我没有看到构建成功,而是看到构建停止。

我使用java程序在arduino板和临时文件之间进行通信。沟通进行得很好。我使用一个用户界面来启动通信,在这里我有一个按钮叫做

连接 关闭并最小化

当用户单击connect按钮时,代码将检查组合框中的值,并相应地打开临时文件

单击connect按钮后,控件将移动到scratch应用程序。在我完成工作后,当我试图关闭划痕时。我的scratch应用程序按预期关闭,但控件不会返回到用户界面,因为我无法关闭应用程序,我在NetBeans中强制关闭它。在输出屏幕中,我没有看到构建成功,而是看到构建停止。这是我的过程完美地工作,直到我给连接,但一旦按下按钮,它是挂起来的一些地方

我尝试将其作为一个jar文件,并在另一台机器上运行,当时我使用TaskManager中的EndTask关闭应用程序

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(); 
   // }

}            
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
if(“Disconnect”.equals(jButton1.getText()))
{
系统出口(0);
}
if(jcombox2.getSelectedItem()==null)
{
System.out.println(“选择一个端口”);
}
其他的
{           
Runtime r=Runtime.getRuntime();
试一试{
//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.exe”);
//p、 破坏();
//r、 exec(“C:\\Windows\\notepad.exe C:\\Windows\\ss.txt”);
//此.setDefaultCloseOperation(关闭时退出);
A4S a4sObj=new A4S(新字符串[]{jCombox2.getSelectedItem().toString()});//defaultline
//A4S a4sObj=new A4S(新字符串[]{“COM16”});//addedline
//r、 gc();
//此.setDefaultCloseOperation(关闭时退出);
}捕获(IOEX异常){
Logger.getLogger(serialportselection.class.getName()).log(Level.SEVERE,null,ex);
} 
最后{
//p、 破坏();
//gc();
// }
}            

这是我试过的代码。但似乎没有一个能起作用。

据我所知,您使用SWING创建UI。 你可以设置

 yourFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);

这一定会有帮助。

据我所知,您使用SWING创建UI。 你可以设置

 yourFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
为了你的身材。这一定有帮助

  • 将所有与流程相关的工作移动到单独的线程中
  • 使用方法识别流程结束-然后您可以自由 退出你的应用程序
  • 将所有与流程相关的工作移动到单独的线程中
  • 使用方法识别流程结束-然后您可以自由 退出你的应用程序

  • 这并没有解决我的问题我后来甚至使用了这个代码,因为它似乎不起作用。这并没有解决我的问题我后来甚至使用了这个代码,因为它似乎不起作用。对不起,但我是新来的。你能解释我的代码部分吗对不起,我是新来的。你能解释我的代码部分吗