Package drivercontrolvoz

Source Code of drivercontrolvoz.DriverVoz

/*
* File:        DriverVoz.java
*
*     This file is a part of driver Voz for MICE, a program designed for
*              people with severe motor disabilities to whom it is impossible
*              to use a traditional mouse. This application gives these people
*              the control of the physical mouse via another type of device.
*
* Authors:     Isabel Gonz�lez
* Date:        2008/2009
*
* Company:     Colegio P�blico de Educaci�n Especial Alborada, Zaragoza
*              DIIS, Universidad de Zaragoza
*
* License:     Copyright (C) 2009
*
*              This program is free software: you can redistribute it and/or modify
*              it under the terms of the GNU General Public License as published by
*              the Free Software Foundation, either version 3 of the License, or
*              (at your option) any later version.
*
*              This program is distributed in the hope that it will be useful,
*              but WITHOUT ANY WARRANTY; without even the implied warranty of
*              MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*              GNU General Public License for more details.
*
*              You should have received a copy of the GNU General Public License
*              along with this program.  If not, see <http://www.gnu.org/licenses/>.
*    
*/


package drivercontrolvoz;
// http://mindprod.com/jgloss/jni.html
// http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=jni
import drivercontrolvoz.ParsearXML;
import java.awt.GridBagConstraints;
import java.awt.Image;
import java.io.File;
import java.net.URL;
import java.util.Locale;
import java.util.ResourceBundle;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import java.awt.Toolkit;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;


public class DriverVoz extends javax.swing.JFrame {
         // Parametros a enviar/ recibir al / del nucleo
     public static final int  MOVIMIENTO = 0;
     public static final int  PARADA     = 1;
     public static final int  CLIC       = 2;
     public static final int  ARRASTRAR  = 3;
     public static final int  VELOCIDAD  = 4;
     public static final int  TIPO       = 5;
     public static final int  RELACION   = 6;
     public static final int  FIN        = 7;
     public static final int  NOMBRE        = 8;
     public static final int  MENSAJERATON   = 9;
     public static final int  FRENAR   = 10;
    
     public static Locale  Idioma;// = new Locale("gl", "ES");
    
     public static int tipoCod= MOVIMIENTO;
     public static int parametro= MOVIMIENTO;
    
     public static int minCursor=5;
     public static int maxCursor=400;
     public static int speedCursor = 100;
    
     public static int relacionVel = 0;
    
     public static boolean arrastrando=false;
    
     public static Locale  CopiaIdioma;
     public static int CopiaminCursor, CopiamaxCursor, CopiaspeedCursor, CopiarelacionVel;
    
      String ruta = "Imagenes/";
    
    
    
    
     Conexion c;

    private boolean iniciado=false;

    private JLabel lblarriba;

    private JLabel lblarribaIzda;

    private JLabel lblabajo;

    private JLabel lblizquierda;

    private JLabel lblabajoDcha;

    private JLabel lblabajoIzda;

    private JLabel lblderecha;

    private JLabel lblarribaDcha;

    private JLabel lblparar;

    private JLabel lblnada;

    private JLabel lblfrenar;

    private JFileChooser fch;

    private JFileChooser fchOUT;
    static {
        try{
            // display where loadLibrary is looking for native code
            //System.out.println ( "Path de java : " + System.getProperty( "java.library.path" ) );
            //System.load("C:\\reconocedor\\demo_raton_modificado\\Debug\\demo_raton.dll");
            // cambiar luego por esta:
             System.loadLibrary("libs/demo_raton");

        } catch (UnsatisfiedLinkError e) {
            e.printStackTrace();
            System.out.println("No se puede cargar la libreria dinamica");
        }
    }

    public DriverVoz(java.awt.Frame parent, boolean modal) {
        //super(parent, modal);
        c= new Conexion();
        c.establecerConexion();
       
        initComponents();
//        posicionarEtiquetasClic();

       
//        this.jLabelClicIzdo
        CargarImagenes();
        System.out.println("Antes de actualizar Idioma");
        System.out.println("Dir actual: " + System.getProperty("user.dir"));
        Idioma=new Locale("gl", "ES");
        ActualizarIdioma();
        System.out.println("Despues de actualizar Idioma");
        CargarConfiguracionDefecto();
        this.jMenuItemParar.setVisible(false);
        // System.out.println("java.library.path:"+System.getProperty("java.library.path"));
        // Si quisieramos cargar la libreria buscando en el java.library.path
        this.pack();
    }
   
    static void enviarConfiguracionANucleo() {
        // Envio la velocidad del cursor
        Conexion.enviar(VELOCIDAD,speedCursor);
       
        // Envio el tipo de movimiento (simple o doble)
        if (relacionVel == 0) Conexion.enviar (TIPO, 0); // simple
        else Conexion.enviar (TIPO, 1); // compuesta
       
        // Envio la relacion de la velocidad
        Conexion.enviar(RELACION,relacionVel);
    }


    // <editor-fold defaultstate="collapsed" desc=" C�digo Generado  ">//GEN-BEGIN:initComponents
    private void initComponents() {
        buttonGroupIdiomas = new javax.swing.ButtonGroup();
        jPanelClics = new javax.swing.JPanel();
        jPanelMovimiento = new javax.swing.JPanel();
        jPanelRalentizado = new javax.swing.JPanel();
        jMenuBarControl = new javax.swing.JMenuBar();
        jMenu = new javax.swing.JMenu();
        jMenuItemIniciar = new javax.swing.JMenuItem();
        jMenuItemParar = new javax.swing.JMenuItem();
        jMenuItemConfigurar = new javax.swing.JMenuItem();
        jMenuIdiomas = new javax.swing.JMenu();
        jRadioButtonMenuItemCastellano = new javax.swing.JRadioButtonMenuItem();
        jRadioButtonMenuItemIngles = new javax.swing.JRadioButtonMenuItem();
        jMenuItemAbrir = new javax.swing.JMenuItem();
        jMenuItemGuardar = new javax.swing.JMenuItem();
        jMenuItemSalir = new javax.swing.JMenuItem();
        jMenuAyuda = new javax.swing.JMenu();
        jMenuItemAcercaDe = new javax.swing.JMenuItem();

        getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.Y_AXIS));

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Driver de control por voz");
        setResizable(false);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                formWindowClosing(evt);
            }
        });

        jPanelClics.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 30, 10));

        jPanelClics.setBorder(javax.swing.BorderFactory.createTitledBorder("Selecci\u00f3n"));
        getContentPane().add(jPanelClics);

        jPanelMovimiento.setLayout(new java.awt.GridLayout(3, 3, 2, 2));

        jPanelMovimiento.setBorder(javax.swing.BorderFactory.createTitledBorder("Movimiento"));
        getContentPane().add(jPanelMovimiento);

        jPanelRalentizado.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 30, 10));

        jPanelRalentizado.setBorder(javax.swing.BorderFactory.createTitledBorder("Deceleraci\u00f3n"));
        getContentPane().add(jPanelRalentizado);

        jMenu.setText("Opciones");
        jMenu.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuActionPerformed(evt);
            }
        });

        jMenuItemIniciar.setText("Iniciar");
        jMenuItemIniciar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemIniciarActionPerformed(evt);
            }
        });

        jMenu.add(jMenuItemIniciar);

        jMenuItemParar.setText("Parar");
        jMenuItemParar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemPararActionPerformed(evt);
            }
        });

        jMenu.add(jMenuItemParar);

        jMenuItemConfigurar.setText("Configuraci\u00f3n");
        jMenuItemConfigurar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemConfigurarActionPerformed(evt);
            }
        });

        jMenu.add(jMenuItemConfigurar);

        jMenuIdiomas.setText("Idioma");
        buttonGroupIdiomas.add(jRadioButtonMenuItemCastellano);
        jRadioButtonMenuItemCastellano.setSelected(true);
        jRadioButtonMenuItemCastellano.setText("Castellano");
        jRadioButtonMenuItemCastellano.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRadioButtonMenuItemCastellanoActionPerformed(evt);
            }
        });

        jMenuIdiomas.add(jRadioButtonMenuItemCastellano);

        buttonGroupIdiomas.add(jRadioButtonMenuItemIngles);
        jRadioButtonMenuItemIngles.setText("Ingl\u00e9s");
        jRadioButtonMenuItemIngles.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRadioButtonMenuItemInglesActionPerformed(evt);
            }
        });

        jMenuIdiomas.add(jRadioButtonMenuItemIngles);

        jMenu.add(jMenuIdiomas);

        jMenuItemAbrir.setText("Abrir");
        jMenuItemAbrir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemAbrirActionPerformed(evt);
            }
        });

        jMenu.add(jMenuItemAbrir);

        jMenuItemGuardar.setText("Guardar");
        jMenuItemGuardar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemGuardarActionPerformed(evt);
            }
        });

        jMenu.add(jMenuItemGuardar);

        jMenuItemSalir.setText("Salir");
        jMenuItemSalir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemSalirActionPerformed(evt);
            }
        });

        jMenu.add(jMenuItemSalir);

        jMenuBarControl.add(jMenu);

        jMenuAyuda.setText("Ayuda");
        jMenuItemAcercaDe.setText("Acerca de ...");
        jMenuItemAcercaDe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItemAcercaDeActionPerformed(evt);
            }
        });

        jMenuAyuda.add(jMenuItemAcercaDe);

        jMenuBarControl.add(jMenuAyuda);

        setJMenuBar(jMenuBarControl);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jMenuItemGuardarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemGuardarActionPerformed
        File file=null;
        System.out.println("Guardar");
//      fchOUT= new JFileChooser("C:\\");
        fchOUT= new JFileChooser("configs/");
        fchOUT.setFileFilter(new XMLFileFilter());
        int returnVal = fchOUT.showSaveDialog(this);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            file = fchOUT.getSelectedFile();
            System.out.println("nombre: " + file.getName());
            // Le paso el string con la ruta absoluta
            ParsearXML pOUT=new ParsearXML(file.getAbsolutePath());
            pOUT.guardarConfiguracion();
            System.out.println("Configuracion guardada");
        }
    }//GEN-LAST:event_jMenuItemGuardarActionPerformed
private class XMLFileFilter extends javax.swing.filechooser.FileFilter {
        public boolean accept(File f) {
            return f.isDirectory() || f.getName().toLowerCase().endsWith(".xml");
        }
   
        public String getDescription() {
            return ".xml files";
        }
    }
    private void jMenuItemAbrirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemAbrirActionPerformed
        //fch= new JFileChooser("C:\\");
        fch= new JFileChooser("configs/");
        File file = null;
        fch.setFileFilter(new XMLFileFilter());
       
        int returnVal = fch.showOpenDialog(this);

        if (returnVal == JFileChooser.APPROVE_OPTION) {
            file = fch.getSelectedFile();
       
            if (!file.equals(null)){
                if (file.exists()){
                    System.out.println("path del fichero: " + file.getAbsolutePath());
                    // si todo correcto
                    if (cargarConfiguracionXML(file)){
                        System.out.println("************ El fichero es correcto");
                        copiarAlOriginal();
                        DriverVoz.enviarConfiguracionANucleo();                       
                    }
                }
            }
        }
    }//GEN-LAST:event_jMenuItemAbrirActionPerformed
   
    // abre una la configuracion de file
    // devuelve true si todo ha sido correcto, false si ha habido algun error
    // si correcto, se copian los valores a CopiaTablero
    public boolean cargarConfiguracionXML(File file){
        //List <String> listafinal=null;
        System.out.println("Nombre file: " + file.getAbsolutePath());
        ParsearXML pXML= new ParsearXML(file);
        if ((pXML.devolverTipoDriver()!=-1) && (pXML.abrirConfiguracion()!=-1)){
              System.out.println("Todo correcto, cargaremos de copiaTablero a Tablero");
              return(true);
        }
        else{
            System.out.println("************ El fichero es falla");
              JOptionPane.showMessageDialog(this, "El fichero de configuraci�n no es correcto", "Aviso",JOptionPane.ERROR_MESSAGE);
              return(false);
        }
  }
    private void jRadioButtonMenuItemInglesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRadioButtonMenuItemInglesActionPerformed
        Idioma=Locale.US;
       
        ActualizarIdioma();
        //this.invalidate();
        jRadioButtonMenuItemCastellano.setSelected(false);
        jRadioButtonMenuItemIngles.setSelected(true);
       
    }//GEN-LAST:event_jRadioButtonMenuItemInglesActionPerformed

    private void jRadioButtonMenuItemCastellanoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRadioButtonMenuItemCastellanoActionPerformed
        Idioma=Idioma.getDefault();
       
        ActualizarIdioma();
       
        this.jRadioButtonMenuItemCastellano.setSelected(true);
        this.jRadioButtonMenuItemIngles.setSelected(false);
       
    }//GEN-LAST:event_jRadioButtonMenuItemCastellanoActionPerformed

    private void jMenuItemAcercaDeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemAcercaDeActionPerformed
        new AcercaDe(this,true).setVisible(true);
    }//GEN-LAST:event_jMenuItemAcercaDeActionPerformed

    private void jMenuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuActionPerformed
// TODO: Agrege su codigo aqui:
    }//GEN-LAST:event_jMenuActionPerformed

    private void jMenuItemConfigurarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemConfigurarActionPerformed
        new Configurar(this,true).setVisible(true);
    }//GEN-LAST:event_jMenuItemConfigurarActionPerformed

    private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
        // Para el reconocimiento
        if (iniciado){
            pararReconocimiento();
        }
        // envia desconexion a pasarela
        ParsearXML pOUT=new ParsearXML("configs/last.xml");
        pOUT.guardarConfiguracion();
        c.enviar (-1, -1);
       
    }//GEN-LAST:event_formWindowClosing

    private void jMenuItemPararActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemPararActionPerformed
        // Para el reconocimiento
        if (iniciado){
            pararReconocimiento();
        }
        iniciado=false;
    }//GEN-LAST:event_jMenuItemPararActionPerformed

    private void jMenuItemIniciarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemIniciarActionPerformed
        // Inicia el reconocimiento
       if (!iniciado){
        ThreadLanzar tl=new ThreadLanzar("Lanzar");
        tl.start();
        iniciado=true;
        // minimizo la ventana al entrar en la aplicacion, ver si al iniciar
        this.setState(JFrame.ICONIFIED);
       }
    }//GEN-LAST:event_jMenuItemIniciarActionPerformed

    private void jMenuItemSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemSalirActionPerformed
        if (iniciado){
            pararReconocimiento();
        }
        // envia desconexion a pasarela
        ParsearXML pOUT=new ParsearXML("configs/last.xml");
        pOUT.guardarConfiguracion();
        c.enviar (-1, -1);
        this.dispose();
        System.exit(0);
    }//GEN-LAST:event_jMenuItemSalirActionPerformed
   
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new DriverVoz(new javax.swing.JFrame(), true).setVisible(true);
            }
        });
    }
    // no lo uso
    private URL loadImage(String ruta)
    {
        System.out.println("ENTRANDO EN loadImage; ruta="+ruta);
        //Image foo =Toolkit.getDefaultToolkit().getImage(getClass().getResource(ruta));
        URL aaa = getClass().getResource(ruta);
        System.out.println("LA URL ES " + aaa.toString());
        //URL foo = (getClass().getResource(ruta));
        if (aaa==null) System.out.println("ERRORRRR");
        System.out.println("PRUEBA IMAGEICON");
        ///ImageIcon bar = new ImageIcon(foo);
        ImageIcon bar = new ImageIcon(aaa);
        if (bar==null) System.out.println("ERRORRRR IMAGEICON");
        return aaa;
    }
   
    private void CargarImagenes() {
       ImageIcon Imagen;
       String ejecucion= System.getProperty("user.dir");
       System.out.println("Ruta ejecucion: " +ejecucion);
       //String ruta = "libs/Imagenes/";
     
       //String ruta = "C:/RatonVirtual/Drivers/Voz/libs/Imagenes/";
       
       // Imagenes Acciones de Movimiento
      
       lblarribaIzda= new JLabel("arriba izquierda",new ImageIcon(ruta +"arribaIzdaAzul.gif"),JLabel.CENTER);
       lblarribaIzda.setVerticalTextPosition(JLabel.BOTTOM);
       lblarribaIzda.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelMovimiento.add(this.lblarribaIzda);
//       Imagen=new ImageIcon(ruta +"arribaIzdaAzul.gif");
//       lblarribaIzda.setIcon(Imagen);
      
      
      
      
       lblarriba= new JLabel("arriba",new ImageIcon(ruta +"arribaAzul.gif"),JLabel.CENTER);
       lblarriba.setVerticalTextPosition(JLabel.BOTTOM);
       lblarriba.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelMovimiento.add(this.lblarriba);
//       Imagen=new ImageIcon(ruta + "arribaAzul.gif");
//       lblarriba.setIcon(Imagen);
      
       lblarribaDcha= new JLabel("arriba derecha",new ImageIcon(ruta +"arribaDchaAzul.gif"),JLabel.CENTER);
       lblarribaDcha.setVerticalTextPosition(JLabel.BOTTOM);
       lblarribaDcha.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelMovimiento.add(this.lblarribaDcha);
//       Imagen=new ImageIcon(ruta +"arribaDchaAzul.gif");
//       lblarribaDcha.setIcon(Imagen);
      
      
      
        lblizquierda= new JLabel("izquierda ",new ImageIcon(ruta +"izquierdaAzul.gif"),JLabel.CENTER);
       lblizquierda.setVerticalTextPosition(JLabel.BOTTOM);
       lblizquierda.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelMovimiento.add(this.lblizquierda);
//       Imagen=new ImageIcon(ruta +"izquierdaAzul.gif");
//       lblizquierda.setIcon(Imagen);
      
      
       lblnada= new JLabel();
       lblnada.setVerticalTextPosition(JLabel.BOTTOM);
       lblnada.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelMovimiento.add(this.lblnada);
//       Imagen=new ImageIcon(ruta +"derechaAzul.gif");
//       lblderecha.setIcon(Imagen);
      
      
       lblderecha= new JLabel("derecha ",new ImageIcon(ruta +"derechaAzul.gif"),JLabel.CENTER);
       lblderecha.setVerticalTextPosition(JLabel.BOTTOM);
       lblderecha.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelMovimiento.add(this.lblderecha);
//       Imagen=new ImageIcon(ruta +"derechaAzul.gif");
//       lblderecha.setIcon(Imagen);
      
      
      
      
      
      
      
    
       lblabajoIzda= new JLabel("abajo izquierda",new ImageIcon(ruta +"abajoIzdaAzul.gif"),JLabel.CENTER);
       lblabajoIzda.setVerticalTextPosition(JLabel.BOTTOM);
       lblabajoIzda.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelMovimiento.add(this.lblabajoIzda);
      
//       Imagen=new ImageIcon(ruta +"abajoIzdaAzul.gif");
//       lblabajoIzda.setIcon(Imagen);
      
      
       lblabajo= new JLabel("abajo",new ImageIcon(ruta +"abajoAzul.gif"),JLabel.CENTER);
       lblabajo.setVerticalTextPosition(JLabel.BOTTOM);
       lblabajo.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelMovimiento.add(this.lblabajo);
//       Imagen=new ImageIcon(ruta +"abajoAzul.gif");
//       lblabajo.setIcon(Imagen);
   
      
      
       lblabajoDcha= new JLabel("abajo derecha",new ImageIcon(ruta +"abajoDchaAzul.gif"),JLabel.CENTER);
       lblabajoDcha.setVerticalTextPosition(JLabel.BOTTOM);
       lblabajoDcha.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelMovimiento.add(this.lblabajoDcha);
//       Imagen=new ImageIcon(ruta + "abajoDchaAzul.gif");
//       lblabajoDcha.setIcon(Imagen);
      
      
     
      
        lblparar= new JLabel("parar",new ImageIcon(ruta +"pararAzul.gif"),JLabel.CENTER);
        lblparar.setVerticalTextPosition(JLabel.BOTTOM);
        lblparar.setHorizontalTextPosition(JLabel.CENTER);
        this.jPanelRalentizado.add(this.lblparar);
       // Imagen stop
//       Imagen=new ImageIcon(ruta +"pararAzul.gif");
//       lblparar.setIcon(Imagen);
    
        lblfrenar= new JLabel("frenar",new ImageIcon(ruta +"frenar.gif"),JLabel.CENTER);
        lblfrenar.setVerticalTextPosition(JLabel.BOTTOM);
        lblfrenar.setHorizontalTextPosition(JLabel.CENTER);
        this.jPanelRalentizado.add(this.lblfrenar);
      
      
      
      
      
      
      
      
      
      
      
     
     
       // Imagenes Acciones de seleccion
//       Imagen=new ImageIcon(ruta +"clicAzul.gif");
      
       lblclicIzdo= new JLabel("clic ",new ImageIcon(ruta +"clicAzul.gif"),JLabel.CENTER);
       lblclicIzdo.setVerticalTextPosition(JLabel.BOTTOM);
       lblclicIzdo.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelClics.add(this.lblclicIzdo);
       //lblclicIzdo.setSize(50,50);
//       lblclicIzdo.setIcon(new ImageIcon(ruta +"clicAzul.gif"));

      
       lblclicMedio= new JLabel("clic medio",new ImageIcon(ruta +"clicMedioAzul.gif"),JLabel.CENTER);
       lblclicMedio.setVerticalTextPosition(JLabel.BOTTOM);
       lblclicMedio.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelClics.add(this.lblclicMedio);
      
//       Imagen=new ImageIcon(ruta + "clicMedioAzul.gif");
//       lblclicMedio.setIcon(Imagen);
      
       lblclicDcho= new JLabel("clic derecho",new ImageIcon(ruta +"clicDchoAzul.gif"),JLabel.CENTER);
       lblclicDcho.setVerticalTextPosition(JLabel.BOTTOM);
       lblclicDcho.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelClics.add(this.lblclicDcho);
      
//       Imagen=new ImageIcon(ruta + "clicDchoAzul.gif");
//       lblclicDcho.setIcon(Imagen);
      
       lbldobleClic= new JLabel("doble clic",new ImageIcon(ruta +"dobleclicAzul.gif"),JLabel.CENTER);
       lbldobleClic.setVerticalTextPosition(JLabel.BOTTOM);
       lbldobleClic.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelClics.add(this.lbldobleClic);
      
//       Imagen=new ImageIcon(ruta +"dobleclicAzul.gif");
//       lbldobleClic.setIcon(Imagen);
      
       lblarrastrar= new JLabel("arrastrar",new ImageIcon(ruta +"arrastrarAzul.gif"),JLabel.CENTER);
       lblarrastrar.setVerticalTextPosition(JLabel.BOTTOM);
       lblarrastrar.setHorizontalTextPosition(JLabel.CENTER);
       this.jPanelClics.add(this.lblarrastrar);
      
//       Imagen=new ImageIcon(ruta + "arrastrarAzul.gif");
//       lblarrastrar.setIcon(Imagen);
      
      
      
      
    }

    void processVoice(String palabra) {
        String reconocido;
        System.out.println("He reconocido desde java la palabra: " + palabra);
//        if (palabra.matches("arriba")){
//            System.out.println("Reconocido: arriba");
//        }
      
       
        //reconocido= palabra.trim();
       
       
        if ((palabra.indexOf("arriba")!=-1) && (palabra.indexOf("izquierda")!=-1)){
            System.out.println("Vamos a enviar arriba izquierda, entra");
            c.enviar(this.MOVIMIENTO, 4);
        }
        else if ((palabra.indexOf("arriba")!=-1) && (palabra.indexOf("derecha")!=-1)){
            System.out.println("Vamos a enviar arriba derecha, entra");
            c.enviar(this.MOVIMIENTO, 5);
        }
        else if ((palabra.indexOf("abajo")!=-1) && (palabra.indexOf("derecha")!=-1)){
            System.out.println("Vamos a enviar abajo derecha, entra");
            c.enviar(this.MOVIMIENTO, 7);
        }
        else if ((palabra.indexOf("abajo")!=-1) && (palabra.indexOf("izquierda")!=-1)){
            System.out.println("Vamos a enviar abajo izquierda, entra");
            c.enviar(this.MOVIMIENTO, 6);
        }
       
        else if ((palabra.indexOf("clic")!=-1) && (palabra.indexOf("derecho")!=-1)){
            System.out.println("Vamos a enviar clic derecho, entra");
            c.enviar(this.CLIC, 10);
        }
        else if ((palabra.indexOf("clic")!=-1) && (palabra.indexOf("medio")!=-1)){
            System.out.println("Vamos a enviar clic medio, entra");
            c.enviar(this.CLIC, 11);
        }
        else if ((palabra.indexOf("doble")!=-1) && (palabra.indexOf("clic")!=-1)){
            System.out.println("Vamos a enviar doble clic, entra");
            c.enviar(this.CLIC, 12);
        }
        else if (palabra.indexOf("clic")!=-1){
            System.out.println("Vamos a enviar clic, entra");
            c.enviar(this.CLIC, 9);
        }
        else if (palabra.indexOf("arriba")!=-1){
            System.out.println("Vamos a enviar arriba, entra");
            c.enviar(this.MOVIMIENTO, 0);
        }
        else if (palabra.indexOf("abajo")!=-1){
            System.out.println("Vamos a enviar abajo, entra");
            c.enviar(this.MOVIMIENTO, 1);
        }
        else if (palabra.indexOf("izquierda")!=-1){
            System.out.println("Vamos a enviar izquierda, entra");
            c.enviar(this.MOVIMIENTO, 3);
        }
        else if (palabra.indexOf("derecha")!=-1){
            System.out.println("Vamos a enviar derecha, entra");
            c.enviar(this.MOVIMIENTO, 2);
        }
        else if (palabra.indexOf("parar")!=-1){
            System.out.println("Vamos a enviar parar, entra");
            c.enviar(this.PARADA, 8);
        }
        else if (palabra.indexOf("frenar")!=-1){
            System.out.println("FRENARRR, entra");
            c.enviar(this.FRENAR, 0);
        }
        else if ((palabra.indexOf("fin")!=-1) && (palabra.indexOf("arrastrar")!=-1)){
            System.out.println("FIN ARRASTRAR, entra");
            c.enviar(this.ARRASTRAR, 14);
        }
        else if (palabra.indexOf("arrastrar")!=-1){
            if (!arrastrando){
                System.out.println("ARRASTRAR, entra");
                arrastrando=true;
                c.enviar(this.ARRASTRAR, 13);
            }
            else{
                System.out.println("Vamos a enviar fin arrastrar, entra");
                arrastrando=false;
                c.enviar(this.ARRASTRAR, 14);
            }
        }
       
      
//        else if((palabra.indexOf("fin")!=-1) && (palabra.indexOf("arrastrar")!=-1)){
//            System.out.println("Vamos a enviar arrastrar, entra");
//            c.enviar(this.ARRASTRAR, 14);
//        }
        else if (palabra.indexOf("frenar")!=-1){
            System.out.println("Vamos a enviar frenar, entra");
           
        }
       
       
       
       
       
       
       
       
       
    }
   
   
    native void iniciarReconocimiento();
    native void pararReconocimiento();

    private void posicionarEtiquetasClic() {
        GridBagConstraints constraints = new GridBagConstraints();
        constraints.gridx = 0;
        constraints.gridy = 0;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
        this.jPanelClics.add(this.lblclicIzdo,constraints);
       
       
        constraints.gridx = 1;
        constraints.gridy = 0;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
        this.jPanelClics.add(this.lblclicMedio,constraints);
       
        constraints.gridx = 2;
        constraints.gridy = 0;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
        this.jPanelClics.add(this.lblclicDcho,constraints);
       
        constraints.gridx = 3;
        constraints.gridy = 0;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
        this.jPanelClics.add(this.lbldobleClic,constraints);
       
        constraints.gridx = 4;
        constraints.gridy = 0;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
        this.jPanelClics.add(this.lblarrastrar,constraints);
       
       
        constraints.gridx = 0;
        constraints.gridy = 1;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
//        this.jPanelClics.add(this.jLabelclicIzdo,constraints);
       
       
        constraints.gridx = 1;
        constraints.gridy = 1;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
//        this.jPanelClics.add(this.jLabelClicMedio,constraints);
       
        constraints.gridx = 2;
        constraints.gridy = 1;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
//        this.jPanelClics.add(this.jLabelArriba8,constraints);
       
        constraints.gridx = 3;
        constraints.gridy = 1;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
////        this.jPanelClics.add(this.jLabelDobleClic,constraints);
       
        constraints.gridx = 4;
        constraints.gridy = 1;
        constraints.gridwidth = 1;
        constraints.gridheight = 1;
//        this.jPanelClics.add(this.jLabelArrastrar,constraints);
       
       
        this.jPanelClics.repaint();
        this.pack();
       
    }

    private void ActualizarIdioma() {
        System.out.println("Actualizar Idioma es: " + Idioma);
        jPanelClics.setBorder(BorderFactory.createTitledBorder(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strSeleccion")));
        jPanelMovimiento.setBorder(BorderFactory.createTitledBorder(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strMovimiento")));
        jPanelRalentizado.setBorder(BorderFactory.createTitledBorder(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strDeceleracion")));
        this.jMenu.setText(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strOpciones"));
        this.jMenuItemIniciar.setText(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strIniciar"));
      

        this.jMenuItemParar.setText(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strParar"));
        this.jMenuItemConfigurar.setText(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strConfiguracion"));
        this.jMenuIdiomas.setText(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strIdioma"));
        this.jRadioButtonMenuItemCastellano.setText(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strCastellano"));
        this.jRadioButtonMenuItemIngles.setText(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strIngles"));
        this.jMenuItemSalir.setText(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strSalir"));
        this.jMenuAyuda.setText(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strAyuda"));
        this.jMenuItemAcercaDe.setText(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strAcerca"));
        this.jMenuItemAbrir.setText(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strAbrir"));
        this.jMenuItemGuardar.setText(ResourceBundle.getBundle("lenguaje.fich_idiomas",Idioma).getString("strGuardar"));
    }

    private void CargarConfiguracionDefecto() {
        File file= new File("configs/last.xml");
        if (cargarConfiguracionXML(file)){
            System.out.println("---------> Cargado last.xml");
            copiarAlOriginal();
            enviarConfiguracionANucleo();
            ActualizarIdioma();
        }       
        else{
            enviarConfiguracionANucleo();
            ActualizarIdioma();
           
    }
    }

    private void copiarAlOriginal() {
        minCursor= CopiaminCursor;
        maxCursor= CopiamaxCursor;
        speedCursor= CopiaspeedCursor;
        relacionVel= CopiarelacionVel;
        Idioma= CopiaIdioma;
        if (Idioma.toString().equals("en_us")){
            // seleccionamos ingles
            Idioma=Locale.US;
            this.jRadioButtonMenuItemCastellano.setSelected(false);
            this.jRadioButtonMenuItemIngles.setSelected(true);
       
        }
        else{
            // seleccionamos espa�ol
            Idioma=Idioma.getDefault();
            this.jRadioButtonMenuItemCastellano.setSelected(true);
            this.jRadioButtonMenuItemIngles.setSelected(false);
        }
    }
    // Declaraci�n de varibales -no modificar//GEN-BEGIN:variables
    private javax.swing.ButtonGroup buttonGroupIdiomas;
    private javax.swing.JMenu jMenu;
    private javax.swing.JMenu jMenuAyuda;
    private javax.swing.JMenuBar jMenuBarControl;
    private javax.swing.JMenu jMenuIdiomas;
    private javax.swing.JMenuItem jMenuItemAbrir;
    private javax.swing.JMenuItem jMenuItemAcercaDe;
    private javax.swing.JMenuItem jMenuItemConfigurar;
    private javax.swing.JMenuItem jMenuItemGuardar;
    private javax.swing.JMenuItem jMenuItemIniciar;
    private javax.swing.JMenuItem jMenuItemParar;
    private javax.swing.JMenuItem jMenuItemSalir;
    private javax.swing.JPanel jPanelClics;
    private javax.swing.JPanel jPanelMovimiento;
    private javax.swing.JPanel jPanelRalentizado;
    private javax.swing.JRadioButtonMenuItem jRadioButtonMenuItemCastellano;
    private javax.swing.JRadioButtonMenuItem jRadioButtonMenuItemIngles;
    // Fin de declaraci�n de variables//GEN-END:variables
   
    private javax.swing.JLabel lblclicIzdo;
    private javax.swing.JLabel lblclicDcho;
    private javax.swing.JLabel lblclicMedio;
    private javax.swing.JLabel lbldobleClic;
    private javax.swing.JLabel lblarrastrar;
   
    class ThreadLanzar extends Thread {
      
    public ThreadLanzar(String str) {
        super(str);
       
    }
    public void run() {
        System.out.println("Entro a run");
        iniciarReconocimiento();
      
      
    }
    }
}
TOP

Related Classes of drivercontrolvoz.DriverVoz

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.