No tengo ni idea de porque no funciona
no escucha a mi controlador mi vista yo creo esta es mi vista, yo creo que el problema viene por el archivo, porque ni siquiera puedo probar mis clases:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
public class BanaiVista extends JFrame {
private JLabel lNumCliente, lNC, lNumCont,lVar,lTasa, lResultados,lResultados2,lResultados3,lNombreC, lDireccion, lNumeroCliente,lTelefono, lNumContrato, lDuracion, lPrecioP, lCantP, lProducto, lPrecA;
protected JTextField tNumCliente,tNC, tNumCont,tVar, tTasa,tNombreC, tDireccion, tNumeroCliente,tTelefono, tNumContrato, tDuracion, tPrecioP, tCantP, tProducto,tPrecA;
protected JTextArea tResultados, tResultados2;
protected JTextField tResultados3;
protected JPanel bCliente;
protected JPanel clientes;
protected JPanel bEjecutivo;
protected JPanel ejecutivo;
protected JPanel contratos;
protected JPanel bContrato;
protected JPanel calcularC;
protected JPanel bCalcularC;
protected JPanel contenedor;
protected JButton bACliente, bECliente, bAContrato, bEContrato, bBCliente, bBContrato, bCalcula;
private Font auxFont;
public BanaiVista (String titulo){
super (titulo);
contenedor=new JPanel (new GridLayout (3,1));
setContentPane (contenedor);
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
setBackground (Color.BLACK);
//Panel Cliente
clientes=new JPanel ();
clientes.setLayout (new GridLayout (3,4));
clientes.setBackground(Color.BLUE);
clientes.setBorder(BorderFactory.createEmptyBorder(4,4,4,4));
//Label
lNombreC=new JLabel ("Nombre: ");
auxFont=lNombreC.getFont();
lNombreC.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lNombreC.setForeground (Color.WHITE);
lTelefono=new JLabel ("Teléfono: ");
lTelefono.setForeground (Color.WHITE);
lTelefono.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lNumeroCliente=new JLabel ("# Cliente: ");
lNumeroCliente.setForeground (Color.WHITE);
lNumeroCliente.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lDireccion=new JLabel ("Dirección: ");
lDireccion.setForeground (Color.WHITE);
lDireccion.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lResultados=new JLabel ("Resultado: ");
lResultados.setForeground (Color.WHITE);
lResultados.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
//TextField
tNombreC=new JTextField (10);
tNombreC.setForeground (Color.BLUE);
tNombreC.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tTelefono=new JTextField (10);
tTelefono.setForeground (Color.BLUE);
tTelefono.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tNumeroCliente=new JTextField (10);
tNumeroCliente.setForeground (Color.BLUE);
tNumeroCliente.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tDireccion=new JTextField (10);
tDireccion.setForeground (Color.BLUE);
tDireccion.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tResultados=new JTextArea (5,5);
tResultados.setForeground (Color.BLUE);
tResultados.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
//Botones
bCliente=new JPanel ();
bCliente.setLayout (new FlowLayout ());
bCliente.setBackground(Color.BLUE);
bCliente.setBorder(BorderFactory.createEmptyBorder(4,4,4,4));
bACliente=new JButton ("+ Cliente");
bECliente=new JButton ("- Cliente");
bBCliente=new JButton ("Buscar");
bCliente.add (bBCliente);
bCliente.add(bACliente);
bCliente.add (bECliente);
//Agregar
clientes.add(lNumeroCliente);
clientes.add(tNumeroCliente);
clientes.add(lNombreC);
clientes.add(tNombreC);
clientes.add(lDireccion);
clientes.add(tDireccion);
clientes.add(lTelefono);
clientes.add(tTelefono);
clientes.add(lResultados);
clientes.add(tResultados);
clientes.add(bCliente);
//Panel contrato
contratos=new JPanel ();
contratos.setLayout (new GridLayout (6,4));
contratos.setBackground(Color.WHITE);
contratos.setBorder(BorderFactory.createEmptyBorder(4,4,4,4));
//Label
lNumeroCliente=new JLabel ("Numero Cliente: ");
lNumeroCliente.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lNumContrato=new JLabel("# Contrato: ");
lNumContrato.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lDuracion=new JLabel ("Duración: ");
lDuracion.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lPrecioP=new JLabel ("Precio Pactado: ");
lPrecioP.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lCantP=new JLabel ("Cant. Pactada");
lCantP.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lVar=new JLabel ("Varianza:");
lVar.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lTasa=new JLabel ("Tasa: ");
lTasa.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lResultados2=new JLabel ("Resultado: ");
lResultados2.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lProducto=new JLabel ("Producto: ");
lProducto.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lPrecA=new JLabel ("Precio Actual: ");
lPrecA.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lNC=new JLabel ("# Cliente: ");
lNC.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
//TextField
tNumeroCliente=new JTextField (10);
tNumeroCliente.setForeground (Color.BLUE);
tNumContrato=new JTextField(10);
tNumContrato.setForeground (Color.BLUE);
tNumContrato.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tDuracion=new JTextField (10);
tDuracion.setForeground (Color.BLUE);
tDuracion.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tPrecioP=new JTextField (10);
tPrecioP.setForeground (Color.BLUE);
tPrecioP.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tCantP=new JTextField (10);
tCantP.setForeground (Color.BLUE);
tCantP.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tVar=new JTextField (10);
tVar.setForeground (Color.BLUE);
tVar.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tTasa=new JTextField (10);
tTasa.setForeground (Color.BLUE);
tTasa.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tResultados2=new JTextArea (5,5);
tProducto=new JTextField (10);
tProducto.setForeground (Color.BLUE);
tProducto.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tPrecA=new JTextField (10);
tPrecA.setForeground (Color.BLUE);
tPrecA.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tNC=new JTextField (10);
tNC.setForeground (Color.BLUE);
tNC.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
//Botones
bContrato=new JPanel ();
bContrato.setLayout (new FlowLayout ());
bContrato.setBackground(Color.WHITE);
bContrato.setBorder(BorderFactory.createEmptyBorder(4,4,4,4));
bAContrato=new JButton ("+ Contrato");
bEContrato=new JButton ("- Contrato");
bBContrato=new JButton ("Buscar");
bContrato.add(bAContrato);
bContrato.add (bEContrato);
bContrato.add (bBContrato);
//Agregar
contratos.add (lNumContrato);
contratos.add (tNumContrato);
contratos.add (lNC);
contratos.add (tNC);
contratos.add (lDuracion);
contratos.add (tDuracion);
contratos.add (lPrecioP);
contratos.add (tPrecioP);
contratos.add (lCantP);
contratos.add (tCantP);
contratos.add (lVar);
contratos.add (tVar);
contratos.add (lTasa);
contratos.add (tTasa);
contratos.add (lProducto);
contratos.add (tProducto);
contratos.add (lPrecA);
contratos.add (tPrecA);
contratos.add (lResultados2);
contratos.add (tResultados2);
contratos.add (bContrato);
//Panel calcularC
calcularC=new JPanel ();
calcularC.setLayout (new GridLayout (2,4));
calcularC.setBackground(Color.BLUE);
calcularC.setBorder(BorderFactory.createEmptyBorder(4,4,4,4));
//Label
lNumCliente=new JLabel ("# Cliente: ");
lNumCliente.setForeground (Color.WHITE);
lNumCliente.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lNumCont=new JLabel("# Contrato: ");
lNumCont.setForeground (Color.WHITE);
lNumCont.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
lResultados3=new JLabel("Resultado: ");
lResultados3.setForeground (Color.WHITE);
lResultados3.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
//TextField
tNumCliente=new JTextField (10);
tNumCliente.setForeground (Color.BLUE);
tNumCliente.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tNumCont=new JTextField (10);
tNumCont.setForeground (Color.BLUE);
tNumCont.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
tResultados3=new JTextField (10);
tResultados3.setForeground (Color.BLUE);
tResultados3.setFont(new Font(auxFont.getFontName(), auxFont.getStyle(), 15));
//Botones
bCalcularC=new JPanel ();
bCalcularC.setLayout (new FlowLayout ());
bCalcularC.setBackground(Color.BLUE);
bCalcularC.setBorder(BorderFactory.createEmptyBorder(4,4,4,4));
bCalcula=new JButton ("Calcular Prima");
bCalcularC.add(bCalcula);
//Agregar
calcularC.add (lNumCliente);
calcularC.add (tNumCliente);
calcularC.add (lNumCont);
calcularC.add (tNumCont);
calcularC.add (lResultados3);
calcularC.add (tResultados3);
calcularC.add(bCalcularC);
contenedor.add (clientes);
contenedor.add (contratos);
contenedor.add(calcularC);
this.setBounds (100,100,1200,700);
this.setVisible (true);
}
public static void main(String[] args) {
BanaiVista panel;
panel=new BanaiVista ("Banai");
}
}
y este es mi controlador:
package paqueteBanco;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
public class BanaiControlador extends BanaiVista {
File ent;
double [][] tablaNormal;
BancoBanai a;
EjecutivoBanai e;
public BanaiControlador (String titulo){
super (titulo);
ent = new File("tablaNormal.txt");
a = new BancoBanai();
e=new EjecutivoBanai(34543,"Lidneisy");
tablaNormal = LeeArchivos.leeDameTablanormal(ent);
bACliente.addActionListener (new EscuchaCliente ());
bECliente.addActionListener (new EscuchaCliente ());
bBCliente.addActionListener (new EscuchaCliente ());
bAContrato.addActionListener (new EscuchaContrato ());
bEContrato.addActionListener (new EscuchaContrato ());
bBContrato.addActionListener (new EscuchaContrato ());
bCalcula.addActionListener (new EscuchaC ());
}
private class EscuchaContrato implements ActionListener{
public void actionPerformed (ActionEvent ae){
String numeroCliente;
String producto;
String numeroContStr;
String duracionStr;
String cantidadProdStr;
String varianzaPrecioProdStr;
String precioActualStr;
String tasaLibRiesgoStr;
String precioProdStr;
String res = null;
int numeroCont;
int duracion;
int cantidadProd;
double varianzaPrecioProd;
double precioActual;
double tasaLibRiesgo;
double precioProd;
numeroCliente=tNumeroCliente.getText();
producto=tProducto.getText();
numeroContStr=tNumContrato.getText();
duracionStr=tDuracion.getText();
cantidadProdStr=tCantP.getText();
varianzaPrecioProdStr=tVar.getText();
precioActualStr=tPrecA.getText();
tasaLibRiesgoStr=tTasa.getText();
precioProdStr=tPrecioP.getText();
numeroCont=Integer.parseInt(numeroContStr);
duracion=Integer.parseInt(duracionStr);
cantidadProd=Integer.parseInt(cantidadProdStr);
varianzaPrecioProd=Double.parseDouble(varianzaPrecioProdStr);
precioActual=Double.parseDouble(precioActualStr);
tasaLibRiesgo=Double.parseDouble(tasaLibRiesgoStr);
precioProd=Double.parseDouble(precioProdStr);
switch (ae.getActionCommand().charAt(0)){
case '+': if(e.agregaContratoCliente(numeroCliente,numeroCont,precioProd,duracion, cantidadProd, producto, varianzaPrecioProd, tasaLibRiesgo, precioActual))
res ="Ok";
else
res = "Error";
break;
case '-': res = e.quitaContratoCliente(numeroCliente,numeroCont);
break;
case 'B': res = e.infoContratoCliente(numeroCliente, numeroCont);
break;
}
tResultados2.setText(res);
}
}
private class EscuchaCliente implements ActionListener{
public void actionPerformed (ActionEvent ae){
String numCliente;
String telefono;
String direccion;
String nombre;
String res = null;
nombre=tNombreC.getText ();
numCliente=tNumeroCliente.getText();
telefono=tTelefono.getText();
direccion=tDireccion.getText();
switch (ae.getActionCommand().charAt(0)){
case '+': if(e.addCliente(nombre,numCliente,telefono,direccion))
res = "Cliente Agregado";
else
res = "Error";
break;
case '-': res = e.removeCliente(numCliente);
break;
case 'B': res = e.infoCliente(numCliente);
break;
}
tResultados.setText(res);
}
}
private class EscuchaC implements ActionListener{
public void actionPerformed (ActionEvent ae){
String numCliente;
String numContStr;
String resStr="";
int numCont;
double res;
numCliente=tNumCliente.getText();
numContStr=tNumCont.getText();
numCont=Integer.parseInt(numContStr);
res=e.calculaCContCl(numCliente,numCont,tablaNormal);
tResultados3.setText(resStr+res);
}
}
public static void main(String[] args) {
BanaiControlador panel;
panel=new BanaiControlador ("Banco Nacional de Inversión");
panel.pack();
}
}