diff --git a/src/Configuracion.java b/src/Configuracion.java new file mode 100644 index 0000000..aa96f49 --- /dev/null +++ b/src/Configuracion.java @@ -0,0 +1,43 @@ + + + import java.io.FileNotFoundException; + import java.io.FileReader; + import java.io.FileWriter; + import java.io.IOException; + import java.util.Properties; + + public class Configuracion { + private static String direccion=".config"; + /** + * Guarda la configuracion del menu en un fichero oculto + * + * @param menu Menu del que se guardan los datos + */ + public static void guardarConfiguracion(String passwd) { + Properties configuracion = new Properties(); + configuracion.setProperty("passwd", passwd); + try { + configuracion.store(new FileWriter(Configuracion.direccion), "Configuracion general"); + } catch (IOException e1) { + e1.printStackTrace(); + } + } + + /** + * Carga la configuracion del menu + * + * @param menu menu en el que carga la configuracio + * @throws IOException + */ + public static String cargarConfiguracion() throws IOException { + Properties configuracion = new Properties(); + //"jdbc:mariadb://localhost:3306/gestionGastos?user=root&password=1234" + String ret = "jdbc:mariadb://localhost:3306/gestionGastos?user=root&password="; + configuracion.load(new FileReader(Configuracion.direccion)); + ret+=configuracion.getProperty("passwd"); + + return ret; + + } + + } diff --git a/src/Controlador.java b/src/Controlador.java index 686d768..479a760 100644 --- a/src/Controlador.java +++ b/src/Controlador.java @@ -28,6 +28,8 @@ public class Controlador implements ActionListener{ this.vista.eliminar.setActionCommand("eliminar"); this.vista.buscar.addActionListener(this); this.vista.buscar.setActionCommand("buscar"); + this.vista.cargarPasswd.addActionListener(this); + this.vista.cargarPasswd.setActionCommand("pass"); } @Override @@ -88,6 +90,10 @@ public class Controlador implements ActionListener{ } break; } + case "pass":{ + Configuracion.guardarConfiguracion(String.valueOf(this.vista.pass.getPassword())); + break; + } } } diff --git a/src/Main.java b/src/Main.java index 9427c06..b6215ea 100644 --- a/src/Main.java +++ b/src/Main.java @@ -12,7 +12,7 @@ public class Main { Modelo modelo = new Modelo(); Controlador controlador = new Controlador(vista, modelo); JFrame frame = new JFrame(); - frame.setSize(200, 500); + frame.setSize(500, 500); frame.add(vista); frame.setVisible(true); } diff --git a/src/Modelo.java b/src/Modelo.java index af3003d..65c39ec 100644 --- a/src/Modelo.java +++ b/src/Modelo.java @@ -1,4 +1,5 @@ +import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; @@ -19,7 +20,19 @@ public class Modelo { Modelo(){ try { - connection = DriverManager.getConnection("jdbc:mariadb://localhost:3306/gestionGastos?user=root&password=1234"); + String configuracion = null; + try { + configuracion = Configuracion.cargarConfiguracion(); + }catch (Exception e) { + Configuracion.guardarConfiguracion("1234"); + try { + configuracion = Configuracion.cargarConfiguracion(); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + } + connection = DriverManager.getConnection(configuracion); Statement crearDB = connection.createStatement(); crearDB.executeQuery(Modelo.crearDB); crearDB.executeUpdate(Modelo.crearTranasccion); diff --git a/src/Vista.java b/src/Vista.java index 72369e2..19b75e5 100644 --- a/src/Vista.java +++ b/src/Vista.java @@ -1,8 +1,10 @@ +import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import javax.swing.JButton; import javax.swing.JPanel; +import javax.swing.JPasswordField; import javax.swing.JTextField; public class Vista extends JPanel{ @@ -19,6 +21,9 @@ public class Vista extends JPanel{ JButton buscar; JTextField textoNombreViejo; JTextField insertarNombreViejo; + JTextField titulopPasswd; + JPasswordField pass; + JButton cargarPasswd; public Vista() { this.setLayout(new GridBagLayout()); @@ -82,5 +87,20 @@ public class Vista extends JPanel{ constrain.gridx = 1; constrain.gridy = 4; this.add(this.insertarNombreViejo, constrain); + + this.titulopPasswd = new JTextField("Cambiar DB passwd"); + this.titulopPasswd.setEditable(false); + constrain.gridx = 0; + constrain.gridy = 5; + this.add(this.titulopPasswd,constrain); + this.pass = new JPasswordField(); + this.pass.setPreferredSize(new Dimension(80, 17)); + constrain.gridx = 1; + constrain.gridy = 5; + this.add(this.pass,constrain); + this.cargarPasswd = new JButton("cambiar"); + constrain.gridx = 2; + constrain.gridy = 5; + this.add(this.cargarPasswd,constrain); } }