public class control implements ActionListener {
//Vistas
private final VentanaP ventana;
private InsertarAsociacion_in insAsociacion;
private InsertarDistrito_in insDistrito;
private InsertarZonas_in insZona;
private InsertarIglesias_in insIglesia;
private InsertarPastor_in insPastor;
private InsertarPastorDatos_in insPastorD;
private SeleccionarPastor selPastor;
private InsertarTirillas_in insTirilla;
private InsertarEmpleado_in insEmpleado;
//Base de Datos
Tablas_Ver tbVer;
public Control(VentanaP ven) {
this.ventana = ven;
URL master = getClass().getResource("/Fotos/PRIMERLOGO.png");
ven.setIconImage(Toolkit.getDefaultToolkit().getImage(master));
iniciar_programa();
}
private void iniciar_programa() {
ventana.setLocationRelativeTo(null);
//menu
//REGISTRAR
this.ventana.mnEmpleados.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
registrar_empleado();
}
});
this.ventana.mnAsociacion.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
registrar_asociacion();
}
});
this.ventana.mnDistritos.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
registrar_distrito();
}
});
this.ventana.mnZonas.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
registrar_zona();
}
});
this.ventana.mnIglesias.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
registrar_iglesia();
}
});
this.ventana.mnPastores.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
registrar_pastor();
}
});
this.ventana.mnTirillas.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
registrar_tirilla("0", "0", "0");
}
});
//botones
this.ventana.bnTirillas.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
registrar_tirilla("0", "0", "0");
}
});
}
public void ver() {
this.ventana.setVisible(true);
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::: VENTANAS ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
//INSERTAR_EMPLEADO_IN*****rechequear
private void registrar_empleado() {
if (checkInternalFrame(insEmpleado)) {
insEmpleado = new InsertarEmpleado_in();
this.ventana.panel.add(insEmpleado);
insEmpleado.bnGuardar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (!"".equals(insEmpleado.nombre.getText()) && !"".equals(insEmpleado.apellido.getText())
&& !"".equals(insEmpleado.usuario.getText()) && !"".equals(insEmpleado.contrasena.getText())
&& insEmpleado.tipo.getSelectedIndex() != 0) {
if (!new Verificar().getEmpleado(insEmpleado.nombre.getText(), insEmpleado.apellido.getText())) {
if (!new Verificar().getUsuario(insEmpleado.usuario.getText())) {
String mensaje = new Insertar().agregarEmpleados(new Empleado(insEmpleado.nombre.getText(), insEmpleado.apellido.getText(),
insEmpleado.usuario.getText(), insEmpleado.contrasena.getText(),
insEmpleado.tipo.getSelectedItem().toString()));
JOptionPane.showMessageDialog(ventana, mensaje, "Información", JOptionPane.INFORMATION_MESSAGE);
insEmpleado.dispose();
registrar_empleado();
} else {
JOptionPane.showMessageDialog(ventana, "Usuario ya existe! Elegir otro nombre para el usuario!", "Advertencia", JOptionPane.WARNING_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(ventana, "El empleado '" + insEmpleado.nombre.getText() + ", " + insEmpleado.apellido.getText() + "' ya existe", "Información", JOptionPane.WARNING_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(ventana, "Debe de llenar todos los campos!", "Error", JOptionPane.ERROR_MESSAGE);
}
}
});
insEmpleado.setLocation(centradoXY(insEmpleado));
insEmpleado.setVisible(true);
} else {
JOptionPane.showMessageDialog(this.ventana, "La ventana de 'Registro de Empleados' ya esta abierta.", "Error", JOptionPane.ERROR_MESSAGE);
}
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::: METODOS ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
//funcion que dado un JInternalFrame calcula la posicion de centrado respecto a su contenedor, retorna las coordenadas en una variable de tipo POINT
private Point centradoXY(JInternalFrame jif) {
Point p = new Point(0, 0);
//se obtiene dimension del contenedor
Dimension pantalla = this.ventana.panel.getSize();
//se obtiene dimension del JInternalFrame
Dimension ven = jif.getSize();
//se calcula posición para el centrado
p.x = (pantalla.width - ven.width) / 2;
p.y = (pantalla.height - ven.height) / 2;
return p;
}
//METODO QUE DEVUELVE UN VALOR BOOLEAN PARA SABER SI UN JINTERNALFRAME ESTA ABIERTO O NO
private boolean checkInternalFrame(Object obj) {
JInternalFrame[] activos = this.ventana.panel.getAllFrames();
boolean cerrado = true;
int i = 0;
while (i < activos.length && cerrado) {
if (activos[i] == obj) {
cerrado = false;
}
i++;
}
return cerrado;
}