Call an event on JFrame with JButton

0

This is my first post, so I hope to do things right about the forum rules. You see, I'm designing a user interface that will use sphinx-4 to recognize and process voice commands. I already made the library work in Eclipse Neon, however, I want the whole project to be done in NetBeans, because of the ease of creating JFrames. Well, I was able to import all the necessary JARs and files and fortunately I do not throw any errors, however, I want the entire recognition process to be locked in an event and start it from a button. I already tried to copy and paste the code from Eclipse as it is in the private void ActionPerformed inside the JButton, however it throws errors, so I decided to place that code snippet in the public static void main (String args [] part) and I do not throw any error, however, the program does not run, I understand, until some element calls. Is there a way to do this with a button?

I enclose the fragment of the code and a screenshot of the interface that I am developing.

Code of the second JFrame, where the sphinx-4 library is included.

package hmi;
import edu.cmu.sphinx.frontend.util.Microphone;
import edu.cmu.sphinx.recognizer.Recognizer;
import edu.cmu.sphinx.result.Result;
import edu.cmu.sphinx.util.props.ConfigurationManager;
import edu.cmu.sphinx.util.props.PropertyException;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
/**
 *
 * @author antoniolopez
 *


public class Interfaz extends javax.swing.JFrame implements KeyListener, ActionListener, ItemListener {

    public Interfaz() {
        initComponents();
        jButton1.addActionListener(this);
        pantalla.addKeyListener(this);
        jButton1.setActionCommand("Botón");
    }    private void

Botón_PulgarActionPerformed(java.awt.event.ActionEvent evt) {                                             
        // TODO add your handling code here:
    }                                            

    private void M2_DerechaActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // TODO add your handling code here:
    }                                          

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

    }                                        

    private void pantallaActionPerformed(java.awt.event.ActionEvent evt) {                                         

    }                                        

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Interfaz.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Interfaz.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Interfaz.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Interfaz.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        try {
            URL url;
            if (args.length > 0) {
                url = new File(args[0]).toURI().toURL();
            } else {
                url = Interfaz.class.getResource("helloworld.config.xml");
            }

            System.out.println("Cargando...");

            ConfigurationManager cm = new ConfigurationManager(url);

        Recognizer recognizer = (Recognizer) cm.lookup("recognizer");
        Microphone microphone = (Microphone) cm.lookup("microphone");


            /* allocate the resource necessary for the recognizer */
            recognizer.allocate();

            /* the microphone will keep recording until the program exits */
        if (microphone.startRecording()) {

        System.out.println
            ("Say: (Good morning | Hello) " +
                     "( Bhiksha | Evandro | Paul | Philip | Rita | Will )");

        while (true) {
            System.out.println
            ("Start speaking. Press Ctrl-C to quit.\n");

                    /*
                     * This method will return when the end of speech
                     * is reached. Note that the endpointer will determine
                     * the end of speech.
                     */ 
            Result result = recognizer.recognize();

            if (result != null) {
            String resultText = result.getBestFinalResultNoFiller();
            System.out.println("You said: " + resultText + "\n");
            } else {
            System.out.println("I can't hear what you said.\n");
            }
        }
        } else {
        System.out.println("Cannot start microphone.");
        recognizer.deallocate();
        System.exit(1);
        }
        } catch (IOException e) {
            System.err.println("Problem when loading HelloWorld: " + e);
            e.printStackTrace();
        } catch (PropertyException e) {
            System.err.println("Problem configuring HelloWorld: " + e);
            e.printStackTrace();
        } catch (InstantiationException e) {
            System.err.println("Problem creating HelloWorld: " + e);
            e.printStackTrace();
}
        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Interfaz().setVisible(true);
            }
        });
    }
    
asked by Antonio Lopez 13.10.2016 в 17:31
source

0 answers