Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package TrabajoFinal;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- import javax.swing.table.DefaultTableModel;
- import javax.swing.border.EtchedBorder;
- import javax.swing.border.LineBorder;
- public class Main extends JFrame {
- //Atributos
- private String user,pass,url;
- private PersonasBD base;
- private JTable tableMDatos;
- private JTextField textFieldADNI;
- private JTextField textFieldANombre;
- private JTextField textFieldADireccion;
- private JTextField textFieldATelefono;
- private DefaultTableModel modeloTabla;
- private CardLayout cl;
- private JTextField textFieldADia;
- private JTextField textFieldAMes;
- private JTextField textFieldAAño;
- private JPanel Contenido;
- private JTextField textFieldMDNI;
- private JTextField textFieldMTelefono;
- private JTextField textFieldBDNI;
- //Constructores
- public Main() {
- this.url =/*"jdbc:oracle:thin:@localhost:1521:bbddClase"*/"jdbc:oracle:thin:192.168.1.34:bbddclase";
- this.pass = "conexionbd";
- this.user = "conexionbd";
- base = new PersonasBD(user,pass,url);
- getContentPane().setLayout(null);
- setSize(1000,700);
- JPanel Principal = new JPanel();
- Principal.setBounds(0, 0, 420, 661);
- getContentPane().add(Principal);
- Principal.setLayout(null);
- JPanel Menu = new JPanel();
- Menu.setBounds(0, 0, 500, 64);
- Menu.setBorder(new EtchedBorder(EtchedBorder.LOWERED,null, null));
- Principal.add(Menu);
- Menu.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
- JButton btnAñadir = new JButton("A\u00F1adir");
- Menu.add(btnAñadir);
- JButton btnModificar = new JButton("Modificar");
- Menu.add(btnModificar);
- JButton btnEliminar = new JButton("Eliminar");
- Menu.add(btnEliminar);
- Contenido = new JPanel();
- Contenido.setBorder(new EtchedBorder(EtchedBorder.LOWERED,null, null));
- Contenido.setBounds(0, 63, 420, 598);
- Principal.add(Contenido);
- cl = new CardLayout();
- Contenido.setLayout(cl);
- JPanel panelAñadir = new JPanel();
- panelAñadir.setBorder(new EtchedBorder(EtchedBorder.LOWERED,null, null));
- panelAñadir.setBounds(0, 0, 500, 598);
- Contenido.add(panelAñadir);
- panelAñadir.setLayout(null);
- JButton btnAAceptar = new JButton("Aceptar");
- btnAAceptar.setBounds(292, 538, 96, 34);
- panelAñadir.add(btnAAceptar);
- JButton btnALimpiar = new JButton("Limpiar");
- btnALimpiar.setBounds(183, 538, 96, 34);
- panelAñadir.add(btnALimpiar);
- JLabel labelAPanelAñadir = new JLabel("A\u00F1adir");
- labelAPanelAñadir.setFont(new Font("Tahoma", Font.PLAIN, 16));
- labelAPanelAñadir.setHorizontalAlignment(SwingConstants.CENTER);
- labelAPanelAñadir.setBounds(139, 22, 103, 29);
- panelAñadir.add(labelAPanelAñadir);
- JLabel lblADNI = new JLabel("DNI:");
- lblADNI.setHorizontalAlignment(SwingConstants.LEFT);
- lblADNI.setBounds(23, 67, 46, 14);
- panelAñadir.add(lblADNI);
- JLabel lblAANombre = new JLabel("Nombre:");
- lblAANombre.setHorizontalAlignment(SwingConstants.LEFT);
- lblAANombre.setBounds(23, 92, 54, 14);
- panelAñadir.add(lblAANombre);
- JLabel lblAFNacimiento = new JLabel("F.Nacimiento:");
- lblAFNacimiento.setBounds(23, 117, 77, 14);
- panelAñadir.add(lblAFNacimiento);
- JLabel lblAsep1 = new JLabel("/");
- lblAsep1.setHorizontalAlignment(SwingConstants.CENTER);
- lblAsep1.setBounds(142, 115, 29, 14);
- panelAñadir.add(lblAsep1);
- JLabel lblAsep2 = new JLabel("/");
- lblAsep2.setHorizontalAlignment(SwingConstants.CENTER);
- lblAsep2.setBounds(200, 115, 29, 14);
- panelAñadir.add(lblAsep2);
- JLabel lblADireccion = new JLabel("Direcci\u00F3n:");
- lblADireccion.setBounds(23, 142, 68, 14);
- panelAñadir.add(lblADireccion);
- JLabel lblATelefono = new JLabel("Tel\u00E9fono:");
- lblATelefono.setBounds(23, 167, 54, 14);
- panelAñadir.add(lblATelefono);
- textFieldADNI = new JTextField();
- textFieldADNI.setBounds(118, 62, 230, 20);
- panelAñadir.add(textFieldADNI);
- textFieldADNI.setColumns(10);
- textFieldANombre = new JTextField();
- textFieldANombre.setBounds(118, 87, 230, 20);
- panelAñadir.add(textFieldANombre);
- textFieldANombre.setColumns(10);
- textFieldADia = new JTextField();
- textFieldADia.setText("D");
- textFieldADia.setBounds(116, 112, 29, 20);
- panelAñadir.add(textFieldADia);
- textFieldADia.setColumns(10);
- textFieldAMes = new JTextField();
- textFieldAMes.setText("M");
- textFieldAMes.setBounds(171, 112, 29, 20);
- panelAñadir.add(textFieldAMes);
- textFieldAMes.setColumns(10);
- textFieldAAño = new JTextField();
- textFieldAAño.setText("A");
- textFieldAAño.setBounds(230, 112, 39, 20);
- panelAñadir.add(textFieldAAño);
- textFieldAAño.setColumns(10);
- textFieldADireccion = new JTextField();
- textFieldADireccion.setBounds(118, 137, 230, 20);
- panelAñadir.add(textFieldADireccion);
- textFieldADireccion.setColumns(10);
- textFieldATelefono = new JTextField();
- textFieldATelefono.setBounds(118, 162, 230, 20);
- panelAñadir.add(textFieldATelefono);
- textFieldATelefono.setColumns(10);
- JPanel panelModificar = new JPanel();
- panelModificar.setBounds(0, 0, 500, 598);
- Contenido.add(panelModificar);
- panelModificar.setLayout(null);
- JPanel panelBorrar = new JPanel();
- panelBorrar.setBounds(0, 0, 500, 598);
- Contenido.add(panelBorrar);
- panelBorrar.setLayout(null);
- JPanel Motrar = new JPanel();
- Motrar.setBorder(new EtchedBorder(EtchedBorder.LOWERED,null, null));
- Motrar.setBounds(421, 0, 563, 661);
- getContentPane().add(Motrar);
- Motrar.setLayout(null);
- JLabel labelMostar = new JLabel("Mostar Datos");
- labelMostar.setFont(new Font("Tahoma", Font.BOLD, 25));
- labelMostar.setHorizontalAlignment(SwingConstants.CENTER);
- labelMostar.setBounds(142, -2, 211, 68);
- Motrar.add(labelMostar);
- JScrollPane scrollTabla = new JScrollPane();
- scrollTabla.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
- scrollTabla.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
- scrollTabla.setBounds(28, 60, 500, 504);
- Motrar.add(scrollTabla);
- tableMDatos = new JTable();
- modeloTabla = new DefaultTableModel(
- new String[][] {
- },
- new String[] {
- "DNI", "Nombre", "F.Nacimiento", "Direccion", "Telefono"
- });
- tableMDatos.setFillsViewportHeight(true);
- scrollTabla.setViewportView(tableMDatos);
- tableMDatos.setModel(modeloTabla);
- JButton btnActualizar = new JButton("Actualizar");
- btnActualizar.setBounds(411, 603, 96, 34);
- getContentPane().setPreferredSize(null);
- Motrar.add(btnActualizar);
- btnActualizar.addMouseListener(new MouseAdapter() {
- public void mouseClicked(MouseEvent event){
- refrescarTabla();
- }
- });
- btnAñadir.addMouseListener(new MouseAdapter(){
- public void mouseClicked(MouseEvent event){
- cambiarPanel("añadir");
- }
- });
- btnModificar.addMouseListener(new MouseAdapter(){
- public void mouseClicked(MouseEvent event){
- cambiarPanel("modificar");
- }
- });
- btnEliminar.addMouseListener(new MouseAdapter(){
- public void mouseClicked(MouseEvent event){
- cambiarPanel("borrar");
- }
- });
- btnALimpiar.addMouseListener(new MouseAdapter() {
- public void mouseClicked(MouseEvent e) {
- limpiarPanel();
- }
- });
- btnAAceptar.addMouseListener(new MouseAdapter() {
- public void mouseClicked(MouseEvent e){
- Persona nuevaPersona=new Persona(textFieldADNI.getText(),textFieldANombre.getText(), new java.sql.Date(Integer.parseInt(textFieldAAño.getText()),
- Integer.parseInt(textFieldAMes.getText()),Integer.parseInt(textFieldADia.getText())), textFieldADireccion.getText(), Integer.parseInt(textFieldATelefono.getText()));
- base.altaPersona(nuevaPersona);
- refrescarTabla();
- limpiarPanel();
- }
- });
- cl.addLayoutComponent(panelAñadir, "añadir");
- cl.addLayoutComponent(panelModificar, "modificar");
- JButton buttonMModificar = new JButton("Modificar");
- buttonMModificar.setBounds(290, 531, 96, 34);
- panelModificar.add(buttonMModificar);
- buttonMModificar.addMouseListener(new MouseAdapter(){
- public void mouseClicked(MouseEvent event){
- if (modificarPersona()){
- refrescarTabla();
- } else {
- System.out.println("Pendiente de insertar aqui un jdialog dando error de DNI");
- }
- }
- });
- JButton btnMBuscar = new JButton("Buscar");
- btnMBuscar.setBounds(184, 531, 96, 34);
- panelModificar.add(btnMBuscar);
- JLabel labelPanelModificar = new JLabel("Modificar");
- labelPanelModificar.setHorizontalAlignment(SwingConstants.CENTER);
- labelPanelModificar.setFont(new Font("Tahoma", Font.PLAIN, 16));
- labelPanelModificar.setBounds(140, 11, 103, 29);
- panelModificar.add(labelPanelModificar);
- JLabel labelMDNI = new JLabel("DNI:");
- labelMDNI.setHorizontalAlignment(SwingConstants.LEFT);
- labelMDNI.setBounds(75, 54, 46, 14);
- panelModificar.add(labelMDNI);
- JLabel labelMTelefono = new JLabel("Tel\u00E9fono:");
- labelMTelefono.setBounds(75, 85, 46, 14);
- panelModificar.add(labelMTelefono);
- textFieldMDNI = new JTextField();
- textFieldMDNI.setColumns(10);
- textFieldMDNI.setBounds(153, 51, 77, 20);
- panelModificar.add(textFieldMDNI);
- textFieldMTelefono = new JTextField();
- textFieldMTelefono.setColumns(10);
- textFieldMTelefono.setBounds(153, 82, 86, 20);
- panelModificar.add(textFieldMTelefono);
- cl.addLayoutComponent(panelBorrar, "borrar");
- JButton buttonBEliminar = new JButton("Eliminar");
- buttonBEliminar.setBounds(271, 535, 96, 34);
- panelBorrar.add(buttonBEliminar);
- buttonBEliminar.addMouseListener(new MouseAdapter() {
- public void mouseClicked(MouseEvent e) {
- base.bajaPersona(textFieldBDNI.getText());
- refrescarTabla();
- }
- });
- JButton buttonBBuscar = new JButton("Buscar");
- buttonBBuscar.setBounds(165, 535, 96, 34);
- panelBorrar.add(buttonBBuscar);
- JLabel labelBDNI = new JLabel("DNI:");
- labelBDNI.setHorizontalAlignment(SwingConstants.LEFT);
- labelBDNI.setBounds(87, 60, 46, 14);
- panelBorrar.add(labelBDNI);
- textFieldBDNI = new JTextField();
- textFieldBDNI.setColumns(10);
- textFieldBDNI.setBounds(165, 57, 77, 20);
- panelBorrar.add(textFieldBDNI);
- JLabel labelBorrar = new JLabel("Eliminar");
- labelBorrar.setHorizontalAlignment(SwingConstants.CENTER);
- labelBorrar.setFont(new Font("Tahoma", Font.PLAIN, 16));
- labelBorrar.setBounds(139, 17, 103, 29);
- panelBorrar.add(labelBorrar);
- this.rellenarTabla();
- setVisible(true);
- }
- //Metodos
- private void rellenarTabla(){
- //Rellena la tabla con los resultados de la consulta SELECT * FROM PERSONAS. La fecha puede dar problema
- for(Persona p : base.consultarPersonas()){
- String[] fila = {p.getDni(), p.getNombre(),p.getFechaNac().toLocaleString().split(" ")[0],p.getDireccion(), ""+p.getTlf()};
- modeloTabla.addRow(fila);
- }
- }
- private void limpiarTabla(){
- //Elimina todas las lineas en la tabla
- for (int i=0; i<modeloTabla.getRowCount(); i++){
- modeloTabla.removeRow(i);
- }
- }
- private void refrescarTabla(){
- this.limpiarTabla();
- this.rellenarTabla();
- }
- private void cambiarPanel(String nombrePanel){
- //Los nombres de los paneles son "añadir", "modificar" y "borrar", todos en minnusculas
- cl.show(Contenido, nombrePanel);
- }
- private void limpiarPanel(){ //Metodo que al pulsar el boton Limpiar del panelAñadir elimine el contenido de los JTextField
- textFieldADNI.setText("");
- textFieldANombre.setText("");
- textFieldADia.setText("");
- textFieldAMes.setText("");
- textFieldAAño.setText("");
- textFieldADireccion.setText("");
- textFieldATelefono.setText("");
- }
- private boolean modificarPersona(){
- return base.modificarPersona(textFieldMDNI.getText(), Integer.parseInt(textFieldMTelefono.getText()) );
- }
- //MAIN
- public static void main(String[] args) {
- new Main();
- } //FIN DE MAIN
- } //FIN DEL ARCHIVO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement