如何在不显式单击该按钮的情况下调用按钮单击

How to invoke button click without explicit click on that button

我正在 JAVA 开发一个应用程序,它将输入作为语音并执行操作。我想要实现的是单击按钮而不明确单击该按钮。

想法是获取语音输入,使用字符串对象的结果,并仅通过语音结果调用按钮点击。

我已经能够使用该结果启动记事本或浏览器。

对于语音处理,我使用 Sphinx4 和 eclipse IDE。

示例:

Result result = recognizer.recognize();

        if (result != null) 
        {
            String resultText = result.getBestFinalResultNoFiller();

              if((resultText.equalsIgnoreCase("Notepad"))
               { 
                try
                {

                 pr[0] = new ProcessBuilder("notepad.exe").start();

                   }

这里resultText是包含用户输入的String对象。如果演讲者说记事本,我在这里尝试打开记事本。

但是如何使用此 resultText 来调用按钮的 actionPerformed....?

示例:如何在不单击按钮的情况下调用 JFrame 的此方法

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) 
{   
    NewJFrame1 frame = new NewJFrame1();

    frame.setVisible(true);
    this.dispose();
 }

如果按下按钮不仅仅是调用您在此处显示的 jButton1ActionPerformed 方法,请使用 JButton 对象上的 doClick() 方法,我猜您调用的是 jButton1 :

jButton1.doClick();

您也可以去掉中间人,直接调用您的方法,就像其他方法一样。 (这仅在您的处理程序方法不使用事件参数对象 evt 时有效。由于您已声明它 private,调用方法也必须在相同的 class 中。 )

jButton1ActionPerformed(null);