📄 rahinterfazusuario.java
字号:
/*
* rahInterfazUsuario.java
*
* Created on 8 de octubre de 2007, 11:27 AM
*/
package rah;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.URL;
import java.io.*;
import javax.swing.filechooser.*;
import javax.sound.sampled.*;
import java.awt.geom.*;
import javax.swing.border.*;
import java.util.*;
/**
*
* @author jorge
*/
public class rahInterfazUsuario extends javax.swing.JFrame {
/** Creates new form rahInterfazUsuario */
private ProcesamientoSenhal ProcDSenhal;
private ExtCaracteristicas ExtractC;
private ReconocimientoSenhal RecSenhal;
//****************************************************************
private GraficoVoz Canvas,CanvasFFT,CanvasFPE,CanvasTFCF,CanvasEsp;
private fft senhal;
Toolkit tk;
private double[][] vAux;
private double[][] vFactor;
public double Alfa=-1.0;
public int distVentana,distSolap;
double [] datosVoz=null;
int ancho,alto;
double tyEje=-110;
// Arreglo de Caracteristicas
public ArrayList Caracteristicas;
public ArrayList ArrayCaractEntrenada;
public ArrayList MatrizCaractPCA;
double[] vMFCC=null;
int metExtCaract=0;
String CaractSenhalReconocida="";
public rahInterfazUsuario() {
fc= new JFileChooser();
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
initComponents();
CambiarAlfa.setMinimum(-1000);
CambiarAlfa.setMaximum(1000);
Canvas=new GraficoVoz();
CanvasFFT=new GraficoVoz();
CanvasFPE=new GraficoVoz();
CanvasTFCF=new GraficoVoz();
CanvasEsp=new GraficoVoz();
//System.out.println("ancho "+Grafico.getWidth()+" alto "+Grafico.getHeight());
Canvas.anchoT(Grafico.getWidth());
Canvas.altoT(Grafico.getHeight());
Grafico.add(Canvas,BorderLayout.CENTER);
Canvas.setTraslacionYEje(0);
Canvas.repaint();
CanvasFFT.anchoT(GraficoFFT.getWidth());
CanvasFFT.altoT(GraficoFFT.getHeight());
GraficoFFT.add(CanvasFFT,BorderLayout.CENTER);
CanvasFFT.setTraslacionYEje(tyEje);
CanvasFFT.repaint();
CanvasFPE.anchoT(GraficoFPE.getWidth());
CanvasFPE.altoT(GraficoFPE.getHeight());
GraficoFPE.add(CanvasFPE,BorderLayout.CENTER);
CanvasFPE.setTraslacionYEje(tyEje);
CanvasFPE.repaint();
CanvasTFCF.anchoT(GraficoTFCF.getWidth());
CanvasTFCF.altoT(GraficoTFCF.getHeight());
GraficoTFCF.add(CanvasTFCF,BorderLayout.CENTER);
CanvasTFCF.setTraslacionYEje(tyEje);
CanvasTFCF.repaint();
CanvasEsp.anchoT(GraficoEsp.getWidth());
CanvasEsp.altoT(GraficoEsp.getHeight());
GraficoEsp.add(CanvasEsp,BorderLayout.CENTER);
CanvasEsp.setTraslacionYEje(tyEje);
CanvasEsp.repaint();
//ZONA DE ENTRENAMIENTO
Caracteristicas=new ArrayList();
ArrayCaractEntrenada=new ArrayList();
MatrizCaractPCA=new ArrayList();
Reconocer.setEnabled(false);
MostrarResultado.setEditable(false);
MostrarCaracteristicas.setEditable(false);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents() {
jPanel2 = new javax.swing.JPanel();
PanelProc_Info = new javax.swing.JTabbedPane();
Informacion = new javax.swing.JScrollPane();
log = new javax.swing.JTextArea();
FiltroPreenfasis = new javax.swing.JPanel();
GraficoFPE = new javax.swing.JPanel();
PanelBFPE = new javax.swing.JPanel();
CambiarAlfa = new javax.swing.JSlider();
GraficarFPE = new javax.swing.JButton();
FFT = new javax.swing.JPanel();
GraficoFFT = new javax.swing.JPanel();
PanelBFFT = new javax.swing.JPanel();
GraficarFFT = new javax.swing.JButton();
TFCF = new javax.swing.JPanel();
ScrollPTFCF = new javax.swing.JScrollPane();
GraficoTFCF = new javax.swing.JPanel();
PanelBTFCF = new javax.swing.JPanel();
GraficarTFCF = new javax.swing.JButton();
Espectograma = new javax.swing.JPanel();
GraficoEsp = new javax.swing.JPanel();
PanelBEsp = new javax.swing.JPanel();
GraficarEsp = new javax.swing.JButton();
PanelSenhalVoz = new javax.swing.JTabbedPane();
PanelSenhal = new javax.swing.JPanel();
ScrollGrafico = new javax.swing.JScrollPane();
Grafico = new javax.swing.JPanel();
PanelBGraf = new javax.swing.JPanel();
ElimSegInutil = new javax.swing.JButton();
DetPitch = new javax.swing.JButton();
PanelProcRec = new javax.swing.JPanel();
jTabbedPane1 = new javax.swing.JTabbedPane();
PanelEntrenamiento = new javax.swing.JPanel();
PanelMostrarCar = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
MostrarCaracteristicas = new javax.swing.JTextArea();
PanelBEntrenamiento = new javax.swing.JPanel();
OpcionEntrenar = new javax.swing.JRadioButton();
ListaMetExtCaract = new javax.swing.JComboBox();
entrenarSenhal = new javax.swing.JButton();
jTabbedPane2 = new javax.swing.JTabbedPane();
PanelReconocimiento = new javax.swing.JPanel();
PanelMostrarRes = new javax.swing.JPanel();
jScrollPane2 = new javax.swing.JScrollPane();
MostrarResultado = new javax.swing.JTextArea();
jPanel1 = new javax.swing.JPanel();
Reconocer = new javax.swing.JButton();
BarraHerramientas = new javax.swing.JToolBar();
abrir = new javax.swing.JButton();
Reset = new javax.swing.JButton();
jMenuBar1 = new javax.swing.JMenuBar();
Archivo = new javax.swing.JMenu();
AbrirArch = new javax.swing.JMenuItem();
ResetArch = new javax.swing.JMenuItem();
ProcSenhal = new javax.swing.JMenu();
ExtCaract = new javax.swing.JMenu();
Reconocimiento = new javax.swing.JMenu();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Reconocimiento Automatico del Habla");
setBackground(new java.awt.Color(255, 255, 255));
setBounds(new java.awt.Rectangle(0, 0, 0, 0));
setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 3, Short.MAX_VALUE)
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 650, Short.MAX_VALUE)
);
PanelProc_Info.setBackground(new java.awt.Color(255, 255, 255));
PanelProc_Info.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
PanelProc_Info.setName("");
PanelProc_Info.setNextFocusableComponent(FFT);
PanelProc_Info.setOpaque(true);
log.setColumns(20);
log.setRows(5);
Informacion.setViewportView(log);
PanelProc_Info.addTab("Informacion", Informacion);
FiltroPreenfasis.setLayout(new java.awt.BorderLayout());
FiltroPreenfasis.setBackground(new java.awt.Color(255, 255, 255));
GraficoFPE.setLayout(new java.awt.BorderLayout());
GraficoFPE.setBackground(new java.awt.Color(255, 255, 255));
GraficoFPE.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
FiltroPreenfasis.add(GraficoFPE, java.awt.BorderLayout.CENTER);
CambiarAlfa.setPaintLabels(true);
CambiarAlfa.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
CambiarAlfaStateChanged(evt);
}
});
PanelBFPE.add(CambiarAlfa);
GraficarFPE.setText("Graficar");
GraficarFPE.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
GraficarFPEActionPerformed(evt);
}
});
PanelBFPE.add(GraficarFPE);
FiltroPreenfasis.add(PanelBFPE, java.awt.BorderLayout.SOUTH);
PanelProc_Info.addTab("Filtro Preenfasis", FiltroPreenfasis);
FFT.setLayout(new java.awt.BorderLayout());
FFT.setBackground(new java.awt.Color(255, 255, 255));
GraficoFFT.setLayout(new java.awt.BorderLayout());
GraficoFFT.setBackground(new java.awt.Color(255, 255, 255));
GraficoFFT.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
FFT.add(GraficoFFT, java.awt.BorderLayout.CENTER);
GraficarFFT.setText("Graficar");
GraficarFFT.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
GraficarFFTActionPerformed(evt);
}
});
PanelBFFT.add(GraficarFFT);
FFT.add(PanelBFFT, java.awt.BorderLayout.SOUTH);
PanelProc_Info.addTab("FFT", FFT);
TFCF.setLayout(new java.awt.BorderLayout());
GraficoTFCF.setLayout(new java.awt.BorderLayout());
GraficoTFCF.setBackground(new java.awt.Color(255, 255, 255));
GraficoTFCF.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
ScrollPTFCF.setViewportView(GraficoTFCF);
TFCF.add(ScrollPTFCF, java.awt.BorderLayout.CENTER);
GraficarTFCF.setText("Graficar");
GraficarTFCF.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
GraficarTFCFActionPerformed(evt);
}
});
PanelBTFCF.add(GraficarTFCF);
TFCF.add(PanelBTFCF, java.awt.BorderLayout.SOUTH);
PanelProc_Info.addTab("TFCF", TFCF);
Espectograma.setLayout(new java.awt.BorderLayout());
Espectograma.setBackground(new java.awt.Color(255, 255, 255));
GraficoEsp.setLayout(new java.awt.BorderLayout());
GraficoEsp.setBackground(new java.awt.Color(255, 255, 255));
GraficoEsp.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
Espectograma.add(GraficoEsp, java.awt.BorderLayout.CENTER);
GraficarEsp.setText("Graficar");
PanelBEsp.add(GraficarEsp);
Espectograma.add(PanelBEsp, java.awt.BorderLayout.SOUTH);
PanelProc_Info.addTab("Espectograma", Espectograma);
PanelSenhal.setLayout(new java.awt.BorderLayout());
ScrollGrafico.setAutoscrolls(true);
Grafico.setLayout(new java.awt.BorderLayout());
Grafico.setBackground(new java.awt.Color(255, 255, 255));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -