Color preferido

This commit is contained in:
2025-04-10 18:47:53 +02:00
parent 8ab61b5ef8
commit dd43b8b3e4
8 changed files with 89 additions and 26 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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 + '\'' +
'}';
}
}

View File

@@ -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);
}
}

View File

@@ -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));
}
}

View File

@@ -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<TipologiaSexo> 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));
}
}
}