Java 方法调用在buttonActionEvent上不起作用,但在其他地方起作用?

Java 方法调用在buttonActionEvent上不起作用,但在其他地方起作用?,java,Java,我只是想关闭一个进程,我已经测试过了。我唯一的问题是,当我试图通过点击按钮来关闭这个过程时,它将不起作用。该方法将在别处工作以关闭进程,但无论出于何种原因,它在按钮事件中都不起作用 public Process p; public final void openKeyboard() throws IOException { ProcessBuilder pb = new ProcessBuilder("cmd","/c","C:\\Program Files\\Common Files\\mi

我只是想关闭一个进程,我已经测试过了。我唯一的问题是,当我试图通过点击按钮来关闭这个过程时,它将不起作用。该方法将在别处工作以关闭进程,但无论出于何种原因,它在按钮事件中都不起作用

public Process p;

public final void openKeyboard() throws IOException {
ProcessBuilder pb = new ProcessBuilder("cmd","/c","C:\\Program Files\\Common Files\\microsoft shared\\ink\\tabtip.exe");
p=pb.start();
}

public final void closeKeyboard() {
    p.destroy();
}
以下是应调用closeKeyboard方法并结束该过程的按钮事件:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    MainMenu mm = new MainMenu();
    mm.run();
    closeKeyboard();  
} 
这个方法不会关闭键盘,但是如果我从另一个方法调用closeKeyboard,它会工作。。。我错过了什么明显的东西吗?谢谢

“请注意,如果您调用的流程创建了新的子流程,这些子流程可能不会终止(请参阅)。”


这可能是问题所在吗?

也许您正在将您的
ActionListener
添加到另一个
JButton
?该按钮确实有效,因为主菜单在按钮单击时起作用(打开一个新屏幕)。因此,理论上,它应该100%运行该方法。