diff --git a/src/main/java/net/h4ckx0r/controlador/ControladorEstudiante.java b/src/main/java/net/h4ckx0r/controlador/ControladorEstudiante.java index 422c005..4c8cb8e 100644 --- a/src/main/java/net/h4ckx0r/controlador/ControladorEstudiante.java +++ b/src/main/java/net/h4ckx0r/controlador/ControladorEstudiante.java @@ -23,7 +23,8 @@ public class ControladorEstudiante { rs.getString("email"), rs.getString("telefono"), rs.getInt("idTipologiaSexo"), - rs.getBytes("imagen") + rs.getBytes("imagen"), + rs.getString("colorPreferido") ); } @@ -52,7 +53,8 @@ public class ControladorEstudiante { rs.getString("email"), rs.getString("telefono"), rs.getInt("idTipologiaSexo"), - rs.getBytes("imagen") + rs.getBytes("imagen"), + rs.getString("colorPreferido") ); } @@ -81,7 +83,8 @@ public class ControladorEstudiante { rs.getString("email"), rs.getString("telefono"), rs.getInt("idTipologiaSexo"), - rs.getBytes("imagen") + rs.getBytes("imagen"), + rs.getString("colorPreferido") ); } @@ -111,7 +114,8 @@ public class ControladorEstudiante { rs.getString("email"), rs.getString("telefono"), rs.getInt("idTipologiaSexo"), - rs.getBytes("imagen") + rs.getBytes("imagen"), + rs.getString("colorPreferido") ); } @@ -142,7 +146,7 @@ public class ControladorEstudiante { } Connection conn = GestorConexiones.getConexion(); try { - PreparedStatement pst = conn.prepareStatement("UPDATE estudiante SET nombre = ?, apellido1 = ?, apellido2 = ?, dni = ?, direccion = ?, email = ?, telefono = ?, idTipologiaSexo = ?, imagen = ? WHERE id = ?"); + PreparedStatement pst = conn.prepareStatement("UPDATE estudiante SET nombre = ?, apellido1 = ?, apellido2 = ?, dni = ?, direccion = ?, email = ?, telefono = ?, idTipologiaSexo = ?, imagen = ?, colorPreferido = ? WHERE id = ?"); pst.setString(1, estudiante.getNombre()); pst.setString(2, estudiante.getApellido1()); pst.setString(3, estudiante.getApellido2()); @@ -152,7 +156,8 @@ public class ControladorEstudiante { pst.setString(7, estudiante.getTelefono()); pst.setInt(8, estudiante.getIdTipologiaSexo()); pst.setBytes(9, estudiante.getImagen()); - pst.setInt(10, estudiante.getId()); + pst.setString(10, estudiante.getColorPreferido()); + pst.setInt(11, estudiante.getId()); return pst.executeUpdate(); } catch (SQLException e) { return 0; @@ -163,7 +168,7 @@ public class ControladorEstudiante { public static int nuevoEstudiante(Estudiante estudiante) { Connection conn = GestorConexiones.getConexion(); try { - PreparedStatement pst = conn.prepareStatement("INSERT INTO estudiante (id,nombre,apellido1,apellido2,dni,direccion,email,telefono,idTipologiaSexo,imagen) VALUES (?,?,?,?,?,?,?,?,?,?)"); + PreparedStatement pst = conn.prepareStatement("INSERT INTO estudiante (id,nombre,apellido1,apellido2,dni,direccion,email,telefono,idTipologiaSexo,imagen,colorPreferido) VALUES (?,?,?,?,?,?,?,?,?,?,?)"); pst.setInt(1, estudiante.getId()); pst.setString(2, estudiante.getNombre()); pst.setString(3, estudiante.getApellido1()); @@ -174,6 +179,7 @@ public class ControladorEstudiante { pst.setString(8, estudiante.getTelefono()); pst.setInt(9, estudiante.getIdTipologiaSexo()); pst.setBytes(10, estudiante.getImagen()); + pst.setString(11, estudiante.getColorPreferido()); return pst.executeUpdate(); } catch (SQLException e) { throw new RuntimeException(e); diff --git a/src/main/java/net/h4ckx0r/controlador/ControladorProfesor.java b/src/main/java/net/h4ckx0r/controlador/ControladorProfesor.java index 44d14f2..4615857 100644 --- a/src/main/java/net/h4ckx0r/controlador/ControladorProfesor.java +++ b/src/main/java/net/h4ckx0r/controlador/ControladorProfesor.java @@ -23,7 +23,8 @@ public class ControladorProfesor { rs.getString("email"), rs.getString("telefono"), rs.getInt("idTipologiaSexo"), - rs.getBytes("imagen") + rs.getBytes("imagen"), + rs.getString("colorPreferido") ); } @@ -52,7 +53,8 @@ public class ControladorProfesor { rs.getString("email"), rs.getString("telefono"), rs.getInt("idTipologiaSexo"), - rs.getBytes("imagen") + rs.getBytes("imagen"), + rs.getString("colorPreferido") ); } @@ -81,7 +83,8 @@ public class ControladorProfesor { rs.getString("email"), rs.getString("telefono"), rs.getInt("idTipologiaSexo"), - rs.getBytes("imagen") + rs.getBytes("imagen"), + rs.getString("colorPreferido") ); } @@ -111,7 +114,8 @@ public class ControladorProfesor { rs.getString("email"), rs.getString("telefono"), rs.getInt("idTipologiaSexo"), - rs.getBytes("imagen") + rs.getBytes("imagen"), + rs.getString("colorPreferido") ); } @@ -142,7 +146,7 @@ public class ControladorProfesor { } Connection conn = GestorConexiones.getConexion(); try { - PreparedStatement pst = conn.prepareStatement("UPDATE profesor SET nombre = ?, apellido1 = ?, apellido2 = ?, dni = ?, direccion = ?, email = ?, telefono = ?, idTipologiaSexo = ?, imagen = ? WHERE id = ?"); + PreparedStatement pst = conn.prepareStatement("UPDATE profesor SET nombre = ?, apellido1 = ?, apellido2 = ?, dni = ?, direccion = ?, email = ?, telefono = ?, idTipologiaSexo = ?, imagen = ?, colorPreferido = ? WHERE id = ?"); pst.setString(1, profesor.getNombre()); pst.setString(2, profesor.getApellido1()); pst.setString(3, profesor.getApellido2()); @@ -152,7 +156,8 @@ public class ControladorProfesor { pst.setString(7, profesor.getTelefono()); pst.setInt(8, profesor.getIdTipologiaSexo()); pst.setBytes(9, profesor.getImagen()); - pst.setInt(10, profesor.getId()); + pst.setString(10, profesor.getColorPreferido()); + pst.setInt(11, profesor.getId()); return pst.executeUpdate(); } catch (SQLException e) { return 0; @@ -163,7 +168,7 @@ public class ControladorProfesor { public static int nuevoProfesor(Profesor profesor) { Connection conn = GestorConexiones.getConexion(); try { - PreparedStatement pst = conn.prepareStatement("INSERT INTO profesor (id,nombre,apellido1,apellido2,dni,direccion,email,telefono,idTipologiaSexo,imagen) VALUES (?,?,?,?,?,?,?,?,?,?)"); + PreparedStatement pst = conn.prepareStatement("INSERT INTO profesor (id,nombre,apellido1,apellido2,dni,direccion,email,telefono,idTipologiaSexo,imagen, colorPreferido) VALUES (?,?,?,?,?,?,?,?,?,?,?)"); pst.setInt(1, profesor.getId()); pst.setString(2, profesor.getNombre()); pst.setString(3, profesor.getApellido1()); @@ -174,6 +179,7 @@ public class ControladorProfesor { pst.setString(8, profesor.getTelefono()); pst.setInt(9, profesor.getIdTipologiaSexo()); pst.setBytes(10, profesor.getImagen()); + pst.setString(11, profesor.getColorPreferido()); return pst.executeUpdate(); } catch (SQLException e) { throw new RuntimeException(e); diff --git a/src/main/java/net/h4ckx0r/controlador/Utils.java b/src/main/java/net/h4ckx0r/controlador/Utils.java new file mode 100644 index 0000000..42a1efd --- /dev/null +++ b/src/main/java/net/h4ckx0r/controlador/Utils.java @@ -0,0 +1,14 @@ +package net.h4ckx0r.controlador; + +import java.awt.*; + +public class Utils { + public static Color stringToColor(String color) { + return Color.decode(color); + } + + public static String colorToString(Color color) { + System.out.println("#" + Integer.toHexString(color.getRGB())); + return "#" + (Integer.toHexString(color.getRGB())).substring(2); + } +} diff --git a/src/main/java/net/h4ckx0r/modelo/Estudiante.java b/src/main/java/net/h4ckx0r/modelo/Estudiante.java index a22e275..12962cf 100644 --- a/src/main/java/net/h4ckx0r/modelo/Estudiante.java +++ b/src/main/java/net/h4ckx0r/modelo/Estudiante.java @@ -1,8 +1,10 @@ package net.h4ckx0r.modelo; +import java.awt.*; + public class Estudiante extends Persona { - public Estudiante(int id, String nombre, String apellido1, String apellido2, String dni, String direccion, String email, String telefono, int idTipologiaSexo, byte[] imagen) { - super(id, nombre, apellido1, apellido2, dni, direccion, email, telefono, idTipologiaSexo, imagen); + public Estudiante(int id, String nombre, String apellido1, String apellido2, String dni, String direccion, String email, String telefono, int idTipologiaSexo, byte[] imagen, String colorPreferido) { + super(id, nombre, apellido1, apellido2, dni, direccion, email, telefono, idTipologiaSexo, imagen, colorPreferido); } } diff --git a/src/main/java/net/h4ckx0r/modelo/Persona.java b/src/main/java/net/h4ckx0r/modelo/Persona.java index a53f57b..7831a51 100644 --- a/src/main/java/net/h4ckx0r/modelo/Persona.java +++ b/src/main/java/net/h4ckx0r/modelo/Persona.java @@ -1,5 +1,6 @@ package net.h4ckx0r.modelo; +import java.awt.*; import java.util.Arrays; public class Persona { @@ -13,8 +14,9 @@ public class Persona { private String telefono; private int idTipologiaSexo; private byte[] imagen; + private String colorPreferido; - public Persona(int id, String nombre, String apellido1, String apellido2, String dni, String direccion, String email, String telefono, int idTipologiaSexo, byte[] imagen) { + public Persona(int id, String nombre, String apellido1, String apellido2, String dni, String direccion, String email, String telefono, int idTipologiaSexo, byte[] imagen, String colorPreferido) { this.id = id; this.nombre = nombre; this.apellido1 = apellido1; @@ -25,6 +27,7 @@ public class Persona { this.telefono = telefono; this.idTipologiaSexo = idTipologiaSexo; this.imagen = imagen; + this.colorPreferido = colorPreferido; } public int getId() { @@ -107,6 +110,14 @@ public class Persona { this.imagen = imagen; } + public String getColorPreferido() { + return colorPreferido; + } + + public void setColorPreferido(String colorPreferido) { + this.colorPreferido = colorPreferido; + } + @Override public String toString() { return "Persona{" + @@ -120,6 +131,7 @@ public class Persona { ", telefono='" + telefono + '\'' + ", idTipologiaSexo=" + idTipologiaSexo + ", imagen=" + Arrays.toString(imagen) + + ", colorPreferido=" + colorPreferido + '\'' + '}'; } } diff --git a/src/main/java/net/h4ckx0r/modelo/Profesor.java b/src/main/java/net/h4ckx0r/modelo/Profesor.java index 5029e41..bd84bc2 100644 --- a/src/main/java/net/h4ckx0r/modelo/Profesor.java +++ b/src/main/java/net/h4ckx0r/modelo/Profesor.java @@ -1,7 +1,9 @@ package net.h4ckx0r.modelo; +import java.awt.*; + public class Profesor extends Persona{ - public Profesor(int id, String nombre, String apellido1, String apellido2, String dni, String direccion, String email, String telefono, int idTipologiaSexo, byte[] imagen) { - super(id, nombre, apellido1, apellido2, dni, direccion, email, telefono, idTipologiaSexo, imagen); + public Profesor(int id, String nombre, String apellido1, String apellido2, String dni, String direccion, String email, String telefono, int idTipologiaSexo, byte[] imagen, String colorPreferido) { + super(id, nombre, apellido1, apellido2, dni, direccion, email, telefono, idTipologiaSexo, imagen, colorPreferido); } } diff --git a/src/main/java/net/h4ckx0r/vista/MainView.java b/src/main/java/net/h4ckx0r/vista/MainView.java index 9be942c..c79b352 100644 --- a/src/main/java/net/h4ckx0r/vista/MainView.java +++ b/src/main/java/net/h4ckx0r/vista/MainView.java @@ -262,9 +262,9 @@ public class MainView extends JFrame { } else if (tabbedPane.getSelectedComponent() == panelMaterias) { panelMaterias.setMateriaActual(new Materia(-1, "", "", -1)); } else if (tabbedPane.getSelectedComponent() == panelEstudiantes) { - panelEstudiantes.setEstudianteActual(new Estudiante(-1, "", "", "", "", "", "", "", -1, null)); + panelEstudiantes.setEstudianteActual(new Estudiante(-1, "", "", "", "", "", "", "", -1, null, null)); } else if (tabbedPane.getSelectedComponent() == panelProfesores) { - panelProfesores.setProfesorActual(new Profesor(-1, "", "", "", "", "", "", "", -1, null)); + panelProfesores.setProfesorActual(new Profesor(-1, "", "", "", "", "", "", "", -1, null, null)); } } diff --git a/src/main/java/net/h4ckx0r/vista/panels/PanelPersona.java b/src/main/java/net/h4ckx0r/vista/panels/PanelPersona.java index f86e3aa..adb7610 100644 --- a/src/main/java/net/h4ckx0r/vista/panels/PanelPersona.java +++ b/src/main/java/net/h4ckx0r/vista/panels/PanelPersona.java @@ -1,6 +1,7 @@ package net.h4ckx0r.vista.panels; import net.h4ckx0r.controlador.ControladorTipologiaSexo; +import net.h4ckx0r.controlador.Utils; import net.h4ckx0r.modelo.*; import javax.swing.*; @@ -17,11 +18,14 @@ import java.util.List; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import static net.h4ckx0r.controlador.Utils.stringToColor; + public class PanelPersona extends JPanel { private static final long serialVersionUID = 1L; private Persona personaActual; + private Color colorFondoSistema = this.getBackground(); private JTextField tfNombre; private JTextField tfApellido1; @@ -34,9 +38,10 @@ public class PanelPersona extends JPanel { private JLabel labelImage; private JPopupMenu popupMenuImage; private JMenuItem mntmDimensiones; + private JTextField tfColorPreferido; List sexos = ControladorTipologiaSexo.getAllSexos(); - private JTextField textField; + /** * Create the panel. @@ -249,19 +254,19 @@ public class PanelPersona extends JPanel { gbc_lblNewLabel_8.gridy = 8; add(lblNewLabel_8, gbc_lblNewLabel_8); - textField = new JTextField(); + tfColorPreferido = new JTextField(); GridBagConstraints gbc_textFieldColor = new GridBagConstraints(); gbc_textFieldColor.insets = new Insets(0, 0, 5, 5); gbc_textFieldColor.fill = GridBagConstraints.HORIZONTAL; gbc_textFieldColor.gridx = 1; gbc_textFieldColor.gridy = 8; - add(textField, gbc_textFieldColor); - textField.setColumns(10); + add(tfColorPreferido, gbc_textFieldColor); + tfColorPreferido.setColumns(10); JButton btnNewButton_1 = new JButton("Cambiar Color"); btnNewButton_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - + solicitarColor(); } }); GridBagConstraints gbc_btnNewButton_1 = new GridBagConstraints(); @@ -282,6 +287,12 @@ public class PanelPersona extends JPanel { tfDireccion.setText(persona.getDireccion()); tfEmail.setText(persona.getEmail()); tfTelefono.setText(persona.getTelefono()); + if (persona.getColorPreferido() != null && !persona.getColorPreferido().isEmpty()) { + this.setBackground(stringToColor(persona.getColorPreferido())); + } else { + this.setBackground(colorFondoSistema); + } + tfColorPreferido.setText(persona.getColorPreferido()); personaActual = persona; actualizarSexo(); ponerImagen(); @@ -296,6 +307,7 @@ public class PanelPersona extends JPanel { personaActual.setDireccion(tfDireccion.getText()); personaActual.setEmail(tfEmail.getText()); personaActual.setTelefono(tfTelefono.getText()); + personaActual.setColorPreferido(tfColorPreferido.getText()); return personaActual; } @@ -393,4 +405,13 @@ public class PanelPersona extends JPanel { private int[] getDimensionesImagen(ImageIcon icon) { return new int[] {icon.getIconWidth(), icon.getIconHeight()}; } + + + private void solicitarColor() { + Color color = JColorChooser.showDialog(this, "Seleccione un color", colorFondoSistema); + if (color != null) { + this.setBackground(color); + tfColorPreferido.setText(Utils.colorToString(color)); + } + } }