From 58d98616c727d17e3536137ea2a70aa64e601d7b Mon Sep 17 00:00:00 2001 From: Antonio Date: Mon, 13 Oct 2025 14:50:38 +0200 Subject: [PATCH] --- .../main/java/controlador/Controlador.java | 93 ++++++++++++++++++- 1 file changed, 91 insertions(+), 2 deletions(-) diff --git a/programasqlite/src/main/java/controlador/Controlador.java b/programasqlite/src/main/java/controlador/Controlador.java index bcd1ef9..8a6549d 100644 --- a/programasqlite/src/main/java/controlador/Controlador.java +++ b/programasqlite/src/main/java/controlador/Controlador.java @@ -4,11 +4,100 @@ */ 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 */ -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"); } + + + }