0% encontró este documento útil (0 votos)
86 vistas

Program 3

Este documento describe una clase Java que permite registrar clientes mediante una interfaz gráfica. La clase ICliente crea un diálogo con campos para capturar datos del cliente como nombre, apellido, RFC, etc. Incluye métodos para dibujar la interfaz, validar los campos y cerrar el diálogo al presionar los botones OK o Cancelar.

Cargado por

leo_celis
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
86 vistas

Program 3

Este documento describe una clase Java que permite registrar clientes mediante una interfaz gráfica. La clase ICliente crea un diálogo con campos para capturar datos del cliente como nombre, apellido, RFC, etc. Incluye métodos para dibujar la interfaz, validar los campos y cerrar el diálogo al presionar los botones OK o Cancelar.

Cargado por

leo_celis
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

package xxx;

/**
* Permite registrar Clientes.
* Nota: Aun no se implementa el envio de datos via SQL
*
* @author (Rubén Benítez)
* @version (Versión 1.0)
*/
// Ahora incluiremos clases gráficas y de eventos.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
public class ICliente implements ActionListener // AQUI LE DECIOMOS QUE LA CLASE
TRABJA CON TIPOS DE EVENTOS--CUANDO PONEMOS BOTONES DEBEMOS DE PONER ESTO
{
// Variables de clase
private JFrame dialogo; // Para un dialogo ES UNA CALSE-
private JPanel panel;
private JButton buttonOK; // Dos botones
private JButton buttonCancel;
private JTextField numero; // Para la captura de datos DECLARACION DE ATRI
BUTOS
private JTextField nombre;
private JTextField apellido;
private JTextField RFC;
private JTextField telefono;
private JTextField domicilio;
private JTextField colonia;
private JTextField ciudad;
/**
* Constructor de Objetos de la clase ICliente para Nuevos registros
*/
public ICliente()
{
String rotulo= "Registro de Clientes";
dialogo = new JFrame (); // AQUI SE INICIALIZA
dibujarInterfaz(rotulo); // METODO PROPIO-PERMITE PONER CADA UNO DE
LOS CONTROLES
// Centrar dialogo
dialogo.setLocationRelativeTo(null);
// Para cerrar el dialogo
dialogo.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dialogo.dispose();
}
});
// Hacemos visible el dialogo
dialogo.setVisible(true);
}
/**
* Este metodo se encarga de construir la interfaz de usuario
*
* @param none
* @return
*/
public void dibujarInterfaz(String rotulo)
{
// Configuramos los componentes gráficos
dialogo.setSize(600, 280); //LOS NUMEROS SON LOS PIXELES,PARA EL TAMAÑO D
ELA VENTANA
dialogo.setTitle(rotulo);
// Se inicializa un contenedor de controles
panel = new JPanel();
panel.setLayout(null); // LE DECIMOS AL PANEL COMO QUERENMOS ACOMODAR
LOS CONTROLES--EL NULL ESPORQUE TU ORDENAS
JLabel etiquetaID = new JLabel("ID ");
etiquetaID.setBounds(20, 10, 30, 24);
// etiquetaID.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
panel.add(etiquetaID); // CON ESTE SE AGREGAN CONPONENTES CREADOSN ALPAN
EL
numero = new JTextField(10); // TEXFIELD ES UN DATO DE TIPO ESPECIFICO
numero.setBounds(80, 10, 130, 24);
panel.add(numero);
JLabel etiquetaNombre = new JLabel("Nombre");
etiquetaNombre.setBounds(20, 50, 60, 24);
panel.add(etiquetaNombre);
nombre = new JTextField(25);
nombre.setBounds(80, 50, 250, 24);
panel.add(nombre);
JLabel etiquetaApellido = new JLabel("Apellido");
etiquetaApellido.setBounds(20, 90, 60, 24);
panel.add(etiquetaApellido);
apellido = new JTextField(25);
apellido.setBounds(80, 90, 250, 24);
panel.add(apellido);
JLabel etiquetaTelefono = new JLabel("Telefono");
etiquetaTelefono.setBounds(380, 90, 60, 24);
panel.add(etiquetaTelefono);
telefono = new JTextField(10);
telefono.setBounds(450, 90, 120, 24);
panel.add(telefono);
JLabel etiquetaRFC = new JLabel("RFC");
etiquetaRFC.setBounds(20, 130, 60, 24);
panel.add(etiquetaRFC);
RFC = new JTextField(10);
RFC.setBounds(80, 130, 120, 24);
panel.add(RFC);
JLabel etiquetaDomicilio = new JLabel("Domicilio ");
etiquetaDomicilio.setBounds(280, 130, 60, 24);
panel.add(etiquetaDomicilio);
domicilio = new JTextField(25);
domicilio.setBounds(360, 130, 220, 24);
panel.add(domicilio);
JLabel etiquetaColonia = new JLabel("Colonia ");
etiquetaColonia.setBounds(20, 170, 60, 24);
panel.add(etiquetaColonia);
colonia = new JTextField(25);
colonia.setBounds(80, 170, 170, 24);
panel.add(colonia);
JLabel etiquetaCiudad = new JLabel("Ciudad");
etiquetaCiudad.setBounds(280, 170, 60, 24);
panel.add(etiquetaCiudad);
ciudad = new JTextField(25);
ciudad.setBounds(360, 170, 220, 24);
panel.add(ciudad);
// Creamos dos botones
buttonOK = new JButton("OK");
buttonOK.setBounds(360, 210, 100, 24);
buttonCancel = new JButton("Cancelar");
buttonCancel.setBounds(470, 210, 100, 24);
// Se les provee de posibilidad de evento a los botones
buttonOK.addActionListener(this); //AQUI LES AGREGAS LA ACCION A LOS B
OTONES
buttonCancel.addActionListener(this);
panel.add(buttonOK);
panel.add(buttonCancel);
dialogo.add(panel); //Aqui le decimos qeumetan el panel en lel frame
// No se puede redimensionar el frame
dialogo.setResizable(false); //aqui le decimos que no ce puede redie
mensionar
}

/**
* Permite atender un evento genérico (En los botones).
*
* En este caso se establece una acción a realizar cuando se pulsa el botón OK y
Cancel.
*
*
* @param El evento que invocó a este método
* @return Nada
*/
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == buttonCancel)
dialogo.dispose();
// Si el componente que invocó fue buttonOK
if (e.getSource() == buttonOK)
{
// validamos el ID del cliente
if (numero.getText().length() == 0)
{
JOptionPane.showMessageDialog(dialogo,"No se capturó el ID");
numero.requestFocus();
return;
}
// validamos el nombre del cliente
if (nombre.getText().length() == 0)
{
JOptionPane.showMessageDialog(dialogo,"No se capturó el nombre");
nombre.requestFocus();
return;
}
if (apellido.getText().length() == 0)
{
JOptionPane.showMessageDialog(dialogo,"No se capturó el apellido"
);
apellido.requestFocus();
return;
}
if (RFC.getText().length() == 0)
{
JOptionPane.showMessageDialog(dialogo,"No se capturó el RFC");
RFC.requestFocus();
return;
}
if (domicilio.getText().length() == 0)
{
JOptionPane.showMessageDialog(dialogo,"No se capturó el domici
lio");
domicilio.requestFocus();
return;
}
if (colonia.getText().length() == 0)
{
JOptionPane.showMessageDialog(dialogo,"No se capturó la coloni
a");
colonia.requestFocus();
return;
}
if (ciudad.getText().length() == 0)
{
JOptionPane.showMessageDialog(dialogo,"No se capturó la ciudad
");
ciudad.requestFocus();
return;
}
// Se pasan los valores de los JTextFields al metodo establecerDato
s de la clase Cliente.
// emp.establecerDatos(nombre.getText(), apellido.getText(), RFC.ge
tText(), domicilio.getText(),
// colonia.getText(), localidad.getText(), nip.g
etText(), tipo.getText());
// Se envian los datos a la base de datos (Metodo todavia no implem
entado)
// emp.Guardar())
dialogo.dispose(); // Cierra el dialogo
} // fin de (e.getSource() == buttonOK)
} // fin del método actionPerformed
} // de la clase ICliente

También podría gustarte