CARGAR JTABLE CON DATOS DE UNA VIEW O TABLA DE SQL

2,545 views
Skip to first unread message

cel...@gmail.com

unread,
Jun 24, 2008, 6:20:02 PM6/24/08
to JavaSOS
ESTE ES EL FRACMENTO DE CODIGO QUE UTILIZO, PERO AL FINAL ME LLENA LAS
CELDAS EN BLANCO.

while (modelo.getRowCount() > 0){
modelo.removeRow(0);
}
// Para cada registro de resultado en la consulta
while (rs.next())
{
// Se crea y rellena la fila para el modelo de la
tabla.
Object[] datosFila = new
Object[modelo.getColumnCount()];
for (int i = 0; i < modelo.getColumnCount(); i++)
datosFila[i] = rs.getObject(i + 1);
modelo.addRow(datosFila);
numeroFila++;
}
rs.close();
}

no se que estoy haciendo mal. lo mas raro es que a la consulta le puse
TOP 10 y esas 10 filas me las crea, pero no me las llena con la info.
osea que el recordset (jejeje como en Visual Basic) si tiene data.

megajandro

unread,
Jun 26, 2008, 9:39:14 AM6/26/08
to JavaSOS
mira me parece que viene por aca el tema. Tendrias que hacer algo asi.

Object[][] data = {
{"Mary", "Campione",
"Snowboarding", new Integer(5), new Boolean(false)},
{"Alison", "Huml",
"Rowing", new Integer(3), new Boolean(true)},
{"Kathy", "Walrath",
"Knitting", new Integer(2), new Boolean(false)},
{"Sharon", "Zakhour",
"Speed reading", new Integer(20), new Boolean(true)},
{"Philip", "Milne",
"Pool", new Integer(10), new Boolean(false)}
};

final JTable table = new JTable(data, columnNames);

El data que vos creas tiene que ser un array doble y no de una sola
dimension como lo tenes definido.
Y segundo que no lo estas mostrando pero deberias tener al instanciar
JTable con data y
el nombre de columnas.

Saludos.

David Castañeda

unread,
Jun 26, 2008, 2:51:17 PM6/26/08
to jav...@googlegroups.com
el problema parece ser que rs.getObject(i + 1); realmente utilizar rs.getObject no retorna el valor de la columna sino mas bien metadata ,,, trata de utilizar getString o algo asi dependiendo de lo que tu sepas que tengas almacenado en la BD en esas columnas de resto :parece: estar bien.
--
David Castañeda R.

avb...@gmail.com

unread,
Jun 27, 2008, 9:39:53 AM6/27/08
to JavaSOS
tal vez esto te ayude

DefaultTableModel modelo;
int fila = -1;



PreparedStatement psquery = sesion.con.prepareStatement(sql);
ResultSet rs = psquery.executeQuery();
modelo = new DefaultTableModel();
// Creamos las columnas.
modelo.addColumn("codigo");
modelo.addColumn("comercio");
modelo.addColumn("contribuyente");
modelo.addColumn("cedula");

// Bucle para cada resultado en la consulta
while (rs.next()) {
// Se crea un array que será una de las filas de la tabla.
Object[] fila = new Object[4]; // Hay tres columnas en la tabla
fila[0] = rs.getString("idcomercio");
fila[1] = rs.getString("comercio");
fila[2] = rs.getString("contribuyente");
fila[3] = rs.getString("cedula");
modelo.addRow(fila);
}
this.jTable1.setModel(modelo);

Oscar Berganza

unread,
Jun 28, 2008, 4:45:14 PM6/28/08
to jav...@googlegroups.com
puedo ayudarte con tu problema pero lo que te prometo es un buen ejemplo
muy completo incluso con conexion a MYSQL 

2008/6/26 megajandro <alejand...@gmail.com>:



--
Oscar E. Berganza Cardona

Teli

unread,
Jul 1, 2008, 4:14:40 AM7/1/08
to JavaSOS
Yo también tengo problemas para actualizar mi JTable despues de o
bien insertar un nuevo elemento o bien modificar uno de los
existentes. yo tengo desarrollado mi propio modelo de datos el cual
contiene una lista con los datos obtenidos de la base de datos mysql y
yo quiero que cuando insertemos un nuevo elemento o modirfiquemos uno
existente nos actualice automaticamente los datos de la tabla.

GRACIAS

On 28 jun, 22:45, "Oscar Berganza" <oscarberga...@gmail.com> wrote:
> puedo ayudarte con tu problema pero lo que te prometo es un buen ejemplomuy
> completo incluso con conexion a MYSQL
>
> 2008/6/26 megajandro <alejandrolar...@gmail.com>:

David Castañeda

unread,
Jul 1, 2008, 10:33:19 PM7/1/08
to jav...@googlegroups.com
si estas agregando los datos al modelo pero la GUI no se actualiza, es posile que se te este olvidando llamar a los metodos fireXXX que indican a los componenetes asociados (listeners) de los cambios en el modelo, revisa los mismo metodos en DefaultTableModel para que veas los eventos que hay que lanzar dependiendo de los cambios del modelo.
--
David Castañeda R.

Teli

unread,
Jul 3, 2008, 4:13:33 AM7/3/08
to JavaSOS
Yo tengo una duda respecto a la actualización de un JTable. Resulta
que yo tengo en una pestaña una tabla con un listado de alumnos y para
mostrar el detalle y añladir nuevos alumnos lo hago en otra pestaña;
entonces mi problema es que no consigo que ese JTable se actualice con
los nuevos datos. Que estoy haciendo mal? Hago la llamada al metodo
fireTableDataChanged despues de modificar un alumno o de agregar uno
nuevo.
En cambio cuando los borro como lo hago en la misma pestaña si que me
lo actualiza.

GRACIAS

David Castañeda

unread,
Jul 3, 2008, 3:28:28 PM7/3/08
to jav...@googlegroups.com
teli, monta un ejemplo y coloca el codigo del problema que tienes y
con gusto te doy una mano a ver.

2008/7/3 Teli <esther...@hotmail.com>:

--
David Castañeda R.

Teli

unread,
Jul 7, 2008, 4:45:00 AM7/7/08
to JavaSOS
te he mandado el ejemplo a tu correo David porque colgarlo aqui
podría ser algo complicado, de todas maneras si no me he aclarado con
claridad dimelo que te lo reenvio.

On 3 jul, 21:28, "David Castañeda" <david...@gmail.com> wrote:
> teli, monta un ejemplo y coloca el codigo del problema que tienes y
> con gusto te doy una mano a ver.
>
> 2008/7/3 Teli <estherseca...@hotmail.com>:

Teli

unread,
Jul 8, 2008, 2:10:54 AM7/8/08
to JavaSOS
Bueno la cuestión es que aqui no se pueden adjuntrar ficheros luego
es un poco complicado explicarlo pero bueno lo intentare. Yo tengo mi
aplicación en un fichero llamado PantallaPrincipal que está dividido
en pestaña, tengo la primera pestaña que es donde muestro el listado
de alumnos y en la siguiente pestaña puedo o bien mostrar el detalle
de un alumno o bien agregar un alumno nuevo. Pues cuando paso de la
segunda pestaña a la primera las modificaciones no se me muestran.
- El siguiente fichero es el que contiene el modelo de la tabla de
alumnos que obtiene los datos de la base de datos MySQL

public class AlumnoTableModel extends AbstractTableModel implements
TableModelListener{

/**
*
*/
private static final long serialVersionUID = 1L;
private List<Alumno> alumnos;

public AlumnoTableModel(){
alumnos=new AlumnoBusinessHelper().listarTodos();
addTableModelListener(this);
if (alumnos==null){
throw new IllegalArgumentException("La lista de todos los alumnos
no puede ser null");
}
}

public int getColumnCount() {
return 5;
}

public int getRowCount() {
return alumnos.size();
}

public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}

public Object getValueAt(int row, int col) {

Alumno alumno=alumnos.get(row);
switch (col){
case 0:
return alumno.getNombre();
case 1:
return alumno.getApellidos();
case 2:
return alumno.getMatricula();
case 3:
return alumno.getTelefonoMovil();
case 4: {
if (alumno.getActivo()==1) {
return true;
} else return false;
}
default: throw new IllegalStateException(" getValueAt Se nos está
pidiendo una columna fuera de rango: "+col);
}
}

public String getColumnName(int col) {
switch (col){
case 0:
return "NOMBRE";
case 1:
return "APELLIDOS";
case 2:
return "MATRICULA";
case 3:
return "TELEFONO MOVIL";
case 4:
return "ACTIVO";
default: throw new IllegalStateException("getColumnName Se nos está
pidiendo una columna fuera de rango: "+col);
}
}


/**
* funcion que devuelve el elemento que está en la lista en la
posicion
* indicada en el parámetro
* @param posicion
* @return
*/
public Alumno getUno(int posicion){
return alumnos.get(posicion);
}

/**
* Funcion que nos devuelve el modelo de la tabla de los alumnos
* @return
*/
public List<Alumno> getModelo() {
return alumnos;
}

public void tableChanged(TableModelEvent arg0) {
//this.fireTableDataChanged();
System.out.print("\n Entra en el metodo change de la tabla de todos
los alumnos");

}
/**
* Comprueba si en el modelo existe el alumno que le pasamos como
parametro
* @param alum
* @return
*/
public boolean existeAlumno(Alumno alum) {
boolean existe= false;
int i=0;
while ((!existe) && (i<alumnos.size())) {
if (alumnos.get(i).equals(alum)) {
return true;
}
i++;
}
return false;
}
/**
* OJO a este metodo
* @param alum
* @return
*/
public boolean existeMatricula(Alumno alum) {
boolean existe = false;
int i=0;
while ((!existe) && (i<alumnos.size())) {
if (alumnos.get(i).getMatricula().equals(alum.getMatricula())) {
return true;
}
}
return false;
}
}

- A continuación mostrare el trozo de codigo de la pantalla
principal:

package asturmedia.academiacampa.presentacion;

import java.awt.BorderLayout;
import java.awt.Event;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.util.Iterator;
import java.util.List;

import javax.swing.ButtonGroup;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

import asturmedia.academiacampa.entidades.Alumno;
import asturmedia.academiacampa.entidades.Banco;
import asturmedia.academiacampa.entidades.Curso;
import asturmedia.academiacampa.entidades.Grupo;
import asturmedia.academiacampa.entidades.Sucursal;
import asturmedia.academiacampa.negocio.AlumnoBusinessHelper;
import asturmedia.academiacampa.negocio.BancoBusinessHelper;
import asturmedia.academiacampa.negocio.CursoBusinessHelper;
import asturmedia.academiacampa.negocio.GrupoBusinessHelper;
import asturmedia.academiacampa.negocio.SucursalBusinessHelper;
import asturmedia.academiacampa.presentacion.modelos.AlumnoTableModel;
import asturmedia.academiacampa.presentacion.modelos.BancosTableModel;
import asturmedia.academiacampa.presentacion.modelos.CursosTableModel;
import asturmedia.academiacampa.presentacion.modelos.GruposTableModel;
import
asturmedia.academiacampa.presentacion.modelos.SucursalTableModel;

public class PantallaPrincipal extends JFrame {

private JPanel jContentPane = null;

private JMenuBar jJMenuBar = null;

private JMenu MenuAlumnos = null;

private JMenu MenuAyuda = null;

private JMenuItem MenuItemSalir = null;

private JMenuItem MenuItemAcercaDe = null;

private JMenuItem MenuItemListadoAlumnos = null;

private JTabbedPane TabbedPaneTodo = null;

private JPanel PanelListadoAlumnos = null;

private JPanel PanelBuscarAlumno = null;

private JScrollPane ScrollPaneListadoAlumnos = null;

private JTable TableListadoAlumnos = null;

private JPanel PanelBotonesListadoAlumnos = null;

private JLabel LabelBuscarAlumno = null;

private JTextField TextFieldBuscarAlumno = null;

private JButton BotonBuscarAlumno = null;

private JButton BotonDetalleAlumno = null;

private JButton BotonCerrar = null;

private JPanel PanelDetalleNuevoAlumno = null;

private JPanel PanelAlumno = null;

private JPanel PanelBotonesAlumno = null;

private JButton BotonAceptarAlumno = null;

private JButton BotonCancelarAlumno = null;

private JPanel PanelDatosAlumno = null;

private JPanel PanelDatosBancoAlumno = null;

private JLabel LabelDNI = null;

private JTextField TextFieldDNI = null;

private JLabel LabelNombre = null;

private JTextField TextFieldNombre = null;

private JLabel LabelApellidos = null;

private JTextField TextFieldApellidos = null;

private JLabel LabelEmail = null;

private JTextField TextFieldEmail = null;

private JLabel LabelDomicilio = null;

private JTextField TextFieldDomicilio = null;

private JLabel LabelCP = null;

private JTextField TextFieldCP = null;

private JLabel LabelPoblacion = null;

private JTextField TextFieldPoblacion = null;

private JLabel LabelTFijo = null;

private JTextField TextFieldTFijo = null;

private JLabel LabelTMovil = null;

private JTextField TextFieldTMovil = null;

private JPanel PanelFechaNacimiento = null;

private JLabel LabelDia = null;

private JLabel LabelFechaNacimiento = null;

private JTextField TextFieldDia = null;

private JLabel LabelMes = null;

private JComboBox ComboBoxMes = null;

private JLabel LabelAnio = null;

private JTextField TextFieldAnio = null;

private JLabel LabelMatricula = null;

private JTextField TextFieldMatricula = null;

private JLabel LabelTitulacion = null;

private JComboBox ComboBoxTitulaciones = null;

private JPanel PanelTipoPago = null;

private JPanel PanelDatosBancarios = null;

private JPanel PanelObservaciones = null;

private JRadioButton RadioButtonCaja = null;

private JRadioButton RadioButtonBanco = null;

private JTextArea TextAreaObservaciones = null;

private JPanel PanelInterior = null;

private JLabel LabelEntidad = null;

private JComboBox ComboBoxEntidad = null;

private JLabel LabelSucursal = null;

private JComboBox ComboBoxSucursal = null;

private JLabel LabelNumeroCuenta = null;

private JTextField TextFieldNumeroCuenta = null;

private JButton BotonEditarAlumno = null;

private boolean alumnoModificado =false;
private boolean bancoModificado=false;
private boolean cursoModificado=false;
private boolean grupoModificado=false;

private JPanel PanelBancos = null;

private JPanel PanelListadoBancos = null;

private JPanel PanelBotonesBancos = null;

private JPanel PanelListadoBanco = null;

private JPanel PanelDetalleBanco = null;

private JScrollPane ScrollPaneListadoBancos = null;

private JTable TableListadoBancos = null;

private JButton BotonDetalleBanco = null;

private JButton BotonAceptarBanco = null;

private JButton BotonCancelarBancos = null;

private JMenu MenuBancos = null;

private JMenuItem MenuItemListadoBancos = null;

private JLabel LabelClaveBanco = null;

private JTextField TextFieldClaveBanco = null;

private JLabel LabelDenominacion = null;

private JTextField TextFieldDenominacionBanco = null;

private JButton BotonAgregarSucursal = null;

private JScrollPane ScrollPaneListadoSucursales = null;

private JTable TableListadoSucursales = null;

private JLabel LabelSucursales = null;

private JButton BotonDetalleSucursal = null;

private JButton BotonNuevoBanco = null;

private JButton BotonBorrarBanco = null;

private JButton BotonBorrarAlumno = null;

private JButton BotonBorrarSucursal = null;

private JPanel PanelCursos = null;

private JPanel PanelListadoCursos = null;

private JPanel PanelBotonesCursos = null;

private JPanel PanelListadoCurso = null;

private JPanel PanelDetalleCurso = null;

private JScrollPane ScrollPaneListadoCursos = null;

private JTable TableListadoCursos = null;

private JLabel LabelClaveCurso = null;

private JTextField TextFieldClaveCurso = null;

private JLabel LabelDenominacionCurso = null;

private JTextField TextFieldDenominacionCurso = null;

private JLabel LabelIvaCurso = null;

private JTextField TextFieldIvaCurso = null;

private JLabel LabelTributacionCurso = null;

private JLabel LabelPrecioCurso = null;

private JTextField TextFieldPrecioCurso = null;

private JRadioButton RadioButtonTributacionModulos = null;

private JRadioButton RadioButtonTributacionDirecta = null;

private JButton BotonDetalleCurso = null;

private JButton BotonBorrarCurso = null;

private JButton BotonNuevoCurso = null;

private JButton BotonAceptarCurso = null;

private JButton BotonCancelarCurso = null;

private JLabel LabelHorarios = null;

private JScrollPane ScrollPaneListadoGruposCurso = null;

private JTable TableListadoGruposCurso = null;

private JMenu MenuCursos = null;

private JMenuItem MenuItemListadoCursos = null;

private JButton BotonDetalleGrupo = null;

private JButton BotonAgregarGrupo = null;

private JButton BotonBorrarGrupo = null;

private JPanel PanelEstado = null;

private JCheckBox CheckBoxEstadoAlumno = null;

private JPanel PanelGrupo = null;

private JPanel PanelDetalleGrupo = null;

private JPanel PanelBotonesGrupo = null;

private JLabel LabelCurso = null;

private JComboBox ComboBoxListadoCursos = null;

private JLabel LabelNombreGrupo = null;

private JTextField TextFieldNombreGrupo = null;

private JLabel LabelNombreProfesor = null;

private JTextField TextFieldNombreProfesor = null;

private JPanel PanelListadosGrupo = null;

private JPanel PanelAlumnosGrupo = null;

private JPanel PanelHorariosGrupo = null;

private JScrollPane ScrollPaneAlumnosGrupo = null;

private JTable TableAlumnosGrupo = null;

private JPanel PanelBotonesAlumnosGrupo = null;

private JButton BotonAgregarAlumnoGrupo = null;

private JButton BotonEliminarAlumnoGrupo = null;

private JButton BotonNuevoGrupo = null;

private JScrollPane ScrollPaneHorariosGrupo = null;

private JTable TableHorariosGrupo = null;

private JPanel PanelBotonesHorarios = null;

private JButton BotonAgregarHorarioGrupo = null;

private JButton BotonEliminarHorarioGrupo = null;

private JButton BotonEditarGrupo = null;

private JButton BotonAceptarGrupo = null;

/**
* This method initializes TabbedPaneTodo
*
* @return javax.swing.JTabbedPane
*/
private JTabbedPane getTabbedPaneTodo() {
if (TabbedPaneTodo == null) {
TabbedPaneTodo = new JTabbedPane();
TabbedPaneTodo.setPreferredSize(new java.awt.Dimension(500,573));
TabbedPaneTodo.addTab("Listado alumnos", null,
getPanelListadoAlumnos(), null);
TabbedPaneTodo.addTab("Alumnos", null,
getPanelDetalleNuevoAlumno(), "Muestra el detalle del alumno o la
opción de insertar uno nuevo");
TabbedPaneTodo.addTab("Cursos", null, getPanelCursos(), null);
TabbedPaneTodo.addTab("Grupo", null, getPanelGrupo(), null);
TabbedPaneTodo.addTab("Bancos", null, getPanelBancos(), null);
}
return TabbedPaneTodo;
}

/**
* This method initializes PanelListadoAlumnos
*
* @return javax.swing.JPanel
*/
private JPanel getPanelListadoAlumnos() {
if (PanelListadoAlumnos == null) {
PanelListadoAlumnos = new JPanel();
PanelListadoAlumnos.setLayout(new BorderLayout());
PanelListadoAlumnos.add(getPanelBuscarAlumno(),
java.awt.BorderLayout.NORTH);
PanelListadoAlumnos.add(getScrollPaneListadoAlumnos(),
java.awt.BorderLayout.CENTER);
PanelListadoAlumnos.add(getPanelBotonesListadoAlumnos(),
java.awt.BorderLayout.SOUTH);
}
return PanelListadoAlumnos;
}

/**
* This method initializes PanelBuscarAlumno
*
* @return javax.swing.JPanel
*/
private JPanel getPanelBuscarAlumno() {
if (PanelBuscarAlumno == null) {
LabelBuscarAlumno = new JLabel();
LabelBuscarAlumno.setText("Buscar alumnos: ");
PanelBuscarAlumno = new JPanel();
PanelBuscarAlumno.add(LabelBuscarAlumno, null);
PanelBuscarAlumno.add(getTextFieldBuscarAlumno(), null);
PanelBuscarAlumno.add(getBotonBuscarAlumno(), null);
}
return PanelBuscarAlumno;
}

/**
* Inicialización del ScrollPaneListadoAlumnos
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getScrollPaneListadoAlumnos() {
if (ScrollPaneListadoAlumnos == null) {
ScrollPaneListadoAlumnos = new JScrollPane();
ScrollPaneListadoAlumnos.setViewportView(getTableListadoAlumnos());
}
return ScrollPaneListadoAlumnos;
}

/**
* Inicialización del TableListadoAlumnos
*
* @return javax.swing.JTable
*/
private JTable getTableListadoAlumnos() {
if (TableListadoAlumnos == null) {
TableListadoAlumnos = new JTable();
}
TableListadoAlumnos.setModel(new AlumnoTableModel());
TableListadoAlumnos.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
BotonDetalleAlumno.setEnabled(true);
BotonBorrarAlumno.setEnabled(true);
//alumnoModificado=true;
}
});
return TableListadoAlumnos;
}

/**
* This method initializes PanelBotonesListadoAlumnos
*
* @return javax.swing.JPanel
*/
private JPanel getPanelBotonesListadoAlumnos() {
if (PanelBotonesListadoAlumnos == null) {
PanelBotonesListadoAlumnos = new JPanel();
PanelBotonesListadoAlumnos.add(getBotonDetalleAlumno(), null);
PanelBotonesListadoAlumnos.add(getBotonBorrarAlumno(), null);
PanelBotonesListadoAlumnos.add(getBotonCerrar(), null);
}
return PanelBotonesListadoAlumnos;
}

/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldBuscarAlumno() {
if (TextFieldBuscarAlumno == null) {
TextFieldBuscarAlumno = new JTextField();
TextFieldBuscarAlumno.setPreferredSize(new
java.awt.Dimension(300,20));
}
return TextFieldBuscarAlumno;
}

/**
* This method initializes BotonBuscarAlumno
*
* @return javax.swing.JButton
*/
private JButton getBotonBuscarAlumno() {
if (BotonBuscarAlumno == null) {
BotonBuscarAlumno = new JButton();
BotonBuscarAlumno.setText("Buscar");
}
return BotonBuscarAlumno;
}

private void mostrarDetalleAlumno( Alumno alumno){
TextFieldDNI.setText(alumno.getDNI());
TextFieldNombre.setText(alumno.getNombre());
TextFieldApellidos.setText(alumno.getApellidos());
TextFieldEmail.setText(alumno.getEmail());
TextFieldDomicilio.setText(alumno.getDomicilio());
TextFieldCP.setText(alumno.getCP());
TextFieldPoblacion.setText(alumno.getPoblacion());
TextFieldTFijo.setText(alumno.getTelefonoFijo());
TextFieldTMovil.setText(alumno.getTelefonoMovil());

String fecha = alumno.getFechaNacimiento();
if (fecha!=null) {
String fechaD[]=fecha.split("-");
TextFieldDia.setText(fechaD[2]);
TextFieldAnio.setText(fechaD[0]);
ComboBoxMes.setSelectedIndex(new Integer(fechaD[1])-1);
}

TextFieldMatricula.setText(alumno.getMatricula());

if (alumno.getActivo()==1) {
CheckBoxEstadoAlumno.setSelected(true);
}

switch (alumno.getTipoCargo()) {
case 0:
RadioButtonBanco.setSelected(true);
//Obtener los detalles de la sucursal del alumno
//y con eso los detalles del banco
Sucursal suc = new Sucursal();
suc.setIdBanco(alumno.getIdBanco());
suc.setIdSucursal(alumno.getIdSucursal());
suc = new
SucursalBusinessHelper().detalleSucursal(suc.getIdBanco(),
suc.getIdSucursal());
Banco banco = new
BancoBusinessHelper().detalleBanco(suc.getIdBanco());
ComboBoxEntidad.setSelectedItem(banco.getDenominacion());
ComboBoxSucursal.setSelectedItem(suc.getDenominacion());
TextFieldNumeroCuenta.setText(alumno.getNumeroCuenta());

break;
case 1 : //Tipo de cargo CAJA
RadioButtonCaja.setSelected(true);
ComboBoxEntidad.setEnabled(false);
ComboBoxSucursal.setEnabled(false);
TextFieldNumeroCuenta.setEnabled(false);
break;
}



}
/**
* This method initializes BotonDetalleAlumno
*
* @return javax.swing.JButton
*/
private JButton getBotonDetalleAlumno() {
if (BotonDetalleAlumno == null) {
BotonDetalleAlumno = new JButton();
BotonDetalleAlumno.setEnabled(false);
BotonDetalleAlumno.setText("Detalles...");
BotonDetalleAlumno.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
int fila = TableListadoAlumnos.getSelectedRow();
Alumno alumno =
((AlumnoTableModel)TableListadoAlumnos.getModel()).getUno(fila);
mostrarDetalleAlumno(alumno);
if (alumno.getActivo()==1) {
alumnoModificado=true;
BotonEditarAlumno.setEnabled(true);
}
else BotonEditarAlumno.setEnabled(false);
TabbedPaneTodo.setSelectedIndex(1);

}
});
}
return BotonDetalleAlumno;
}

/**
* This method initializes BotonCerrar
*
* @return javax.swing.JButton
*/
private JButton getBotonCerrar() {
if (BotonCerrar == null) {
BotonCerrar = new JButton();
BotonCerrar.setText("Cerrar");
BotonCerrar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
PantallaPrincipal.this.dispose();
}
});
}
return BotonCerrar;
}

/**
* This method initializes PanelDetalleNuevoAlumno
*
* @return javax.swing.JPanel
*/
private JPanel getPanelDetalleNuevoAlumno() {
if (PanelDetalleNuevoAlumno == null) {
PanelDetalleNuevoAlumno = new JPanel();
PanelDetalleNuevoAlumno.setLayout(new BorderLayout());
PanelDetalleNuevoAlumno.add(getPanelAlumno(),
java.awt.BorderLayout.CENTER);
PanelDetalleNuevoAlumno.add(getPanelBotonesAlumno(),
java.awt.BorderLayout.SOUTH);
}
return PanelDetalleNuevoAlumno;
}

/**
* This method initializes PanelAlumno
*
* @return javax.swing.JPanel
*/
private JPanel getPanelAlumno() {
if (PanelAlumno == null) {
GridLayout gridLayout = new GridLayout();
gridLayout.setRows(1);
PanelAlumno = new JPanel();
PanelAlumno.setLayout(gridLayout);
PanelAlumno.add(getPanelDatosAlumno(), null);
PanelAlumno.add(getPanelDatosBancoAlumno(), null);
}
return PanelAlumno;
}

/**
* This method initializes PanelBotonesAlumno
*
* @return javax.swing.JPanel
*/
private JPanel getPanelBotonesAlumno() {
if (PanelBotonesAlumno == null) {
PanelBotonesAlumno = new JPanel();
PanelBotonesAlumno.add(getBotonEditarAlumno(), null);
PanelBotonesAlumno.add(getBotonAceptarAlumno(), null);
PanelBotonesAlumno.add(getBotonCancelarAlumno(), null);
}
return PanelBotonesAlumno;
}

/**
* Pasos previos necesarios a la modificación o insercion de un
alumno
*
*/
public void modificarAlumno() {
Alumno alumno = new Alumno();

alumno.setDNI(TextFieldDNI.getText());
alumno.setNombre(TextFieldNombre.getText());
alumno.setApellidos(TextFieldApellidos.getText());
alumno.setDomicilio(TextFieldDomicilio.getText());
alumno.setCP(TextFieldCP.getText());
alumno.setPoblacion(TextFieldPoblacion.getText());
alumno.setEmail(TextFieldEmail.getText());
alumno.setMatricula(TextFieldMatricula.getText());
alumno.setObservaciones(TextAreaObservaciones.getText());
alumno.setTelefonoFijo(TextFieldTFijo.getText());
alumno.setTelefonoMovil(TextFieldTMovil.getText());
int tipoCargo=0;
if (RadioButtonCaja.isSelected()) {
tipoCargo=1;
}
else if (RadioButtonBanco.isSelected()) {
tipoCargo=0;
alumno.setNumeroCuenta(TextFieldNumeroCuenta.getText());
int idbanco=new
BancoBusinessHelper().detalleBanco((String)ComboBoxEntidad.getSelectedItem()).getIdBanco();
alumno.setIdBanco(idbanco);
alumno.setIdSucursal((new
SucursalBusinessHelper().detalleSucursalBanco(idbanco,
(String)ComboBoxSucursal.getSelectedItem())).getIdSucursal());
}
alumno.setTipoCargo(tipoCargo);
if ((!TextFieldDia.getText().isEmpty()) && (!
TextFieldAnio.getText().isEmpty())) {
alumno.setFechaNacimiento(TextFieldAnio.getText()+"-"+
(ComboBoxMes.getSelectedIndex()+1)+"-"+TextFieldDia.getText());
}

if (CheckBoxEstadoAlumno.isSelected()) {
alumno.setActivo(1);
}
else alumno.setActivo(0);

if (alumnoModificado) {
int fila = TableListadoAlumnos.getSelectedRow();

alumno.setIdAlumno(((AlumnoTableModel)TableListadoAlumnos.getModel()).getUno(fila).getIdAlumno());
new AlumnoBusinessHelper().modificarAlumno(alumno);
//
((AlumnoTableModel)TableListadoAlumnos.getModel()).fireTableDataChanged();
}
else {
if (new AlumnoBusinessHelper().insertarAlumno(alumno)) {
//Actualizamos el modelo de los alumnos
AlumnoTableModel modelo
=(AlumnoTableModel)TableListadoAlumnos.getModel();
List<Alumno> miModelo = modelo.getModelo();
miModelo.add(alumno);
modelo.fireTableDataChanged();
//BotonAceptarBanco.setEnabled(false);
}
}


}

/**
* Inicialización del BotonAceptarAlumno
*
* @return javax.swing.JButton
*/
private JButton getBotonAceptarAlumno() {
if (BotonAceptarAlumno == null) {
BotonAceptarAlumno = new JButton();
BotonAceptarAlumno.setText("Aceptar");
BotonAceptarAlumno.setEnabled(false);
BotonAceptarAlumno.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//actualizar alumno
modificarAlumno();
//
((AlumnoTableModel)TableListadoAlumnos.getModel()).fireTableDataChanged();
TabbedPaneTodo.setSelectedIndex(0);
alumnoModificado=false;
}
});
}
return BotonAceptarAlumno;
}

private void cancelarAlumno() {
TextFieldDNI.setEnabled(false);
TextFieldDNI.setText("");
TextFieldNombre.setEnabled(false);
TextFieldNombre.setText("");
TextFieldApellidos.setEnabled(false);
TextFieldApellidos.setText("");
TextFieldEmail.setEnabled(false);
TextFieldEmail.setText("");
TextFieldDomicilio.setEnabled(false);
TextFieldDomicilio.setText("");
TextFieldCP.setEnabled(false);
TextFieldCP.setText("");
TextFieldPoblacion.setEnabled(false);
TextFieldPoblacion.setText("");
TextFieldTFijo.setEnabled(false);
TextFieldTFijo.setText("");
TextFieldTMovil.setEnabled(false);
TextFieldTMovil.setText("");
TextFieldDia.setEnabled(false);
TextFieldDia.setText("");
ComboBoxMes.setEnabled(false);
ComboBoxMes.setSelectedIndex(0);
TextFieldAnio.setEnabled(false);
TextFieldAnio.setText("");
TextFieldMatricula.setEnabled(false);
TextFieldMatricula.setText("");
ComboBoxTitulaciones.setEnabled(false);
ComboBoxTitulaciones.setSelectedIndex(1);
CheckBoxEstadoAlumno.setEnabled(false);
CheckBoxEstadoAlumno.setSelected(false);
RadioButtonCaja.setEnabled(false);
RadioButtonCaja.setSelected(true);
RadioButtonBanco.setEnabled(false);
RadioButtonBanco.setSelected(false);
ComboBoxEntidad.setEnabled(false);
//ComboBoxEntidad.setSelectedIndex(0);
ComboBoxSucursal.setEnabled(false);
//ComboBoxSucursal.setSelectedIndex(0);
TextFieldNumeroCuenta.setEnabled(false);
TextFieldNumeroCuenta.setText("");
TextAreaObservaciones.setEnabled(false);
TextAreaObservaciones.setText("");
BotonAceptarAlumno.setEnabled(false);
TabbedPaneTodo.setSelectedIndex(0);
}

/**
* Inicialización del BotonCancelarAlumno
*
* @return javax.swing.JButton
*/
private JButton getBotonCancelarAlumno() {
if (BotonCancelarAlumno == null) {
BotonCancelarAlumno = new JButton();
BotonCancelarAlumno.setText("Cancelar");
BotonCancelarAlumno.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
cancelarAlumno();

}
});
}
return BotonCancelarAlumno;
}

/**
* This method initializes PanelDatosAlumno
*
* @return javax.swing.JPanel
*/
private JPanel getPanelDatosAlumno() {
if (PanelDatosAlumno == null) {
LabelTitulacion = new JLabel();
LabelTitulacion.setText(" Titulación: ");
LabelMatricula = new JLabel();
LabelMatricula.setText(" Matrícula: ");
GridLayout gridLayout1 = new GridLayout();
gridLayout1.setRows(24);
LabelFechaNacimiento = new JLabel();
LabelFechaNacimiento.setText(" Fecha de nacimiento: ");
LabelTMovil = new JLabel();
LabelTMovil.setText(" Teléfono móvil: ");
LabelTFijo = new JLabel();
LabelTFijo.setText(" Teléfono fijo: ");
LabelPoblacion = new JLabel();
LabelPoblacion.setText(" Población: ");
LabelCP = new JLabel();
LabelCP.setText(" Código postal:");
LabelDomicilio = new JLabel();
LabelDomicilio.setText(" Domicilio: ");
LabelEmail = new JLabel();
LabelEmail.setText(" Email: ");
LabelApellidos = new JLabel();
LabelApellidos.setText(" Apellidos: ");
LabelNombre = new JLabel();
LabelNombre.setText(" Nombre:");
LabelDNI = new JLabel();
LabelDNI.setText(" D.N.I.: ");
PanelDatosAlumno = new JPanel();
PanelDatosAlumno.setLayout(gridLayout1);

PanelDatosAlumno.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
"Datos alumno", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Dialog", java.awt.Font.BOLD, 12), new
java.awt.Color(51,51,51)));
PanelDatosAlumno.add(LabelDNI, null);
PanelDatosAlumno.add(getTextFieldDNI(), null);
PanelDatosAlumno.add(LabelNombre, null);
PanelDatosAlumno.add(getTextFieldNombre(), null);
PanelDatosAlumno.add(LabelApellidos, null);
PanelDatosAlumno.add(getTextFieldApellidos(), null);
PanelDatosAlumno.add(LabelEmail, null);
PanelDatosAlumno.add(getTextFieldEmail(), null);
PanelDatosAlumno.add(LabelDomicilio, null);
PanelDatosAlumno.add(getTextFieldDomicilio(), null);
PanelDatosAlumno.add(LabelCP, null);
PanelDatosAlumno.add(getTextFieldCP(), null);
PanelDatosAlumno.add(LabelPoblacion, null);
PanelDatosAlumno.add(getTextFieldPoblacion(), null);
PanelDatosAlumno.add(LabelTFijo, null);
PanelDatosAlumno.add(getTextFieldTFijo(), null);
PanelDatosAlumno.add(LabelTMovil, null);
PanelDatosAlumno.add(getTextFieldTMovil(), null);
PanelDatosAlumno.add(LabelFechaNacimiento, null);
PanelDatosAlumno.add(getPanelFechaNacimiento(), null);
PanelDatosAlumno.add(LabelMatricula, null);
PanelDatosAlumno.add(getTextFieldMatricula(), null);
PanelDatosAlumno.add(LabelTitulacion, null);
PanelDatosAlumno.add(getComboBoxTitulaciones(), null);
}
return PanelDatosAlumno;
}

/**
* This method initializes PanelDatosBancoAlumno
*
* @return javax.swing.JPanel
*/
private JPanel getPanelDatosBancoAlumno() {
if (PanelDatosBancoAlumno == null) {
PanelDatosBancoAlumno = new JPanel();
PanelDatosBancoAlumno.setLayout(null);
PanelDatosBancoAlumno.add(getPanelEstado(), null);
PanelDatosBancoAlumno.add(getPanelTipoPago(), null);
PanelDatosBancoAlumno.add(getPanelDatosBancarios(), null);
PanelDatosBancoAlumno.add(getPanelObservaciones(), null);
}
return PanelDatosBancoAlumno;
}

/**
* This method initializes TextFieldDNI
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldDNI() {
if (TextFieldDNI == null) {
TextFieldDNI = new JTextField();
TextFieldDNI.setEnabled(false);
}
return TextFieldDNI;
}

/**
* This method initializes TextFieldNombre
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldNombre() {
if (TextFieldNombre == null) {
TextFieldNombre = new JTextField();
TextFieldNombre.setEnabled(false);
}
return TextFieldNombre;
}

/**
* This method initializes TextFieldApellidos
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldApellidos() {
if (TextFieldApellidos == null) {
TextFieldApellidos = new JTextField();
TextFieldApellidos.setEnabled(false);
}
return TextFieldApellidos;
}

/**
* This method initializes TextFieldEmail
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldEmail() {
if (TextFieldEmail == null) {
TextFieldEmail = new JTextField();
TextFieldEmail.setEnabled(false);
}
return TextFieldEmail;
}

/**
* This method initializes TextFieldDomicilio
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldDomicilio() {
if (TextFieldDomicilio == null) {
TextFieldDomicilio = new JTextField();
TextFieldDomicilio.setEnabled(false);
}
return TextFieldDomicilio;
}

/**
* This method initializes TextFieldCP
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldCP() {
if (TextFieldCP == null) {
TextFieldCP = new JTextField();
TextFieldCP.setEnabled(false);
}
return TextFieldCP;
}

/**
* This method initializes TextFieldPoblacion
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldPoblacion() {
if (TextFieldPoblacion == null) {
TextFieldPoblacion = new JTextField();
TextFieldPoblacion.setEnabled(false);
}
return TextFieldPoblacion;
}

/**
* This method initializes TextFieldTFijo
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldTFijo() {
if (TextFieldTFijo == null) {
TextFieldTFijo = new JTextField();
TextFieldTFijo.setEnabled(false);
}
return TextFieldTFijo;
}

/**
* This method initializes TextFieldTMovil
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldTMovil() {
if (TextFieldTMovil == null) {
TextFieldTMovil = new JTextField();
TextFieldTMovil.setEnabled(false);
}
return TextFieldTMovil;
}

/**
* This method initializes PanelFechaNacimiento
*
* @return javax.swing.JPanel
*/
private JPanel getPanelFechaNacimiento() {
if (PanelFechaNacimiento == null) {

LabelAnio = new JLabel();
LabelAnio.setText(" Año: ");
LabelMes = new JLabel();
LabelMes.setText(" Mes: ");
GridLayout gridLayout2 = new GridLayout();
gridLayout2.setRows(1);
LabelDia = new JLabel();
LabelDia.setText(" Día: ");
PanelFechaNacimiento = new JPanel();
PanelFechaNacimiento.setLayout(gridLayout2);
PanelFechaNacimiento.add(LabelDia, null);
PanelFechaNacimiento.add(getTextFieldDia(), null);
PanelFechaNacimiento.add(LabelMes, null);
PanelFechaNacimiento.add(getComboBoxMes(), null);
PanelFechaNacimiento.add(LabelAnio, null);
PanelFechaNacimiento.add(getTextFieldAnio(), null);
}
return PanelFechaNacimiento;
}

/**
* This method initializes TextFieldDia
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldDia() {
if (TextFieldDia == null) {
TextFieldDia = new JTextField();
TextFieldDia.setEnabled(false);
}
return TextFieldDia;
}

/**
* This method initializes ComboBoxMes
*
* @return javax.swing.JComboBox
*/
private JComboBox getComboBoxMes() {
if (ComboBoxMes == null) {
ComboBoxMes = new JComboBox();
}
ComboBoxMes.addItem("Enero");
ComboBoxMes.addItem("Febrero");
ComboBoxMes.addItem("Marzo");
ComboBoxMes.addItem("Abril");
ComboBoxMes.addItem("Mayo");
ComboBoxMes.addItem("Junio");
ComboBoxMes.addItem("Julio");
ComboBoxMes.addItem("Agosto");
ComboBoxMes.addItem("Septiembre");
ComboBoxMes.addItem("Octubre");
ComboBoxMes.addItem("Noviembre");
ComboBoxMes.addItem("Diciembre");
ComboBoxMes.setSelectedIndex(0);
ComboBoxMes.setEnabled(false);

return ComboBoxMes;
}

/**
* This method initializes TextFieldAnio
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldAnio() {
if (TextFieldAnio == null) {
TextFieldAnio = new JTextField();
TextFieldAnio.setEnabled(false);
}
return TextFieldAnio;
}

/**
* This method initializes TextFieldMatricula
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldMatricula() {
if (TextFieldMatricula == null) {
TextFieldMatricula = new JTextField();
TextFieldMatricula.setEnabled(false);
}
return TextFieldMatricula;
}

private void rellenarTitulaciones() {
ComboBoxTitulaciones.addItem("Informática");
ComboBoxTitulaciones.addItem("Empresariales");
ComboBoxTitulaciones.setSelectedIndex(0);
}

/**
* This method initializes ComboBoxTitulaciones
*
* @return javax.swing.JComboBox
*/
private JComboBox getComboBoxTitulaciones() {
if (ComboBoxTitulaciones == null) {
ComboBoxTitulaciones = new JComboBox();
ComboBoxTitulaciones.setEnabled(false);
}
rellenarTitulaciones();
if (BotonDetalleAlumno.isEnabled()){
//seleccionar la del alumno concreta
}
return ComboBoxTitulaciones;
}

/**
* This method initializes PanelTipoPago
*
* @return javax.swing.JPanel
*/
private JPanel getPanelTipoPago() {
if (PanelTipoPago == null) {
GridLayout gridLayout3 = new GridLayout();
gridLayout3.setRows(2);
PanelTipoPago = new JPanel();
PanelTipoPago.setBounds(new java.awt.Rectangle(0,38,408,81));
PanelTipoPago.setLayout(gridLayout3);

PanelTipoPago.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
"Tipo de pago", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Tahoma", java.awt.Font.BOLD, 11), new
java.awt.Color(51,51,51)));
PanelTipoPago.add(getRadioButtonCaja(), null);
PanelTipoPago.add(getRadioButtonBanco(), null);
ButtonGroup grupoTipoPago = new ButtonGroup();
grupoTipoPago.add(RadioButtonCaja);
grupoTipoPago.add(RadioButtonBanco);
class RadioListener implements ActionListener {
public void actionPerformed(ActionEvent arg0) {
if (RadioButtonBanco.isSelected()) {
ComboBoxEntidad.setEnabled(true);
ComboBoxSucursal.setEnabled(true);
TextFieldNumeroCuenta.setEnabled(true);
}
else {
ComboBoxEntidad.setEnabled(false);
ComboBoxSucursal.setEnabled(false);
TextFieldNumeroCuenta.setEnabled(false);
}
System.out.print("\n Se ejecuta el listener de los
radiobuttons");
}

}
// Register a listener for the radio buttons.
RadioListener myListener = new RadioListener();
RadioButtonCaja.addActionListener(myListener);
RadioButtonBanco.addActionListener(myListener);

}
return PanelTipoPago;
}

/**
* This method initializes PanelDatosBancarios
*
* @return javax.swing.JPanel
*/
private JPanel getPanelDatosBancarios() {
if (PanelDatosBancarios == null) {
GridLayout gridLayout5 = new GridLayout();
gridLayout5.setRows(1);
PanelDatosBancarios = new JPanel();
PanelDatosBancarios.setBounds(new
java.awt.Rectangle(0,120,408,279));
PanelDatosBancarios.setLayout(gridLayout5);

PanelDatosBancarios.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
"Datos bancarios",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Tahoma", java.awt.Font.BOLD, 11), new
java.awt.Color(51,51,51)));
PanelDatosBancarios.add(getPanelInterior(), null);
}
return PanelDatosBancarios;
}

/**
* This method initializes PanelObservaciones
*
* @return javax.swing.JPanel
*/
private JPanel getPanelObservaciones() {
if (PanelObservaciones == null) {
PanelObservaciones = new JPanel();
PanelObservaciones.setLayout(new BorderLayout());

PanelObservaciones.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
"Observaciones",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Tahoma", java.awt.Font.BOLD, 11), new
java.awt.Color(51,51,51)));
PanelObservaciones.setBounds(new
java.awt.Rectangle(0,405,408,107));
PanelObservaciones.add(getTextAreaObservaciones(),
java.awt.BorderLayout.CENTER);
}
return PanelObservaciones;
}

/**
* This method initializes RadioButtonCaja
*
* @return javax.swing.JRadioButton
*/
private JRadioButton getRadioButtonCaja() {
if (RadioButtonCaja == null) {
RadioButtonCaja = new JRadioButton();
RadioButtonCaja.setText("Caja");
RadioButtonCaja.setEnabled(false);
}
return RadioButtonCaja;
}

/**
* This method initializes RadioButtonBanco
*
* @return javax.swing.JRadioButton
*/
private JRadioButton getRadioButtonBanco() {
if (RadioButtonBanco == null) {
RadioButtonBanco = new JRadioButton();
RadioButtonBanco.setText("Trasferencia bancaria");
RadioButtonBanco.setEnabled(false);
}
return RadioButtonBanco;
}

/**
* This method initializes TextAreaObservaciones
*
* @return javax.swing.JTextArea
*/
private JTextArea getTextAreaObservaciones() {
if (TextAreaObservaciones == null) {
TextAreaObservaciones = new JTextArea();
TextAreaObservaciones.setRows(6);
TextAreaObservaciones.setWrapStyleWord(true);
TextAreaObservaciones.setBackground(java.awt.Color.lightGray);
TextAreaObservaciones.setEnabled(false);
TextAreaObservaciones.setFont(new java.awt.Font("Tahoma",
java.awt.Font.PLAIN, 11));
JScrollPane areaScrollPane = new
JScrollPane(TextAreaObservaciones);

areaScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
}
return TextAreaObservaciones;
}

/**
* This method initializes PanelInterior
*
* @return javax.swing.JPanel
*/
private JPanel getPanelInterior() {
if (PanelInterior == null) {
LabelNumeroCuenta = new JLabel();
LabelNumeroCuenta.setText(" Número de cuenta: ");
LabelSucursal = new JLabel();
LabelSucursal.setText(" Sucursal: ");
LabelEntidad = new JLabel();
LabelEntidad.setText(" Entidad: ");
GridLayout gridLayout4 = new GridLayout();
gridLayout4.setRows(12);
PanelInterior = new JPanel();
PanelInterior.setLayout(gridLayout4);
PanelInterior.add(LabelEntidad, null);
PanelInterior.add(getComboBoxEntidad(), null);
PanelInterior.add(LabelSucursal, null);
PanelInterior.add(getComboBoxSucursal(), null);
PanelInterior.add(LabelNumeroCuenta, null);
PanelInterior.add(getTextFieldNumeroCuenta(), null);
}
return PanelInterior;
}

public DefaultComboBoxModel rellenarEntidades() {
List<Banco> bancos = new BancoBusinessHelper().listarTodos();
Iterator iter = bancos.iterator();
DefaultComboBoxModel modelo = new DefaultComboBoxModel();
while (iter.hasNext()) {
modelo.addElement(((Banco)iter.next()).getDenominacion());
}
return modelo;
}

private DefaultComboBoxModel rellenarSucursalesDeBanco (String banco)
{
int idbanco = new
BancoBusinessHelper().detalleBanco(banco).getIdBanco();
List<Sucursal> sucursales = new
SucursalBusinessHelper().listarSucursalesPorBanco(idbanco);

Iterator iter = sucursales.iterator();
DefaultComboBoxModel modelo = new DefaultComboBoxModel();
while (iter.hasNext()) {
modelo.addElement(((Sucursal)iter.next()).getDenominacion());
}
return modelo;

}
/**
* Inicializacion ComboBoxEntidad
*
* @return javax.swing.JComboBox
*/
private JComboBox getComboBoxEntidad() {
if (ComboBoxEntidad == null) {

ComboBoxEntidad = new JComboBox(rellenarEntidades());
ComboBoxEntidad.setEnabled(false);
ComboBoxEntidad.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent e) {

ComboBoxSucursal.setModel(rellenarSucursalesDeBanco((String)ComboBoxEntidad.getSelectedItem()));
}
});
}
return ComboBoxEntidad;
}

/**
* Inicializacion ComboBoxSucursal
*
* @return javax.swing.JComboBox
*/
private JComboBox getComboBoxSucursal() {
if (ComboBoxSucursal == null) {
ComboBoxSucursal = new JComboBox();
ComboBoxSucursal.setEnabled(false);
}
return ComboBoxSucursal;
}

/**
* Inicializacion TextFieldNumeroCuenta
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldNumeroCuenta() {
if (TextFieldNumeroCuenta == null) {
TextFieldNumeroCuenta = new JTextField();
TextFieldNumeroCuenta.setEnabled(false);
}
return TextFieldNumeroCuenta;
}

private void camposEditables() {

TextFieldDNI.setEnabled(true);
TextFieldNombre.setEnabled(true);
TextFieldApellidos.setEnabled(true);
TextFieldEmail.setEnabled(true);
TextFieldDomicilio.setEnabled(true);
TextFieldCP.setEnabled(true);
TextFieldPoblacion.setEnabled(true);
TextFieldTFijo.setEnabled(true);
TextFieldTMovil.setEnabled(true);
TextFieldDia.setEnabled(true);
ComboBoxMes.setEnabled(true);
TextFieldAnio.setEnabled(true);
TextFieldMatricula.setEnabled(true);
ComboBoxTitulaciones.setEnabled(true);
if (!alumnoModificado) {
RadioButtonCaja.setSelected(true);
ComboBoxEntidad.setEnabled(false);
ComboBoxSucursal.setEnabled(false);
TextFieldNumeroCuenta.setEnabled(false);
}
else {
if (RadioButtonBanco.isSelected()) {
ComboBoxEntidad.setEnabled(true);
ComboBoxSucursal.setEnabled(true);
TextFieldNumeroCuenta.setEnabled(true);
}
}
CheckBoxEstadoAlumno.setEnabled(true);
RadioButtonBanco.setEnabled(true);
RadioButtonCaja.setEnabled(true);
TextAreaObservaciones.setEnabled(true);

}
/**
* Inicialización del BotonEditarAlumno
*
* @return javax.swing.JButton
*/
private JButton getBotonEditarAlumno() {
if (BotonEditarAlumno == null) {
BotonEditarAlumno = new JButton();
BotonEditarAlumno.setText("Editar");
BotonEditarAlumno.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//alumnoModificado=true;
camposEditables();
BotonAceptarAlumno.setEnabled(true);
}
});
}
return BotonEditarAlumno;
}

/**
* This method initializes PanelBancos
*
* @return javax.swing.JPanel
*/
private JPanel getPanelBancos() {
if (PanelBancos == null) {
PanelBancos = new JPanel();
PanelBancos.setLayout(new BorderLayout());
PanelBancos.add(getPanelListadoBancos(),
java.awt.BorderLayout.CENTER);
PanelBancos.add(getPanelBotonesBancos(),
java.awt.BorderLayout.SOUTH);
}
return PanelBancos;
}

/**
* This method initializes PanelListadoBancos
*
* @return javax.swing.JPanel
*/
private JPanel getPanelListadoBancos() {
if (PanelListadoBancos == null) {
GridLayout gridLayout6 = new GridLayout();
gridLayout6.setRows(1);
PanelListadoBancos = new JPanel();
PanelListadoBancos.setLayout(gridLayout6);
PanelListadoBancos.add(getPanelListadoBanco(), null);
PanelListadoBancos.add(getPanelDetalleBanco(), null);
}
return PanelListadoBancos;
}

/**
* This method initializes PanelBotonesBancos
*
* @return javax.swing.JPanel
*/
private JPanel getPanelBotonesBancos() {
if (PanelBotonesBancos == null) {
PanelBotonesBancos = new JPanel();
PanelBotonesBancos.add(getBotonDetalleBanco(), null);
PanelBotonesBancos.add(getBotonBorrarBanco(), null);
PanelBotonesBancos.add(getBotonNuevoBanco(), null);
PanelBotonesBancos.add(getBotonAceptarBanco(), null);
PanelBotonesBancos.add(getBotonCancelarBancos(), null);
}
return PanelBotonesBancos;
}

/**
* This method initializes PanelListadoBanco
*
* @return javax.swing.JPanel
*/
private JPanel getPanelListadoBanco() {
if (PanelListadoBanco == null) {
PanelListadoBanco = new JPanel();
PanelListadoBanco.setLayout(new BorderLayout());

PanelListadoBanco.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
"Listado bancos",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Dialog", java.awt.Font.BOLD, 12),
java.awt.Color.black));
PanelListadoBanco.add(getScrollPaneListadoBancos(),
java.awt.BorderLayout.CENTER);
}
return PanelListadoBanco;
}

/**
* This method initializes PanelDetalleBanco
*
* @return javax.swing.JPanel
*/
private JPanel getPanelDetalleBanco() {
if (PanelDetalleBanco == null) {
GridBagConstraints gridBagConstraints8 = new GridBagConstraints();
gridBagConstraints8.insets = new java.awt.Insets(9,4,138,20);
gridBagConstraints8.gridy = 6;
gridBagConstraints8.ipadx = 14;
gridBagConstraints8.ipady = -3;
gridBagConstraints8.gridx = 2;
GridBagConstraints gridBagConstraints7 = new GridBagConstraints();
gridBagConstraints7.insets = new java.awt.Insets(8,9,137,4);
gridBagConstraints7.gridy = 6;
gridBagConstraints7.ipadx = 2;
gridBagConstraints7.ipady = -1;
gridBagConstraints7.gridx = 0;
GridBagConstraints gridBagConstraints6 = new GridBagConstraints();
gridBagConstraints6.insets = new java.awt.Insets(8,22,2,75);
gridBagConstraints6.gridx = 0;
gridBagConstraints6.gridy = 4;
gridBagConstraints6.ipadx = 90;
gridBagConstraints6.ipady = 10;
gridBagConstraints6.gridwidth = 2;
GridBagConstraints gridBagConstraints5 = new GridBagConstraints();
gridBagConstraints5.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints5.gridwidth = 3;
gridBagConstraints5.gridx = 0;
gridBagConstraints5.gridy = 5;
gridBagConstraints5.ipadx = -85;
gridBagConstraints5.ipady = -268;
gridBagConstraints5.weightx = 1.0;
gridBagConstraints5.weighty = 1.0;
gridBagConstraints5.insets = new java.awt.Insets(2,6,7,21);
GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
gridBagConstraints4.insets = new java.awt.Insets(9,5,138,4);
gridBagConstraints4.gridy = 6;
gridBagConstraints4.ipadx = 3;
gridBagConstraints4.ipady = -3;
gridBagConstraints4.gridx = 1;
GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
gridBagConstraints3.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints3.gridwidth = 3;
gridBagConstraints3.gridx = 0;
gridBagConstraints3.gridy = 3;
gridBagConstraints3.ipadx = 363;
gridBagConstraints3.ipady = 9;
gridBagConstraints3.weightx = 1.0;
gridBagConstraints3.insets = new java.awt.Insets(1,4,7,23);
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
gridBagConstraints2.insets = new java.awt.Insets(2,3,0,50);
gridBagConstraints2.gridx = 0;
gridBagConstraints2.gridy = 2;
gridBagConstraints2.ipadx = 83;
gridBagConstraints2.ipady = 12;
gridBagConstraints2.gridwidth = 2;
GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints1.gridwidth = 3;
gridBagConstraints1.gridx = 0;
gridBagConstraints1.gridy = 1;
gridBagConstraints1.ipadx = 368;
gridBagConstraints1.ipady = 4;
gridBagConstraints1.weightx = 1.0;
gridBagConstraints1.insets = new java.awt.Insets(1,1,1,21);
GridBagConstraints gridBagConstraints = new GridBagConstraints();
gridBagConstraints.insets = new java.awt.Insets(0,2,0,51);
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.ipadx = 122;
gridBagConstraints.ipady = 16;
gridBagConstraints.gridwidth = 2;
LabelSucursales = new JLabel();
LabelSucursales.setFont(new java.awt.Font("Tahoma",
java.awt.Font.BOLD, 12));
LabelSucursales.setText("Sucursales");
LabelDenominacion = new JLabel();
LabelDenominacion.setText("Denominación del banco");
LabelClaveBanco = new JLabel();
LabelClaveBanco.setText("Clave del banco");
PanelDetalleBanco = new JPanel();
PanelDetalleBanco.setLayout(new GridBagLayout());

PanelDetalleBanco.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
"Detalle banco",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Dialog", java.awt.Font.BOLD, 12),
java.awt.Color.black));
PanelDetalleBanco.add(LabelClaveBanco, gridBagConstraints);
PanelDetalleBanco.add(getTextFieldClaveBanco(),
gridBagConstraints1);
PanelDetalleBanco.add(LabelDenominacion, gridBagConstraints2);
PanelDetalleBanco.add(getTextFieldDenominacionBanco(),
gridBagConstraints3);
PanelDetalleBanco.add(getBotonAgregarSucursal(),
gridBagConstraints4);
PanelDetalleBanco.add(getScrollPaneListadoSucursales(),
gridBagConstraints5);
PanelDetalleBanco.add(LabelSucursales, gridBagConstraints6);
PanelDetalleBanco.add(getBotonDetalleSucursal(),
gridBagConstraints7);
PanelDetalleBanco.add(getBotonBorrarSucursal(),
gridBagConstraints8);
}
return PanelDetalleBanco;
}

/**
* This method initializes ScrollPaneListadoBancos
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getScrollPaneListadoBancos() {
if (ScrollPaneListadoBancos == null) {
ScrollPaneListadoBancos = new JScrollPane();
ScrollPaneListadoBancos.setViewportView(getTableListadoBancos());
}
return ScrollPaneListadoBancos;
}

/**
* This method initializes TableListadoBancos
*
* @return javax.swing.JTable
*/
private JTable getTableListadoBancos() {
if (TableListadoBancos == null) {
TableListadoBancos = new JTable();
TableListadoBancos.setModel(new BancosTableModel());
TableListadoBancos.setLocation(new java.awt.Point(0,0));
TableListadoBancos.setSize(new java.awt.Dimension(250,80));
TableListadoBancos.setPreferredSize(new
java.awt.Dimension(100,80));
TableListadoBancos.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
bancoModificado=true;
BotonDetalleBanco.setEnabled(true);
BotonAceptarBanco.setEnabled(true);
BotonBorrarBanco.setEnabled(true);
}
});
}
return TableListadoBancos;
}

/**
* Función que nos mostrará el detalle del banco seleccionado
*
*/
private void mostrarDetalleBanco() {
Banco banco =
((BancosTableModel)TableListadoBancos.getModel()).getUno(TableListadoBancos.getSelectedRow());
TextFieldClaveBanco.setText(banco.getClave());
TextFieldDenominacionBanco.setText(banco.getDenominacion());

TableListadoSucursales.setModel(new
SucursalTableModel(banco.getIdBanco()));

}

/**
* Inicialización del BotonDetalleBanco
*
* @return javax.swing.JButton
*/
private JButton getBotonDetalleBanco() {
if (BotonDetalleBanco == null) {
BotonDetalleBanco = new JButton();
BotonDetalleBanco.setText("Detalles...");
BotonDetalleBanco.setEnabled(false);
BotonDetalleBanco.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
BotonAgregarSucursal.setEnabled(true);
TextFieldClaveBanco.setEnabled(true);
TextFieldDenominacionBanco.setEnabled(true);
mostrarDetalleBanco();
}
});
}
return BotonDetalleBanco;
}

/**
* Inicialización del BotonAceptarBanco
*
* @return javax.swing.JButton
*/
private JButton getBotonAceptarBanco() {
if (BotonAceptarBanco == null) {
BotonAceptarBanco = new JButton();
BotonAceptarBanco.setText("Aceptar");
BotonAceptarBanco.setEnabled(false);
BotonAceptarBanco.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {

guardarBanco();
bancoModificado=false;
}
});
}
return BotonAceptarBanco;
}

/**
* Función que guarda los detalles del banco modificado o del que
hemos insertado nuevo
*
*/
private void guardarBanco() {

//Modificando un banco que ya existe
if (bancoModificado) {
Banco banco=
((BancosTableModel)TableListadoBancos.getModel()).getUno(TableListadoBancos.getSelectedRow());
banco.setClave(TextFieldClaveBanco.getText());
banco.setDenominacion(TextFieldDenominacionBanco.getText());
if (new BancoBusinessHelper().modifcarBanco(banco)) {
BotonAceptarBanco.setEnabled(false);
BotonDetalleBanco.setEnabled(false);
BotonBorrarBanco.setEnabled(false);


}
}

//Insertar un nuevo banco
else {
Banco banco = new Banco();
banco.setClave(TextFieldClaveBanco.getText());
banco.setDenominacion(TextFieldDenominacionBanco.getText());
if (new BancoBusinessHelper().insertarBanco(banco)) {
BancosTableModel modelo
=(BancosTableModel)TableListadoBancos.getModel();
List<Banco> miModelo = modelo.getModelo();
miModelo.add(banco);
modelo.fireTableDataChanged();
BotonAceptarBanco.setEnabled(false);
}
}

((BancosTableModel)TableListadoBancos.getModel()).fireTableDataChanged();

}

/**
* This method initializes BotonCancelarBancos
*
* @return javax.swing.JButton
*/
private JButton getBotonCancelarBancos() {
if (BotonCancelarBancos == null) {
BotonCancelarBancos = new JButton();
BotonCancelarBancos.setText("Cancelar");
BotonCancelarBancos.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
BotonAceptarBanco.setEnabled(false);
BotonDetalleBanco.setEnabled(false);
BotonBorrarBanco.setEnabled(false);
}
});

}
return BotonCancelarBancos;
}

/**
* This method initializes MenuBancos
*
* @return javax.swing.JMenu
*/
private JMenu getMenuBancos() {
if (MenuBancos == null) {
MenuBancos = new JMenu();
MenuBancos.setText("Bancos");
MenuBancos.add(getMenuItemListadoBancos());
}
return MenuBancos;
}

/**
* This method initializes MenuItemListadoBancos
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getMenuItemListadoBancos() {
if (MenuItemListadoBancos == null) {
MenuItemListadoBancos = new JMenuItem();
MenuItemListadoBancos.setText("Listado de bancos");

MenuItemListadoBancos.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,Event.CTRL_MASK,
true));
MenuItemListadoBancos.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
TabbedPaneTodo.setSelectedIndex(3);
}
});

}
return MenuItemListadoBancos;
}

/**
* This method initializes TextFieldClaveBanco
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldClaveBanco() {
if (TextFieldClaveBanco == null) {
TextFieldClaveBanco = new JTextField();
TextFieldClaveBanco.setEnabled(false);
}
return TextFieldClaveBanco;
}

/**
* This method initializes TextFieldDenominacionBanco
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldDenominacionBanco() {
if (TextFieldDenominacionBanco == null) {
TextFieldDenominacionBanco = new JTextField();
TextFieldDenominacionBanco.setEnabled(false);
}
return TextFieldDenominacionBanco;
}

/**
* Inicialización del BotonAgregarSucursal
*
* @return javax.swing.JButton
*/
private JButton getBotonAgregarSucursal() {
if (BotonAgregarSucursal == null) {
BotonAgregarSucursal = new JButton();
BotonAgregarSucursal.setEnabled(false);
BotonAgregarSucursal.setText("Agregar sucursal");
BotonAgregarSucursal.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
Sucursales sucursales = new
Sucursales(((BancosTableModel)TableListadoBancos.getModel()).getUno(TableListadoBancos.getSelectedRow()).getIdBanco());

sucursales.show();

((SucursalTableModel)TableListadoSucursales.getModel()).fireTableDataChanged();
}
});
}
return BotonAgregarSucursal;
}

/**
* This method initializes ScrollPaneListadoSucursales
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getScrollPaneListadoSucursales() {
if (ScrollPaneListadoSucursales == null) {
ScrollPaneListadoSucursales = new JScrollPane();

ScrollPaneListadoSucursales.setViewportView(getTableListadoSucursales());
}
return ScrollPaneListadoSucursales;
}

/**
* This method initializes TableListadoSucursales
*
* @return javax.swing.JTable
*/
private JTable getTableListadoSucursales() {
if (TableListadoSucursales == null) {
TableListadoSucursales = new JTable();
TableListadoSucursales.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
BotonDetalleSucursal.setEnabled(true);
BotonBorrarSucursal.setEnabled(true);
}
});
}
return TableListadoSucursales;
}

/**
* Inicialización del BotonDetalleSucursal
*
* @return javax.swing.JButton
*/
private JButton getBotonDetalleSucursal() {
if (BotonDetalleSucursal == null) {
BotonDetalleSucursal = new JButton();
BotonDetalleSucursal.setEnabled(false);
BotonDetalleSucursal.setText("Detalle sucursal");
BotonDetalleSucursal.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {

Sucursales sucursales = new Sucursales
(((SucursalTableModel)TableListadoSucursales.getModel()).getUno(TableListadoSucursales.getSelectedRow()));
sucursales.show();

((SucursalTableModel)TableListadoSucursales.getModel()).fireTableDataChanged();
}
});
}
return BotonDetalleSucursal;
}

/**
* This method initializes BotonNuevoBanco
*
* @return javax.swing.JButton
*/
private JButton getBotonNuevoBanco() {
if (BotonNuevoBanco == null) {
BotonNuevoBanco = new JButton();
BotonNuevoBanco.setText("Nuevo");
BotonNuevoBanco.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
TextFieldClaveBanco.setEnabled(true);
TextFieldDenominacionBanco.setEnabled(true);
BotonAceptarBanco.setEnabled(true);
}
});
}
return BotonNuevoBanco;
}

/**
* Función para eliminar un banco que hemos seleccionado
* @param fila
*/
private void eliminarBanco (int fila) {
Banco banco =
((BancosTableModel)TableListadoBancos.getModel()).getUno(fila);
new BancoBusinessHelper().eliminarBanco(banco);
new
SucursalBusinessHelper().eliminarSucursalesBanco(banco.getIdBanco());
BancosTableModel modelo =
(BancosTableModel)TableListadoBancos.getModel();
List<Banco> miModelo=modelo.getModelo();
miModelo.remove(banco);
modelo.fireTableDataChanged();
}

/**
* This method initializes BotonBorrarBanco
*
* @return javax.swing.JButton
*/
private JButton getBotonBorrarBanco() {
if (BotonBorrarBanco == null) {
BotonBorrarBanco = new JButton();
BotonBorrarBanco.setText("Borrar");
BotonBorrarBanco.setEnabled(false);
BotonBorrarBanco.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//mostrar un dialogo para confirmar el borrado
int respuesta = JOptionPane.showConfirmDialog(null, "Está seguro
que desea eliminar el banco y todas sus sucursales?","Eliminar banco",
JOptionPane.YES_NO_OPTION);
if (respuesta==0) {
eliminarBanco(TableListadoBancos.getSelectedRow());
BotonDetalleBanco.setEnabled(false);
BotonBorrarBanco.setEnabled(false);
BotonAceptarBanco.setEnabled(false);
//TabbedPanelBancos.setSelectedIndex(0);
}
}
});
}
return BotonBorrarBanco;
}

/**
* Función para eliminar un alumno que hemos seleccionado
* @param fila
*/
private void eliminarAlumno (int fila) {
Alumno alumno =
((AlumnoTableModel)TableListadoAlumnos.getModel()).getUno(fila);
new AlumnoBusinessHelper().eliminarAlumno(alumno);
AlumnoTableModel modelo =
(AlumnoTableModel)TableListadoAlumnos.getModel();
List<Alumno> miModelo=modelo.getModelo();
miModelo.remove(alumno);
modelo.fireTableDataChanged();
}

/**
* Inicialización del BotonBorrarAlumno
*
* @return javax.swing.JButton
*/
private JButton getBotonBorrarAlumno() {
if (BotonBorrarAlumno == null) {
BotonBorrarAlumno = new JButton();
BotonBorrarAlumno.setEnabled(false);
BotonBorrarAlumno.setText("Borrar");
BotonBorrarAlumno.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//mostrar un dialogo para confirmar el borrado
int respuesta = JOptionPane.showConfirmDialog(null, "Está seguro
que desea eliminar el alumno?","Eliminar alumno",
JOptionPane.YES_NO_OPTION);
if (respuesta==0) {
eliminarAlumno(TableListadoAlumnos.getSelectedRow());
BotonBorrarAlumno.setEnabled(false);
BotonDetalleAlumno.setEnabled(false);
//TabbedPanelBancos.setSelectedIndex(0);
}
}
});
}
return BotonBorrarAlumno;
}

private boolean borrarSucursal(){

Sucursal suc=
((SucursalTableModel)TableListadoSucursales.getModel()).getUno(TableListadoSucursales.getSelectedRow());
boolean eliminado= new
SucursalBusinessHelper().eliminarSucursal(suc);
SucursalTableModel modelo =
(SucursalTableModel)TableListadoSucursales.getModel();
List<Sucursal> miModelo=modelo.getModelo();
miModelo.remove(suc);
modelo.fireTableDataChanged();
return eliminado;
}

/**
* Inicialización del BotonBorrarSucursal
*
* @return javax.swing.JButton
*/
private JButton getBotonBorrarSucursal() {
if (BotonBorrarSucursal == null) {
BotonBorrarSucursal = new JButton();
BotonBorrarSucursal.setText("Borrar Sucursal");
BotonBorrarSucursal.setEnabled(false);
BotonBorrarSucursal.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if (borrarSucursal()) {
System.out.print("\n Sucursal borrada");
}
else { System.out.print("\n Sucursal no borrada"); }
}
});
}
return BotonBorrarSucursal;
}

/**
* Inicialización del PanelCursos
*
* @return javax.swing.JPanel
*/
private JPanel getPanelCursos() {
if (PanelCursos == null) {
PanelCursos = new JPanel();
PanelCursos.setLayout(new BorderLayout());
PanelCursos.add(getPanelListadoCursos(),
java.awt.BorderLayout.CENTER);
PanelCursos.add(getPanelBotonesCursos(),
java.awt.BorderLayout.SOUTH);
}
return PanelCursos;
}

/**
* This method initializes PanelListadoCursos
*
* @return javax.swing.JPanel
*/
private JPanel getPanelListadoCursos() {
if (PanelListadoCursos == null) {
GridLayout gridLayout7 = new GridLayout();
gridLayout7.setRows(1);
PanelListadoCursos = new JPanel();
PanelListadoCursos.setLayout(gridLayout7);
PanelListadoCursos.add(getPanelListadoCurso(), null);
PanelListadoCursos.add(getPanelDetalleCurso(), null);
}
return PanelListadoCursos;
}

/**
* This method initializes PanelBotonesCursos
*
* @return javax.swing.JPanel
*/
private JPanel getPanelBotonesCursos() {
if (PanelBotonesCursos == null) {
PanelBotonesCursos = new JPanel();
PanelBotonesCursos.add(getBotonDetalleCurso(), null);
PanelBotonesCursos.add(getBotonBorrarCurso(), null);
PanelBotonesCursos.add(getBotonNuevoCurso(), null);
PanelBotonesCursos.add(getBotonAceptarCurso(), null);
PanelBotonesCursos.add(getBotonCancelarCurso(), null);
}
return PanelBotonesCursos;
}

/**
* This method initializes PanelListadoCurso
*
* @return javax.swing.JPanel
*/
private JPanel getPanelListadoCurso() {
if (PanelListadoCurso == null) {
PanelListadoCurso = new JPanel();
PanelListadoCurso.setLayout(new BorderLayout());

PanelListadoCurso.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
"Listado cursos",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Dialog", java.awt.Font.BOLD, 12),
java.awt.Color.black));
PanelListadoCurso.add(getScrollPaneListadoCursos(),
java.awt.BorderLayout.NORTH);
}
return PanelListadoCurso;
}

/**
* This method initializes PanelDetalleCurso
*
* @return javax.swing.JPanel
*/
private JPanel getPanelDetalleCurso() {
if (PanelDetalleCurso == null) {
LabelHorarios = new JLabel();
LabelHorarios.setBounds(new java.awt.Rectangle(23,221,74,19));
LabelHorarios.setFont(new java.awt.Font("Tahoma",
java.awt.Font.BOLD, 12));
LabelHorarios.setText(" Grupos");
LabelPrecioCurso = new JLabel();
LabelPrecioCurso.setBounds(new java.awt.Rectangle(21,177,102,26));
LabelPrecioCurso.setText(" Precio estándar");
LabelTributacionCurso = new JLabel();
LabelTributacionCurso.setText(" Tributación");
LabelTributacionCurso.setBounds(new
java.awt.Rectangle(18,137,118,27));
LabelIvaCurso = new JLabel();
LabelIvaCurso.setText(" I.V.A.");
LabelIvaCurso.setBounds(new java.awt.Rectangle(18,101,104,26));
LabelDenominacionCurso = new JLabel();
LabelDenominacionCurso.setText(" Denominación");
LabelDenominacionCurso.setBounds(new
java.awt.Rectangle(16,65,110,22));
LabelClaveCurso = new JLabel();
LabelClaveCurso.setText(" Clave");
LabelClaveCurso.setBounds(new java.awt.Rectangle(19,28,56,23));

PanelDetalleCurso = new JPanel();
PanelDetalleCurso.setLayout(null);

PanelDetalleCurso.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
"Detalle Curso",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Dialog", java.awt.Font.BOLD, 12),
java.awt.Color.black));
PanelDetalleCurso.add(LabelClaveCurso, null);
PanelDetalleCurso.add(getTextFieldClaveCurso(), null);
PanelDetalleCurso.add(LabelDenominacionCurso, null);
PanelDetalleCurso.add(getTextFieldDenominacionCurso(), null);
PanelDetalleCurso.add(LabelIvaCurso, null);
PanelDetalleCurso.add(getTextFieldIvaCurso(), null);
PanelDetalleCurso.add(LabelTributacionCurso, null);
PanelDetalleCurso.add(LabelPrecioCurso, null);
PanelDetalleCurso.add(getTextFieldPrecioCurso(), null);
PanelDetalleCurso.add(getRadioButtonTributacionModulos(), null);
PanelDetalleCurso.add(getRadioButtonTributacionDirecta(), null);
PanelDetalleCurso.add(LabelHorarios, null);
PanelDetalleCurso.add(getScrollPaneListadoGruposCurso(), null);
PanelDetalleCurso.add(getBotonDetalleGrupo(), null);
PanelDetalleCurso.add(getBotonAgregarGrupo(), null);
PanelDetalleCurso.add(getBotonBorrarGrupo(), null);
ButtonGroup grupoTributacion = new ButtonGroup();
grupoTributacion.add(RadioButtonTributacionModulos);
grupoTributacion.add(RadioButtonTributacionDirecta);
}
return PanelDetalleCurso;
}

/**
* This method initializes ScrollPaneListadoCursos
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getScrollPaneListadoCursos() {
if (ScrollPaneListadoCursos == null) {
ScrollPaneListadoCursos = new JScrollPane();
ScrollPaneListadoCursos.setViewportView(getTableListadoCursos());
}
return ScrollPaneListadoCursos;
}

private void mostrarDetalleCurso() {
camposCursoEditables();
Curso curso =
((CursosTableModel)TableListadoCursos.getModel()).getUno(TableListadoCursos.getSelectedRow());
TextFieldClaveCurso.setText(curso.getClave());
TextFieldDenominacionCurso.setText(curso.getDenominacion());
//OJO
TextFieldIvaCurso.setText(new Integer(curso.getIva()).toString());
switch (curso.getTributacion()) {
case 'M' : {
RadioButtonTributacionModulos.setSelected(true);
break;
}
case 'D' : {
RadioButtonTributacionDirecta.setSelected(true);
break;
}
}
//OJO
TextFieldPrecioCurso.setText(new
Long(curso.getPrecio_estandar()).toString());
TableListadoGruposCurso.setModel(new
GruposTableModel(curso.getIdCurso()));

}

/**
* Inicialización de TableListadoCursos
*
* @return javax.swing.JTable
*/
private JTable getTableListadoCursos() {
if (TableListadoCursos == null) {
TableListadoCursos = new JTable();
TableListadoCursos.setModel(new CursosTableModel());
TableListadoCursos.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
BotonDetalleCurso.setEnabled(true);
BotonBorrarCurso.setEnabled(true);
BotonAceptarCurso.setEnabled(true);
BotonCancelarCurso.setEnabled(true);
BotonAgregarGrupo.setEnabled(true);
cursoModificado=true;
mostrarDetalleCurso();
}
});
}

return TableListadoCursos;
}

/**
* This method initializes TextFieldClaveCurso
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldClaveCurso() {
if (TextFieldClaveCurso == null) {
TextFieldClaveCurso = new JTextField();
TextFieldClaveCurso.setBounds(new
java.awt.Rectangle(148,28,105,24));
TextFieldClaveCurso.setEnabled(false);
}
return TextFieldClaveCurso;
}

/**
* This method initializes TextFieldDenominacionCurso
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldDenominacionCurso() {
if (TextFieldDenominacionCurso == null) {
TextFieldDenominacionCurso = new JTextField();
TextFieldDenominacionCurso.setBounds(new
java.awt.Rectangle(148,65,244,24));
TextFieldDenominacionCurso.setEnabled(false);
}
return TextFieldDenominacionCurso;
}

/**
* This method initializes TextFieldIvaCurso
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldIvaCurso() {
if (TextFieldIvaCurso == null) {
TextFieldIvaCurso = new JTextField();
TextFieldIvaCurso.setBounds(new java.awt.Rectangle(150,100,76,26));
TextFieldIvaCurso.setEnabled(false);
}
return TextFieldIvaCurso;
}

/**
* This method initializes TextFieldPrecioCurso
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldPrecioCurso() {
if (TextFieldPrecioCurso == null) {
TextFieldPrecioCurso = new JTextField();
TextFieldPrecioCurso.setBounds(new
java.awt.Rectangle(149,178,93,27));
TextFieldPrecioCurso.setEnabled(false);
}
return TextFieldPrecioCurso;
}

/**
* This method initializes RadioButtonTributacionModulos
*
* @return javax.swing.JRadioButton
*/
private JRadioButton getRadioButtonTributacionModulos() {
if (RadioButtonTributacionModulos == null) {
RadioButtonTributacionModulos = new JRadioButton();
RadioButtonTributacionModulos.setBounds(new
java.awt.Rectangle(152,138,75,26));
RadioButtonTributacionModulos.setEnabled(false);
RadioButtonTributacionModulos.setSelected(true);
RadioButtonTributacionModulos.setText("Módulos");
}
return RadioButtonTributacionModulos;
}

/**
* This method initializes RadioButtonTributacionDirecta
*
* @return javax.swing.JRadioButton
*/
private JRadioButton getRadioButtonTributacionDirecta() {
if (RadioButtonTributacionDirecta == null) {
RadioButtonTributacionDirecta = new JRadioButton();
RadioButtonTributacionDirecta.setBounds(new
java.awt.Rectangle(243,141,84,21));
RadioButtonTributacionDirecta.setEnabled(false);
RadioButtonTributacionDirecta.setText("Directa");
}
return RadioButtonTributacionDirecta;
}

/**
* This method initializes BotonDetalleCurso
*
* @return javax.swing.JButton
*/
private JButton getBotonDetalleCurso() {
if (BotonDetalleCurso == null) {
BotonDetalleCurso = new JButton();
BotonDetalleCurso.setText("Detalles...");
BotonDetalleCurso.setEnabled(false);
}
return BotonDetalleCurso;
}

/**
* Función para eliminar un Curso que hemos seleccionado
* @param fila
*/
private void eliminarCurso (int fila) {
Curso curso =
((CursosTableModel)TableListadoCursos.getModel()).getUno(fila);
new CursoBusinessHelper().eliminarCurso(curso);
new GrupoBusinessHelper().eliminarGruposCurso(curso.getIdCurso());
CursosTableModel modelo =
(CursosTableModel)TableListadoCursos.getModel();
List<Curso> miModelo=modelo.getModelo();
miModelo.remove(curso);
modelo.fireTableDataChanged();
}

/**
* This method initializes BotonBorrarCuso
*
* @return javax.swing.JButton
*/
private JButton getBotonBorrarCurso() {
if (BotonBorrarCurso == null) {
BotonBorrarCurso = new JButton();
BotonBorrarCurso.setText("Borrar");
BotonBorrarCurso.setEnabled(false);
BotonBorrarCurso.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
int respuesta = JOptionPane.showConfirmDialog(null, "Está seguro
que desea eliminar el curso y todas sus horarios?","Eliminar curso",
JOptionPane.YES_NO_OPTION);
if (respuesta==0) {
eliminarCurso(TableListadoCursos.getSelectedRow());
//BotonDetalleCurso.setEnabled(false);
//BotonBorrarCurso.setEnabled(false);
//BotonAceptarBanco.setEnabled(false);
cancelarCurso();

}
}
});
}
return BotonBorrarCurso;
}

private void camposCursoEditables() {
TextFieldClaveCurso.setEnabled(true);
TextFieldDenominacionCurso.setEnabled(true);
TextFieldIvaCurso.setEnabled(true);
TextFieldPrecioCurso.setEnabled(true);
RadioButtonTributacionDirecta.setEnabled(true);
RadioButtonTributacionModulos.setEnabled(true);
TextFieldClaveCurso.setText("");
TextFieldDenominacionCurso.setText("");
TextFieldIvaCurso.setText("");
TextFieldPrecioCurso.setText("");
RadioButtonTributacionModulos.setSelected(true);
}

/**
* This method initializes BotonNuevoCurso
*
* @return javax.swing.JButton
*/
private JButton getBotonNuevoCurso() {
if (BotonNuevoCurso == null) {
BotonNuevoCurso = new JButton();
BotonNuevoCurso.setText("Nuevo");
BotonNuevoCurso.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
camposCursoEditables();
BotonAgregarGrupo.setEnabled(true);
cursoModificado=false;
BotonAceptarCurso.setEnabled(true);
BotonCancelarCurso.setEnabled(true);
}
});
}
return BotonNuevoCurso;
}

/**
* Metodo empleado tanto para modificar un curso como para
* insertar uno nuevo
*
*/
private void guardarCurso() {
//Modificando un curso que ya existe
if (cursoModificado) {
Curso curso=
((CursosTableModel)TableListadoCursos.getModel()).getUno(TableListadoCursos.getSelectedRow());
curso.setClave(TextFieldClaveCurso.getText());
curso.setDenominacion(TextFieldDenominacionCurso.getText());
curso.setIva(new Integer(TextFieldIvaCurso.getText()));
curso.setPrecio_estandar(new Long(TextFieldPrecioCurso.getText()));
if (RadioButtonTributacionDirecta.isSelected())
curso.setTributacion('D');
else
curso.setTributacion('M');
if (new CursoBusinessHelper().modifcarCurso(curso)) {
cancelarCurso();
}
}

//Insertar un nuevo curso
else {
Curso curso = new Curso();
curso.setClave(TextFieldClaveCurso.getText());
curso.setDenominacion(TextFieldDenominacionCurso.getText());
curso.setIva(new Integer(TextFieldIvaCurso.getText()));
curso.setPrecio_estandar(new Long(TextFieldPrecioCurso.getText()));
if (RadioButtonTributacionDirecta.isSelected())
curso.setTributacion('D');
else
curso.setTributacion('M');
if (new CursoBusinessHelper().insertarCurso(curso)) {
CursosTableModel modelo
=(CursosTableModel)TableListadoCursos.getModel();
List<Curso> miModelo = modelo.getModelo();
miModelo.add(curso);
modelo.fireTableDataChanged();
cancelarCurso();
}
}
//
((BancosTableModel)TableListadoBancos.getModel()).fireTableDataChanged();

}


/**
* This method initializes BotonAceptarCurso
*
* @return javax.swing.JButton
*/
private JButton getBotonAceptarCurso() {
if (BotonAceptarCurso == null) {
BotonAceptarCurso = new JButton();
BotonAceptarCurso.setText("Aceptar");
BotonAceptarCurso.setEnabled(false);
BotonAceptarCurso.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
guardarCurso();
cursoModificado=false;
}
});
}
return BotonAceptarCurso;
}

private void cancelarCurso() {
TextFieldClaveCurso.setText("");
TextFieldDenominacionCurso.setText("");
TextFieldIvaCurso.setText("");
TextFieldPrecioCurso.setText("");
RadioButtonTributacionModulos.setSelected(true);
RadioButtonTributacionModulos.setEnabled(false);
RadioButtonTributacionDirecta.setEnabled(false);
BotonDetalleCurso.setEnabled(false);
BotonBorrarCurso.setEnabled(false);
BotonAceptarCurso.setEnabled(false);
BotonCancelarCurso.setEnabled(false);
BotonAgregarGrupo.setEnabled(false);
BotonDetalleGrupo.setEnabled(false);
BotonBorrarGrupo.setEnabled(false);
((GruposTableModel)TableListadoGruposCurso.getModel()).limpiar();
TableListadoGruposCurso.repaint();
cursoModificado=false;
}

/**
* This method initializes BotonCancelarCurso
*
* @return javax.swing.JButton
*/
private JButton getBotonCancelarCurso() {
if (BotonCancelarCurso == null) {
BotonCancelarCurso = new JButton();
BotonCancelarCurso.setText("Cancelar");
BotonCancelarCurso.setEnabled(false);
BotonCancelarCurso.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
cancelarCurso();
}
});
}
return BotonCancelarCurso;
}

/**
* Inicialización del ScrollPaneListadoGruposCurso
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getScrollPaneListadoGruposCurso() {
if (ScrollPaneListadoGruposCurso == null) {
ScrollPaneListadoGruposCurso = new JScrollPane();
ScrollPaneListadoGruposCurso.setBounds(new
java.awt.Rectangle(19,253,383,122));

ScrollPaneListadoGruposCurso.setViewportView(getTableListadoGruposCurso());
}
return ScrollPaneListadoGruposCurso;
}

/**
* Inicialización del TableListadoGruposCurso
*
* @return javax.swing.JTable
*/
private JTable getTableListadoGruposCurso() {
if (TableListadoGruposCurso == null) {
TableListadoGruposCurso = new JTable();
TableListadoGruposCurso.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
BotonBorrarGrupo.setEnabled(true);
BotonDetalleGrupo.setEnabled(true);
}
});
}
return TableListadoGruposCurso;
}

/**
* Inicialización del MenuCrusos
*
* @return javax.swing.JMenu
*/
private JMenu getMenuCursos() {
if (MenuCursos == null) {
MenuCursos = new JMenu();
MenuCursos.setText("Cursos");
MenuCursos.add(getMenuItemListadoCursos());
}
return MenuCursos;
}

/**
* This method initializes MenuItemListadoCursos
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getMenuItemListadoCursos() {
if (MenuItemListadoCursos == null) {
MenuItemListadoCursos = new JMenuItem();
MenuItemListadoCursos.setText("Listado cursos");

MenuItemListadoCursos.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK,
true));
MenuItemListadoCursos.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
TabbedPaneTodo.setSelectedIndex(2);
}
});
}
return MenuItemListadoCursos;
}

/**
* mostraremos el detalle de un grupo seleccionado
*
*/
private void mostrarDetalleGrupo() {
Grupo grupo =
((GruposTableModel)TableListadoGruposCurso.getModel()).getUno(TableListadoGruposCurso.getSelectedRow());

ComboBoxListadoCursos.setSelectedItem(TextFieldDenominacionCurso.getText());
ComboBoxListadoCursos.setEnabled(false);
TextFieldNombreGrupo.setText(grupo.getNombreGrupo());
TextFieldNombreGrupo.setEnabled(false);
TextFieldNombreProfesor.setEnabled(false);
TextFieldNombreProfesor.setText(grupo.getNombreProfesor());
}

/**
* Inicialización del BotonDetalleGrupo
*
* @return javax.swing.JButton
*/
private JButton getBotonDetalleGrupo() {
if (BotonDetalleGrupo == null) {
BotonDetalleGrupo = new JButton();
BotonDetalleGrupo.setBounds(new java.awt.Rectangle(28,387,107,21));
BotonDetalleGrupo.setEnabled(false);
BotonDetalleGrupo.setText("Detalle grupo");
BotonDetalleGrupo.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
mostrarDetalleGrupo();
grupoModificado=true;
TabbedPaneTodo.setSelectedIndex(3);
}
});
}
return BotonDetalleGrupo;
}

/**
* Inicialización del BotonAgregarGrupo
*
* @return javax.swing.JButton
*/
private JButton getBotonAgregarGrupo() {
if (BotonAgregarGrupo == null) {
BotonAgregarGrupo = new JButton();
BotonAgregarGrupo.setBounds(new
java.awt.Rectangle(151,387,107,20));
BotonAgregarGrupo.setEnabled(false);
BotonAgregarGrupo.setText("Agregar grupo");
BotonAgregarGrupo.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//Mostramos una ventana para que introduzca los datos del nuevo
grupo
Grupos grupos = new
Grupos((((CursosTableModel)TableListadoCursos.getModel()).getUno(TableListadoCursos.getSelectedRow()).getIdCurso()));
grupos.setVisible(true);
}
});
}
return BotonAgregarGrupo;
}

/**
* Metrodo que nos permite eliminar un grupo que ha sido seleccionado
por el usuario
* @return
*/
private boolean eliminarGrupo(){

Grupo grupo=
((GruposTableModel)TableListadoGruposCurso.getModel()).getUno(TableListadoGruposCurso.getSelectedRow());
boolean eliminado= new GrupoBusinessHelper().eliminarGrupo(grupo);
GruposTableModel modelo =
(GruposTableModel)TableListadoGruposCurso.getModel();
List<Grupo> miModelo=modelo.getModelo();
miModelo.remove(grupo);
modelo.fireTableDataChanged();
return eliminado;
}

/**
* Inicialización del BotonBorrarGrupo
*
* @return javax.swing.JButton
*/
private JButton getBotonBorrarGrupo() {
if (BotonBorrarGrupo == null) {
BotonBorrarGrupo = new JButton();
BotonBorrarGrupo.setText("Borrar grupo");
BotonBorrarGrupo.setSize(new java.awt.Dimension(95,20));
BotonBorrarGrupo.setEnabled(false);
BotonBorrarGrupo.setLocation(new java.awt.Point(279,388));
BotonBorrarGrupo.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//mostrar un dialogo para confirmar el borrado
int respuesta = JOptionPane.showConfirmDialog(null, "Está seguro
que desea eliminar el grupo?","Eliminar Grupo",
JOptionPane.YES_NO_OPTION);
if (respuesta==0) {
eliminarGrupo();
BotonBorrarGrupo.setEnabled(false);
BotonDetalleGrupo.setEnabled(false);
}
}
});
}
return BotonBorrarGrupo;
}

/**
* This method initializes PanelEstado
*
* @return javax.swing.JPanel
*/
private JPanel getPanelEstado() {
if (PanelEstado == null) {
FlowLayout flowLayout = new FlowLayout();
flowLayout.setAlignment(java.awt.FlowLayout.LEFT);
PanelEstado = new JPanel();
PanelEstado.setLayout(flowLayout);
PanelEstado.setBounds(new java.awt.Rectangle(0,0,408,37));
PanelEstado.add(getCheckBoxEstadoAlumno(), null);
}
return PanelEstado;
}

/**
* This method initializes CheckBoxEstadoAlumno
*
* @return javax.swing.JCheckBox
*/
private JCheckBox getCheckBoxEstadoAlumno() {
if (CheckBoxEstadoAlumno == null) {
CheckBoxEstadoAlumno = new JCheckBox();
CheckBoxEstadoAlumno.setText(" Alumno activo");
CheckBoxEstadoAlumno.setEnabled(false);
}
return CheckBoxEstadoAlumno;
}

/**
* This method initializes PanelGrupo
*
* @return javax.swing.JPanel
*/
private JPanel getPanelGrupo() {
if (PanelGrupo == null) {
PanelGrupo = new JPanel();
PanelGrupo.setLayout(new BorderLayout());
PanelGrupo.add(getPanelDetalleGrupo(),
java.awt.BorderLayout.CENTER);
PanelGrupo.add(getPanelBotonesGrupo(),
java.awt.BorderLayout.SOUTH);
}
return PanelGrupo;
}

/**
* This method initializes PanelDetalleGrupo
*
* @return javax.swing.JPanel
*/
private JPanel getPanelDetalleGrupo() {
if (PanelDetalleGrupo == null) {
LabelNombreProfesor = new JLabel();
LabelNombreProfesor.setText(" Nombre del profesor");
LabelNombreProfesor.setSize(new java.awt.Dimension(111,19));
LabelNombreProfesor.setLocation(new java.awt.Point(27,105));
LabelNombreGrupo = new JLabel();
LabelNombreGrupo.setText(" Nombre del grupo");
LabelNombreGrupo.setSize(new java.awt.Dimension(106,19));
LabelNombreGrupo.setLocation(new java.awt.Point(27,66));
LabelCurso = new JLabel();
LabelCurso.setText(" Curso");
LabelCurso.setBounds(new java.awt.Rectangle(29,27,108,19));
PanelDetalleGrupo = new JPanel();
PanelDetalleGrupo.setLayout(null);
PanelDetalleGrupo.add(LabelCurso, null);
PanelDetalleGrupo.add(getComboBoxListadoCursos(), null);
PanelDetalleGrupo.add(LabelNombreGrupo, null);
PanelDetalleGrupo.add(getTextFieldNombreGrupo(), null);
PanelDetalleGrupo.add(LabelNombreProfesor, null);
PanelDetalleGrupo.add(getTextFieldNombreProfesor(), null);
PanelDetalleGrupo.add(getPanelListadosGrupo(), null);
}
return PanelDetalleGrupo;
}

/**
* This method initializes PanelBotonesGrupo
*
* @return javax.swing.JPanel
*/
private JPanel getPanelBotonesGrupo() {
if (PanelBotonesGrupo == null) {
PanelBotonesGrupo = new JPanel();
PanelBotonesGrupo.add(getBotonNuevoGrupo(), null);
PanelBotonesGrupo.add(getBotonEditarGrupo(), null);
PanelBotonesGrupo.add(getBotonAceptarGrupo(), null);
}
return PanelBotonesGrupo;
}

/**
* Metodo para rellenar el combo que mostrara los cursos existentes
*
*/
private DefaultComboBoxModel rellenarComboCursos(){
List<Curso> cursos=
((CursosTableModel)TableListadoCursos.getModel()).getModelo();
Iterator iter = cursos.iterator();
DefaultComboBoxModel modelo = new DefaultComboBoxModel();
modelo.addElement("");
while (iter.hasNext()) {
modelo.addElement(((Curso)iter.next()).getDenominacion());
}
return modelo;
}

private void camposGrupoEditables() {
TextFieldNombreGrupo.setEnabled(true);
TextFieldNombreProfesor.setEnabled(true);
if (!grupoModificado) {
ComboBoxListadoCursos.setEnabled(true);
}
}
/**
* Inicialización del ComboBoxListadoCursos
*
* @return javax.swing.JComboBox
*/
private JComboBox getComboBoxListadoCursos() {
if (ComboBoxListadoCursos == null) {
ComboBoxListadoCursos = new JComboBox(rellenarComboCursos());
ComboBoxListadoCursos.setBounds(new
java.awt.Rectangle(158,25,350,22));
ComboBoxListadoCursos.setEnabled(false);
//ComboBoxListadoCursos.setSelectedIndex(0);
}
return ComboBoxListadoCursos;
}

/**
* This method initializes TextFieldNombreGrupo
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldNombreGrupo() {
if (TextFieldNombreGrupo == null) {
TextFieldNombreGrupo = new JTextField();
TextFieldNombreGrupo.setBounds(new
java.awt.Rectangle(159,65,268,20));
TextFieldNombreGrupo.setEnabled(false);
}
return TextFieldNombreGrupo;
}

/**
* This method initializes TextFieldNombreProfesor
*
* @return javax.swing.JTextField
*/
private JTextField getTextFieldNombreProfesor() {
if (TextFieldNombreProfesor == null) {
TextFieldNombreProfesor = new JTextField();
TextFieldNombreProfesor.setBounds(new
java.awt.Rectangle(159,103,275,20));
TextFieldNombreProfesor.setEnabled(false);
}
return TextFieldNombreProfesor;
}

/**
* This method initializes PanelListadosGrupo
*
* @return javax.swing.JPanel
*/
private JPanel getPanelListadosGrupo() {
if (PanelListadosGrupo == null) {
GridLayout gridLayout8 = new GridLayout();
gridLayout8.setRows(1);
PanelListadosGrupo = new JPanel();
PanelListadosGrupo.setLayout(gridLayout8);
PanelListadosGrupo.setBounds(new
java.awt.Rectangle(16,148,781,363));
PanelListadosGrupo.add(getPanelAlumnosGrupo(), null);
PanelListadosGrupo.add(getPanelHorariosGrupo(), null);
}
return PanelListadosGrupo;
}

/**
* This method initializes PanelAlumnosGrupo
*
* @return javax.swing.JPanel
*/
private JPanel getPanelAlumnosGrupo() {
if (PanelAlumnosGrupo == null) {
PanelAlumnosGrupo = new JPanel();
PanelAlumnosGrupo.setLayout(new BorderLayout());

PanelAlumnosGrupo.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
"Alumnos del grupo",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Dialog", java.awt.Font.BOLD, 12),
java.awt.Color.black));
PanelAlumnosGrupo.add(getScrollPaneAlumnosGrupo(),
java.awt.BorderLayout.CENTER);
PanelAlumnosGrupo.add(getPanelBotonesAlumnosGrupo(),
java.awt.BorderLayout.SOUTH);
}
return PanelAlumnosGrupo;
}

/**
* This method initializes PanelHorariosGrupo
*
* @return javax.swing.JPanel
*/
private JPanel getPanelHorariosGrupo() {
if (PanelHorariosGrupo == null) {
PanelHorariosGrupo = new JPanel();
PanelHorariosGrupo.setLayout(new BorderLayout());

PanelHorariosGrupo.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
"Horarios del grupo",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Dialog", java.awt.Font.BOLD, 12),
java.awt.Color.black));
PanelHorariosGrupo.add(getScrollPaneHorariosGrupo(),
java.awt.BorderLayout.CENTER);
PanelHorariosGrupo.add(getPanelBotonesHorarios(),
java.awt.BorderLayout.SOUTH);
}
return PanelHorariosGrupo;
}

/**
* This method initializes ScrollPaneAlumnosGrupo
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getScrollPaneAlumnosGrupo() {
if (ScrollPaneAlumnosGrupo == null) {
ScrollPaneAlumnosGrupo = new JScrollPane();
ScrollPaneAlumnosGrupo.setViewportView(getTableAlumnosGrupo());
}
return ScrollPaneAlumnosGrupo;
}

/**
* This method initializes TableAlumnosGrupo
*
* @return javax.swing.JTable
*/
private JTable getTableAlumnosGrupo() {
if (TableAlumnosGrupo == null) {
TableAlumnosGrupo = new JTable();
}
return TableAlumnosGrupo;
}

/**
* This method initializes PanelBotonesAlumnosGrupo
*
* @return javax.swing.JPanel
*/
private JPanel getPanelBotonesAlumnosGrupo() {
if (PanelBotonesAlumnosGrupo == null) {
PanelBotonesAlumnosGrupo = new JPanel();
PanelBotonesAlumnosGrupo.add(getBotonAgregarAlumnoGrupo(), null);
PanelBotonesAlumnosGrupo.add(getBotonEliminarAlumnoGrupo(), null);
}
return PanelBotonesAlumnosGrupo;
}

/**
* This method initializes BotonAgregarAlumnoGrupo
*
* @return javax.swing.JButton
*/
private JButton getBotonAgregarAlumnoGrupo() {
if (BotonAgregarAlumnoGrupo == null) {
BotonAgregarAlumnoGrupo = new JButton();
BotonAgregarAlumnoGrupo.setText("Agregar alumno");
}
return BotonAgregarAlumnoGrupo;
}

/**
* This method initializes BotonEliminarAlumnoGrupo
*
* @return javax.swing.JButton
*/
private JButton getBotonEliminarAlumnoGrupo() {
if (BotonEliminarAlumnoGrupo == null) {
BotonEliminarAlumnoGrupo = new JButton();
BotonEliminarAlumnoGrupo.setText("Quitar alumno del grupo");
BotonEliminarAlumnoGrupo.setEnabled(false);
}
return BotonEliminarAlumnoGrupo;
}

private void iniciarCamposGrupo() {

TextFieldNombreGrupo.setText("");
TextFieldNombreProfesor.setText("");
TextFieldNombreGrupo.setEnabled(true);
TextFieldNombreProfesor.setEnabled(true);
BotonEliminarHorarioGrupo.setEnabled(false);
BotonEliminarAlumnoGrupo.setEnabled(false);
//Si no se ha seleccionado ningun curso previamente
if (TableListadoCursos.getSelectedRow()==-1) {
ComboBoxListadoCursos.setSelectedIndex(0);
ComboBoxListadoCursos.setEnabled(true);
}
else {
ComboBoxListadoCursos.setEnabled(false);

ComboBoxListadoCursos.setSelectedItem(TextFieldDenominacionCurso.getText());
}
}

/**
* Inicialización del BotonNuevoGrupo
*
* @return javax.swing.JButton
*/
private JButton getBotonNuevoGrupo() {
if (BotonNuevoGrupo == null) {
BotonNuevoGrupo = new JButton();
BotonNuevoGrupo.setText("Nuevo");
BotonNuevoGrupo.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
grupoModificado=false;
iniciarCamposGrupo();
}
});
}
return BotonNuevoGrupo;
}

/**
* This method initializes ScrollPaneHorariosGrupo
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getScrollPaneHorariosGrupo() {
if (ScrollPaneHorariosGrupo == null) {
ScrollPaneHorariosGrupo = new JScrollPane();
ScrollPaneHorariosGrupo.setViewportView(getTableHorariosGrupo());
}
return ScrollPaneHorariosGrupo;
}

/**
* This method initializes TableHorariosGrupo
*
* @return javax.swing.JTable
*/
private JTable getTableHorariosGrupo() {
if (TableHorariosGrupo == null) {
TableHorariosGrupo = new JTable();
}
return TableHorariosGrupo;
}

/**
* This method initializes PanelBotonesHorarios
*
* @return javax.swing.JPanel
*/
private JPanel getPanelBotonesHorarios() {
if (PanelBotonesHorarios == null) {
PanelBotonesHorarios = new JPanel();
PanelBotonesHorarios.add(getBotonAgregarHorarioGrupo(), null);
PanelBotonesHorarios.add(getBotonEliminarHorarioGrupo(), null);
}
return PanelBotonesHorarios;
}

/**
* This method initializes BotonAgregarHorario
*
* @return javax.swing.JButton
*/
private JButton getBotonAgregarHorarioGrupo() {
if (BotonAgregarHorarioGrupo == null) {
BotonAgregarHorarioGrupo = new JButton();
BotonAgregarHorarioGrupo.setText("Agregar horario");
}
return BotonAgregarHorarioGrupo;
}

/**
* This method initializes BotonQuitarHorarioGrupo
*
* @return javax.swing.JButton
*/
private JButton getBotonEliminarHorarioGrupo() {
if (BotonEliminarHorarioGrupo == null) {
BotonEliminarHorarioGrupo = new JButton();
BotonEliminarHorarioGrupo.setText("Quitar horario del grupo");
BotonEliminarHorarioGrupo.setEnabled(false);
}
return BotonEliminarHorarioGrupo;
}

/**
* This method initializes BotonEditarGrupo
*
* @return javax.swing.JButton
*/
private JButton getBotonEditarGrupo() {
if (BotonEditarGrupo == null) {
BotonEditarGrupo = new JButton();
BotonEditarGrupo.setText("Editar");
BotonEditarGrupo.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
camposGrupoEditables();
grupoModificado=true;
}
});
}
return BotonEditarGrupo;
}

private void guardarGrupo() {
Grupo grupo = new Grupo();
GrupoBusinessHelper grupoBusiness = new GrupoBusinessHelper();

grupo.setNombreGrupo(TextFieldNombreGrupo.getText());
grupo.setNombreProfesor(TextFieldNombreProfesor.getText());
//
//Modificación del grupo
if (grupoModificado) {

grupo.setIdCurso(((CursosTableModel)TableListadoCursos.getModel()).getUno(TableListadoCursos.getSelectedRow()).getIdCurso());

grupo.setIdGrupo(((GruposTableModel)TableListadoGruposCurso.getModel()).getUno(TableListadoGruposCurso.getSelectedRow()).getIdGrupo());
if (grupoBusiness.modificarGrupo(grupo)) grupoModificado=false;
}
//Insertar un grupo nuevo
else {
grupo.setIdCurso(new
CursoBusinessHelper().detalleCursoPorNombre((String)ComboBoxListadoCursos.getSelectedItem()).getIdCurso());
if (grupoBusiness.insertarGrupo(grupo)) {
if (TableListadoCursos.getSelectedRow()!=-1) {
//Obtener el idCurso cuando no seta seleccionado preciamente en
la pestaña de cursos
GruposTableModel modelo
=(GruposTableModel)TableListadoGruposCurso.getModel();
List<Grupo> miModelo = modelo.getModelo();
miModelo.add(grupo);
modelo.fireTableDataChanged();
}
}
}
}

/**
* Inicialización del BotonAceptarGrupo
*
* @return javax.swing.JButton
*/
private JButton getBotonAceptarGrupo() {
if (BotonAceptarGrupo == null) {
BotonAceptarGrupo = new JButton();
BotonAceptarGrupo.setText("Aceptar");
BotonAceptarGrupo.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
guardarGrupo();
TabbedPaneTodo.setSelectedIndex(2);
}
});
}
return BotonAceptarGrupo;
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PantallaPrincipal application = new PantallaPrincipal();
application.show();
}

/**
* This is the default constructor
*/
public PantallaPrincipal() {
super();
try {

UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
initialize();

}

/**
* Inicialización del this
*
* @return void
*/
private void initialize() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setMinimumSize(new java.awt.Dimension(800,600));
this.setLocation(new java.awt.Point(200,200));
this.setPreferredSize(new java.awt.Dimension(800,600));
this.setJMenuBar(getJJMenuBar());
this.setSize(830, 632);
this.setContentPane(getJContentPane());
this.setTitle("Academia Campa");

}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getTabbedPaneTodo(), java.awt.BorderLayout.NORTH);
}
return jContentPane;
}

/**
* This method initializes jJMenuBar
*
* @return javax.swing.JMenuBar
*/
private JMenuBar getJJMenuBar() {
if (jJMenuBar == null) {
jJMenuBar = new JMenuBar();
jJMenuBar.add(getMenuAlumnos());
jJMenuBar.add(getMenuCursos());
jJMenuBar.add(getMenuBancos());
jJMenuBar.add(getMenuAyuda());
}
return jJMenuBar;
}

/**
* This method initializes jMenu
*
* @return javax.swing.JMenu
*/
private JMenu getMenuAlumnos() {
if (MenuAlumnos == null) {
MenuAlumnos = new JMenu();
MenuAlumnos.setText("Alumnos");
MenuAlumnos.add(getMenuItemListadoAlumnos());
MenuAlumnos.add(getMenuItemSalir());
}
return MenuAlumnos;
}

/**
* This method initializes jMenu
*
* @return javax.swing.JMenu
*/
private JMenu getMenuAyuda() {
if (MenuAyuda == null) {
MenuAyuda = new JMenu();
MenuAyuda.setText("Ayuda");
MenuAyuda.add(getMenuItemAcercaDe());
}
return MenuAyuda;
}

/**
* This method initializes jMenuItem
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getMenuItemSalir() {
if (MenuItemSalir == null) {
MenuItemSalir = new JMenuItem();
MenuItemSalir.setText("Salir de la aplicación");
MenuItemSalir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
return MenuItemSalir;
}

/**
* This method initializes jMenuItem
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getMenuItemAcercaDe() {
if (MenuItemAcercaDe == null) {
MenuItemAcercaDe = new JMenuItem();
MenuItemAcercaDe.setText("Acerca de");
MenuItemAcercaDe.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new JDialog(PantallaPrincipal.this, "acerca de", true).show();
}
});
}
return MenuItemAcercaDe;
}

/**
* This method initializes jMenuItem
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getMenuItemListadoAlumnos() {
if (MenuItemListadoAlumnos == null) {
MenuItemListadoAlumnos = new JMenuItem();
MenuItemListadoAlumnos.setText("Listado");

MenuItemListadoAlumnos.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,
Event.CTRL_MASK, true));
MenuItemListadoAlumnos.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
TabbedPaneTodo.setSelectedIndex(0);
}
});
}
return MenuItemListadoAlumnos;
}

} // @jve:decl-index=0:visual-constraint="10,10"

Es un poco lioso asi la verdad; pero es que no se si se pueden
agregar ficheros si se puedieran agregar decirme como por favor

David Castañeda

unread,
Jul 8, 2008, 2:52:57 PM7/8/08
to jav...@googlegroups.com
bueno los errores que veo pero seguro se me pasan cosas....

1. en el table model no deberias sobreescribir el metodo


    public void tableChanged(TableModelEvent arg0) {
        //this.fireTableDataChanged();
        System.out.print("\n Entra en el metodo change de la tabla de todos los alumnos");
       
    }

2. el problema principal que tienes es porque cuando agregas un alumno con el llamado.
            new AlumnoBusinessHelper().insertar
Alumno(alumno);
no estas diciendole que vuelva a cargar todos los datos como lo haces cuando creas el modelo
        alumnos=new AlumnoBusinessHelper().listarTodos();

 entonces la lista de alumnos que cargaste la primera vez nunca se vuelve a actualizar, lo que deberias tener es un metodo para decirle a la tabla que tiene que actulizarse para que vuelva a pedir los datos y los muestre correctamente.

algo como ...


public class AlumnoTableModel extends AbstractTableModel implements TableModelListener{

.......

public void actulizarListadoDeEstudiantes(){
//cargar datos
     alumnos=new AlumnoBusinessHelper().listarTodos();
//avisarle a todos los interesados (el jtable component es uno de esos)
        super.fireTableDataChanged();
}


y este metodo lo llamas luego de que agregues o actulices datos, aunque no es la mejor forma por ahi puedes empezar e ir mejorando,


--
David Castañeda R.

Teli

unread,
Jul 15, 2008, 2:26:57 AM7/15/08
to JavaSOS
Cierto con esta solución que me has dado he conseguido que funcione.
A pesar de que en otro apartado de mi aplicación me funciona utilizano
la función de la tabla TableListadoCursos.revalidate();
TableListadoCursos.repaint();
No se si es correcto el uso de estas funciones o no pero gracias a
ellas me funciona.

Otra cuestión porque dices que no debería de sobreescribir el método
TableChanged? Si cuando pones que implementa el listener te pone ese
método automáticamente

David Castañeda

unread,
Jul 16, 2008, 2:33:39 PM7/16/08
to jav...@googlegroups.com
deberias tratar de no usarlas.

2008/7/15 Teli <esther...@hotmail.com>:



--
David Castañeda R.
Reply all
Reply to author
Forward
0 new messages