Documentos de Académico
Documentos de Profesional
Documentos de Cultura
//Esta clase se encarga de dos cosas, en primera instancia ejecutar el programa (el main se encuentra contenido aqui), en segunda instancia generar //la interfaz grafica con la que el usuario va a interactuar.
DefaultTableModel modelo_tabla; public JTextArea nombre_textArea; public JTextArea ci_textArea; public JTextArea apellido_textArea; public JTextArea email_textArea; public JTextArea tel_textArea; public JTextArea aNacimiento_textArea; public JButton reg; public JButton reset;
private JFrame frmIngresoDeDatos; //referencia de tipo JFrame privada que luego utilizaremos para apuntar a un objeto JFrame public JTable tabla_Datos; //Referencia de tipo JTable privada que luego utilizaremos para apuntar al objeto de tipo JTable
//metodo principal, limitado a inicializar el programa creando un nuevo objeto de tipo interfaz Interfaz window = new Interfaz(); window.frmIngresoDeDatos.setVisible(true); //definimos la ventana como visible (activa)
frmIngresoDeDatos.setResizable(false); frmIngresoDeDatos.setTitle("Ingreso de Datos v1.0"); frmIngresoDeDatos.getContentPane().setBackground(SystemColor.control); frmIngresoDeDatos.setBackground(SystemColor.textHighlightText); frmIngresoDeDatos.setBounds(100, 150, 706, 532); frmIngresoDeDatos.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frmIngresoDeDatos.getContentPane().setLayout(null);
//:etiquetas //todas las etiquetas de datos contenidas en la interfaz se generan en esta seccin
JLabel lblDatosDelUsuario = new JLabel("Datos del Usuario"); //creacion de la referencia y objeto tipo JLabel lblDatosDelUsuario.setBounds(12, 12, 168, 15); //aqui se define en que lugar de la pantalla se coloca frmIngresoDeDatos.getContentPane().add(lblDatosDelUsuario); //agregamos el objeto al contenedor
JLabel aNacimiento_Etiqueta = new JLabel("Ao de Nacimiento:"); aNacimiento_Etiqueta.setBounds(201, 180, 168, 15); frmIngresoDeDatos.getContentPane().add(aNacimiento_Etiqueta);
//:areas de texto //Los "JTextArea" para los campos que se ingresan se generan en este apartado //los cuadros de texto (toolTip) son tambien agregados aqui
nombre_textArea = new JTextArea(); nombre_textArea.setTabSize(10); //tamao (en caracteres) del cuadro de texto nombre_textArea.setBounds(46, 76, 119, 18); //posicion y tamao del cuadro de texto frmIngresoDeDatos.getContentPane().add(nombre_textArea); //en este campo se agrega el objeto al panel
nombre_textArea.setToolTipText("Nombre del usuario a registrar, ejemplo: Pedro"); //este texto aparece al colocar el cursor sobre el elemento
apellido_textArea = new JTextArea(); apellido_textArea.setTabSize(10); apellido_textArea.setBounds(201, 76, 119, 18); frmIngresoDeDatos.getContentPane().add(apellido_textArea); apellido_textArea.setToolTipText("Apellido del usuario a registrar, ejemplo: Ruiz");
ci_textArea = new JTextArea(); ci_textArea.setBounds(46, 135, 119, 18); frmIngresoDeDatos.getContentPane().add(ci_textArea); ci_textArea.setToolTipText("Cedula del usuario a registrar sin espacios ni puntos, ejemplo: 22111444");
aNacimiento_textArea = new JTextArea(); aNacimiento_textArea.setBounds(201, 195, 119, 18); frmIngresoDeDatos.getContentPane().add(aNacimiento_textArea); aNacimiento_textArea.setToolTipText("Ao de nacimiento del usuario a registrar, ejemplo: 1999");
email_textArea = new JTextArea(); email_textArea.setTabSize(10); email_textArea.setBounds(46, 195, 119, 18); frmIngresoDeDatos.getContentPane().add(email_textArea); email_textArea.setToolTipText("Email del usuario a registrar, ejemplo: pedro@hotmail.com, pedro@yahoo.es, pedro@gmail.com, etc.");
tel_textArea = new JTextArea(); tel_textArea.setBounds(201, 135, 119, 18); frmIngresoDeDatos.getContentPane().add(tel_textArea); tel_textArea.setToolTipText("Telefono del usuario a registrar (con su codigo de area y sin espacios), ejemplo: 04243233344");
reg = new JButton("Registrar"); frmIngresoDeDatos.getContentPane().add(reg); reg.setBounds(400, 100, 100, 30); reg.setToolTipText("Registrar nuevo usuario");
reset = new JButton("Borrar campos"); frmIngresoDeDatos.getContentPane().add(reset); reset.setBounds(520, 100, 140, 30); reset.setToolTipText("Borra todos los datos en los campos");
//:Agregado de un ActionListener a cada boton //a cada boton se le agrega un ActionListener, un objeto que "escucha" lo que se hace y realiza acciones en funcion de esto
manejo_Eventos pBoton = new manejo_Eventos(); //aqui se crea el objeto de tipo manejo_Eventos y se referencia con pBoton
reg.addActionListener(pBoton); //se agrega el objeto ActionListener a cada boton, este los verificara para detectar si se presionan o no reset.addActionListener(pBoton);
//:JScrollPane //En este segmento se crea un scrollpane (un contenedor que con controles deslizables) y se agrega a la ventana
JScrollPane scrollPane = new JScrollPane(); //Se crea el objeto JScrollPane scrollPane.setBounds(32, 229, 640, 269); //Se especifica su posicion (X, Y) asi como su ancho y alto frmIngresoDeDatos.getContentPane().add(scrollPane); //Se agrega el panel a panel de contenidos (ventana)
//:Tabla //A continuacion se crea el objeto de tipo table y se aaden sus parametros
tabla_Datos = new JTable(); //se crea y asigna un objeto de tipo JTable a la variable de referencia tabla_Datos tabla_Datos.setToolTipText("Datos de Personas Registradas"); //mensaje a mostrar cuando se coloca el cursor sobre la tabla
//:DefaultTableModel //Procedemos a crear la configuracion para el DefaultTableModel que controlara la tabla, sus dimensiones y contenido
String [] nombre_columnas = new String[] {"N\u00B0", "Nombre", "Apellido", "Cedula", "A\u00F1o de N.", "Telefono", "Email"}; Object [][] filas = new Object[][] {
{null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, {null, null, null, null, null, null, null}, };
tabla_Datos.getColumnModel().getColumn(0).setResizable(true); //Aqui se establece si las tablas pueden o no ser redimensionadas directamente por el usuario
tabla_Datos.getColumnModel().getColumn(0).setPreferredWidth(30); //se establece el tamao preferido para la tabla tabla_Datos.getColumnModel().getColumn(1).setResizable(true); tabla_Datos.getColumnModel().getColumn(2).setResizable(true); tabla_Datos.getColumnModel().getColumn(3).setResizable(true); tabla_Datos.getColumnModel().getColumn(4).setResizable(true); tabla_Datos.getColumnModel().getColumn(5).setResizable(true); tabla_Datos.getColumnModel().getColumn(6).setResizable(true);
scrollPane.setViewportView(tabla_Datos); }
errorMensajes control = new errorMensajes(); //:A continuacion se encuentra el evento ActionEvent el cual toma como variable de referencia "e"
else if (e.getSource() == reset){ nombre_textArea.setText(null); //se borra el texto (de haberlo) en el campo ci_textArea.setText(null); apellido_textArea.setText(null); email_textArea.setText(null); aNacimiento_textArea.setText(null); tel_textArea.setText(null); }
} }