diff --git a/doc/Configuracion.html b/doc/Configuracion.html index d03fed8..4bd4c92 100644 --- a/doc/Configuracion.html +++ b/doc/Configuracion.html @@ -2,9 +2,9 @@ - + Configuracion - + @@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab"; diff --git a/doc/package-summary.html b/doc/package-summary.html index 088e0f0..f1b959d 100644 --- a/doc/package-summary.html +++ b/doc/package-summary.html @@ -2,8 +2,8 @@ - - + + @@ -75,7 +75,15 @@   -Controlador +ControladorAniaidr +  + + +ControladorModificar +  + + +Main   @@ -83,7 +91,11 @@   -Vista +VistaAniadir +  + + +VistaModificar   diff --git a/doc/package-tree.html b/doc/package-tree.html index ed005f9..eb9938a 100644 --- a/doc/package-tree.html +++ b/doc/package-tree.html @@ -2,9 +2,9 @@ - + Class Hierarchy - + @@ -84,7 +84,8 @@ @@ -94,7 +95,9 @@
  • Configuracion
  • -
  • Controlador (implements java.awt.event.ActionListener)
  • +
  • ControladorAniaidr (implements java.awt.event.ActionListener)
  • +
  • ControladorModificar (implements javax.swing.event.TableModelListener)
  • +
  • Main
  • Modelo
  • diff --git a/doc/package-use.html b/doc/package-use.html index 99a493a..0049314 100644 --- a/doc/package-use.html +++ b/doc/package-use.html @@ -2,9 +2,9 @@ - + Uses of Package - + diff --git a/doc/serialized-form.html b/doc/serialized-form.html index a66050f..5032a95 100644 --- a/doc/serialized-form.html +++ b/doc/serialized-form.html @@ -2,9 +2,9 @@ - + Serialized Form - + @@ -76,15 +76,19 @@
  • Package <Unnamed>

    diff --git a/src/Controlador.java b/src/ControladorAniaidr.java similarity index 85% rename from src/Controlador.java rename to src/ControladorAniaidr.java index 2b5502c..a129466 100644 --- a/src/Controlador.java +++ b/src/ControladorAniaidr.java @@ -7,8 +7,8 @@ import java.util.Vector; import javax.swing.JFrame; import javax.swing.JList; -public class Controlador implements ActionListener{ - Vista vista; +public class ControladorAniaidr implements ActionListener{ + VistaAniadir vista; Modelo modelo; /** @@ -17,7 +17,7 @@ public class Controlador implements ActionListener{ * @param vista Vista a controlar * @param modelo Modelo en el que trabajamos */ - public Controlador(Vista vista, Modelo modelo) { + public ControladorAniaidr(VistaAniadir vista, Modelo modelo) { this.vista = vista; this.modelo = modelo; this.anaidirListeners(); @@ -29,8 +29,6 @@ public class Controlador implements ActionListener{ private void anaidirListeners() { this.vista.aniadir.addActionListener(this); this.vista.aniadir.setActionCommand("aniadir"); - this.vista.editar.addActionListener(this); - this.vista.editar.setActionCommand("editar"); this.vista.mostrarTodo.addActionListener(this); this.vista.mostrarTodo.setActionCommand("mostrar"); this.vista.eliminar.addActionListener(this); @@ -50,13 +48,6 @@ public class Controlador implements ActionListener{ this.vista.insertarFecha.getText()); break; } - case "editar":{ - this.modelo.modificarTransaccion(Integer.parseInt(this.vista.insertarNombreViejo.getText()), - this.vista.insertarNombre.getText(), - Float.parseFloat(this.vista.insertarDinero.getText()), - this.vista.insertarFecha.getText()); - break; - } case "mostrar":{ try { ResultSet resultado = this.modelo.obtenerTransacciones(); diff --git a/src/ControladorModificar.java b/src/ControladorModificar.java new file mode 100644 index 0000000..5c8b496 --- /dev/null +++ b/src/ControladorModificar.java @@ -0,0 +1,59 @@ +import java.sql.ResultSet; +import java.sql.SQLException; +import javax.swing.event.TableModelEvent; +import javax.swing.event.TableModelListener; + +public class ControladorModificar implements TableModelListener { + VistaModificar vista; + Modelo modelo; + + /** + * Carga el controlador + * + * @param vista Vista a controlar + * @param modelo Modelo en el que trabajamos + */ + public ControladorModificar(VistaModificar vista, Modelo modelo) { + this.vista = vista; + this.modelo = modelo; + this.cargarFilas(); + vista.dtm.addTableModelListener(this); + } + + /** + * Actualiza la tabla + */ + public void cargarFilas(){ + String[] fila = new String[4]; + vista.dtm.setRowCount(0); + ResultSet resultSet = this.modelo.obtenerTransacciones(); + try { + while (resultSet .next()) { + fila[0] = resultSet.getString(1); + fila[1] = resultSet.getString(2); + fila[2] = resultSet.getString(3); + fila[3] = resultSet.getString(4); + + vista.dtm.addRow(fila); + } + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public void tableChanged(TableModelEvent e) { + if(e.getType() == TableModelEvent.UPDATE){ + System.out.println("actualizada"); + int filaModificada = e.getFirstRow(); + modelo.modificarTransaccion(Integer.parseInt((String)vista.dtm.getValueAt(filaModificada,0)), + (String)vista.dtm.getValueAt(filaModificada,1), + Float.parseFloat((String)vista.dtm.getValueAt(filaModificada,2)), + (String)vista.dtm.getValueAt(filaModificada,3)); + } + + } + + + +} diff --git a/src/Main.java b/src/Main.java index 7c735c6..b7f32b4 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,16 +1,37 @@ +import java.util.Scanner; import javax.swing.JFrame; +import javax.swing.JTabbedPane; public class Main { public static void main(String[] args) { - Vista vista = new Vista(); - Modelo modelo = new Modelo(); - Controlador controlador = new Controlador(vista, modelo); - JFrame frame = new JFrame(); - frame.setSize(500, 500); - frame.add(vista); - frame.setVisible(true); + try { + VistaAniadir vista = new VistaAniadir(); + VistaModificar vista2 = new VistaModificar(); + Modelo modelo = new Modelo(); + ControladorAniaidr controlador = new ControladorAniaidr(vista, modelo); + ControladorModificar controlador2 = new ControladorModificar(vista2, modelo); + JFrame frame = new JFrame(); + frame.setSize(500, 500); + JTabbedPane pestanias = new JTabbedPane(); + pestanias.addTab("aniadir", vista); + pestanias.addTab("modificar", vista2); + pestanias.addChangeListener((ChangeListener)->{ + controlador2.cargarFilas(); + }); + frame.add(pestanias); + frame.setVisible(true); + }catch(Exception e) { + System.out.println("Error inesperado" + + "\nPuede que no este bien definida su contrasenia de MySQL" + + "\nIntroducela:"); + Scanner es = new Scanner(System.in); + Configuracion.guardarConfiguracion(es.nextLine()); + System.out.println("prueba a reabrir el programa"); + es.close(); + } + } } diff --git a/src/Modelo.java b/src/Modelo.java index fb83cfb..1665e9f 100644 --- a/src/Modelo.java +++ b/src/Modelo.java @@ -25,7 +25,7 @@ public class Modelo { try { configuracion = Configuracion.cargarConfiguracion(); }catch (Exception e) { - Configuracion.guardarConfiguracion("1234"); + Configuracion.guardarConfiguracion(""); try { configuracion = Configuracion.cargarConfiguracion(); } catch (IOException e1) { diff --git a/src/Vista.java b/src/VistaAniadir.java similarity index 79% rename from src/Vista.java rename to src/VistaAniadir.java index 4ae5f8a..fd5c847 100644 --- a/src/Vista.java +++ b/src/VistaAniadir.java @@ -5,9 +5,11 @@ import java.awt.GridBagLayout; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JPasswordField; +import javax.swing.JTabbedPane; import javax.swing.JTextField; -public class Vista extends JPanel{ +public class VistaAniadir extends JPanel{ + JTabbedPane pestanias; JTextField textoNombre; JTextField textoDinero; JTextField textoFecha; @@ -26,9 +28,9 @@ public class Vista extends JPanel{ JButton cargarPasswd; /** - * Carga la vista principal + * Carga la vista en la que aniadir datos */ - public Vista() { + public VistaAniadir() { this.setLayout(new GridBagLayout()); GridBagConstraints constrain = new GridBagConstraints(); this.textoNombre = new JTextField("nombre"); @@ -47,15 +49,18 @@ public class Vista extends JPanel{ constrain.gridy = 2; this.add(this.textoFecha, constrain); - this.insertarNombre = new JTextField("nombre"); + this.insertarNombre = new JTextField(); + this.insertarNombre.setPreferredSize(new Dimension(80, 17)); constrain.gridx = 1; constrain.gridy = 0; this.add(this.insertarNombre, constrain); - this.insertarDinero = new JTextField("dinero"); + this.insertarDinero = new JTextField(); + this.insertarDinero.setPreferredSize(new Dimension(80, 17)); constrain.gridx = 1; constrain.gridy = 1; this.add(this.insertarDinero, constrain); - this.insertarFecha = new JTextField("fecha"); + this.insertarFecha = new JTextField(); + this.insertarFecha.setPreferredSize(new Dimension(80, 17)); constrain.gridx = 1; constrain.gridy = 2; this.add(this.insertarFecha, constrain); @@ -64,32 +69,29 @@ public class Vista extends JPanel{ constrain.gridx = 0; constrain.gridy = 3; this.add(this.aniadir, constrain); - this.editar = new JButton("editar"); + this.mostrarTodo = new JButton("mostrar todo"); constrain.gridx = 1; constrain.gridy = 3; - this.add(this.editar, constrain); - this.mostrarTodo = new JButton("mostrar todo"); - constrain.gridx = 2; - constrain.gridy = 3; this.add(this.mostrarTodo, constrain); - this.eliminar = new JButton("eliminar"); - constrain.gridx = 3; - constrain.gridy = 3; - this.add(eliminar, constrain); - this.buscar = new JButton("buscar"); - constrain.gridx = 4; - constrain.gridy = 3; - this.add(buscar, constrain); - - this.textoNombreViejo = new JTextField("id a cabiar"); + + this.textoNombreViejo = new JTextField("id seleccionado"); this.textoNombreViejo.setEditable(false); constrain.gridx = 0; constrain.gridy = 4; this.add(this.textoNombreViejo, constrain); - this.insertarNombreViejo = new JTextField("id a cambiar"); + this.insertarNombreViejo = new JTextField(); + this.insertarNombreViejo.setPreferredSize(new Dimension(80, 17)); constrain.gridx = 1; constrain.gridy = 4; this.add(this.insertarNombreViejo, constrain); + this.eliminar = new JButton("eliminar"); + constrain.gridx = 2; + constrain.gridy = 4; + this.add(eliminar, constrain); + this.buscar = new JButton("buscar"); + constrain.gridx = 3; + constrain.gridy = 4; + this.add(buscar, constrain); this.titulopPasswd = new JTextField("Cambiar DB passwd"); this.titulopPasswd.setEditable(false); diff --git a/src/VistaModificar.java b/src/VistaModificar.java new file mode 100644 index 0000000..793485e --- /dev/null +++ b/src/VistaModificar.java @@ -0,0 +1,33 @@ +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.table.DefaultTableModel; + +public class VistaModificar extends JPanel{ + JTable datos; + DefaultTableModel dtm; + + /** + * Carga la vista en la que modificar datos + */ + public VistaModificar() { + this.setLayout(new GridBagLayout()); + GridBagConstraints constrain = new GridBagConstraints(); + dtm =new DefaultTableModel(); + this.datos = new JTable(dtm); + this.datos.setModel(dtm); + this.dtm.addColumn("id"); + this.dtm.addColumn("nombre"); + this.dtm.addColumn("dinero"); + this.dtm.addColumn("fecha"); + JScrollPane scrollPane = new JScrollPane(datos); + datos.setFillsViewportHeight(true); + constrain.gridx = 0; + constrain.gridy = 0; + this.add(scrollPane, constrain); + + } +} +