This commit is contained in:
2025-10-13 14:50:38 +02:00
parent 22cbf97615
commit 58d98616c7

View File

@@ -4,11 +4,100 @@
*/ */
package controlador; package controlador;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import javax.swing.table.DefaultTableModel;
import modelo.Modelo;
import vista.Vista;
/** /**
* *
* @author antonio * @author antonio
*/ */
public class Controlador public abstract class Controlador implements ActionListener, WindowListener
{ {
private final Modelo modelo;
private final Vista vista;
public Controlador(Modelo _modelo, Vista _vista)
{
this.modelo = _modelo;
this.vista = _vista;
this.vista.addWindowListener(this);
}
public void actionPerformed(ActionEvent e)
{
System.out.println("action!");
}
public void windowOpened(WindowEvent e)
{
ResultSet rs=null;
DefaultTableModel modeloTabla = new DefaultTableModel();
try
{
rs = modelo.getTasks();
ResultSetMetaData metaData = rs.getMetaData();
int numColumnas = metaData.getColumnCount();
String[] nombresColumnas = new String[numColumnas];
for (int i = 0; i < numColumnas; i++)
{
nombresColumnas[i] = metaData.getColumnLabel(i + 1);
}
modeloTabla.setColumnIdentifiers(nombresColumnas);
while (rs.next())
{
Object[] fila = new Object[numColumnas];
for (int i = 0; i < numColumnas; i++)
{
fila[i] = rs.getObject(i + 1);
}
modeloTabla.addRow(fila);
}
}
catch (SQLException ex)
{
System.err.println("Error al obtener tareas: " + ex.getMessage());
}
vista.jTable1.setModel(modeloTabla);
}
public void iniciar()
{
if (modelo.checkConnection())
{
modelo.printConnectionStatus();
vista.setTitle("TO-DO APP");
vista.setVisible(true);
vista.setLocationRelativeTo(null);
vista.requestFocus();
}
else
{
System.out.println("No se pudo establecer conexión con la BD.");
}
}
@Override public void windowClosed(WindowEvent e) { System.out.println("Ventana cerrada"); }
@Override public void windowIconified(WindowEvent e) { System.out.println("Minimizada"); }
@Override public void windowDeiconified(WindowEvent e) { System.out.println("Restaurada"); }
@Override public void windowActivated(WindowEvent e) { System.out.println("Activada"); }
@Override public void windowDeactivated(WindowEvent e) { System.out.println("Desactivada"); }
} }