我正在开发一个JAVA中的应用程序,它将输入作为语音并执行操作。我想要实现的是按钮点击而不明确点击该按钮。
我们的想法是接受语音输入,使用String对象的结果,并通过语音结果调用按钮点击。
我已经能够使用该结果启动记事本或浏览器。
对于语音处理,我使用的是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();
}
答案 0 :(得分:2)
如果按下按钮不仅仅是调用此处显示的jButton1ActionPerformed
方法,请在JButton对象上使用doClick()
方法,我猜你称之为jButton1
:
jButton1.doClick();
你也可以切断中间人,直接调用你的方法,就像其他任何人一样。 (这仅在您的处理程序方法不使用事件参数对象evt
时才有效。由于您已将其声明为private
,因此调用方法也必须位于同一个类中。 )
jButton1ActionPerformed(null);