06/03/2011, 17:30
|
| | Fecha de Ingreso: febrero-2011 Ubicación: mexico
Mensajes: 20
Antigüedad: 13 años, 10 meses Puntos: 0 | |
Creando un programa que muestre el RFC hola amigos! nuevamente solicitando su ayuda...en este programa tengo q visualizar el RFC de una persona, pero miren mi codigo hasta el momento lo que he hecho es esto: Cita: import java.awt.event.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
public class POOU1P0005 extends JPanel {
KeyAdapter Validacion= new KeyAdapter(){
public void keyReleased(KeyEvent TeclaObjeto){
int TeclaValor = TeclaObjeto.getKeyCode();
char TeclaCaracter= TeclaObjeto.getKeyChar();
if ((TeclaValor>=65 && TeclaValor<=92)|| (TeclaValor>=92 && TeclaValor<=122)||(TeclaValor==32|| TeclaValor ==46)|| TeclaValor== KeyEvent.VK_BACK_SPACE){
JTextField textField= (JTextField) TeclaObjeto.getSource();
String text = textField.getText();
textField.setText(text.toUpperCase());
}else
if(TeclaValor == KeyEvent.VK_ENTER)
((JTextField)TeclaObjeto.getSource()).transferFocu s();
else{
JTextField textField=(JTextField) TeclaObjeto.getSource();
String text= textField.getText();
textField.setText(text.substring(0,text.length()-1));
}
}
};
KeyAdapter Validaaz= new KeyAdapter(){
public void keyTyped(KeyEvent Tecla){
char Caracter = Tecla.getKeyChar();
if(((Caracter<'a') || (Caracter>'z'))&&((Caracter<'A')||(Caracter>'Z'))& &(Caracter!=KeyEvent.VK_BACK_SPACE)&&(Caracter!=Ke yEvent.VK_SPACE)&&(Caracter!=KeyEvent.VK_ENTER)){
Tecla.consume();
JOptionPane.showMessageDialog(null,"Caracter incorrecto "+Caracter,"Mensaje error",JOptionPane.INFORMATION_MESSAGE);
}
}
};
JTextField JTCampoTexto;
Font FTipoLetrasSimple,FTipoLetraNegrita,FTipoLetraCurs iva,FTipoLetraNegritaCursiva;
JRadioButton JRBBotonSimple,JRBBotonNegrita,JRBBotonCursiva,JRB BotonNegritaCursiva;
ButtonGroup BGGrupoBotonesOpcion;
class ManejadorJRBBotonOpcion implements ItemListener{
private Font FTipodeLetra;
public ManejadorJRBBotonOpcion( Font TipoLetra ){
FTipodeLetra= TipoLetra;
}
public void itemStateChanged(ItemEvent evento){
JTCampoTexto.setFont( FTipodeLetra );
}
}
public POOU1P0005(){
setLayout(null); //Inicializa el manejador de contenedor del JPanel
JTCampoTexto= new JTextField("",30);
JTCampoTexto.setBounds(new Rectangle(100,250,250,30));
add(JTCampoTexto);
JRBBotonSimple= new JRadioButton("simple",true);
JRBBotonSimple.setBounds(new Rectangle(50,280,75,25));
add(JRBBotonSimple);
JRBBotonNegrita= new JRadioButton("Negrita",true);
JRBBotonNegrita.setBounds(new Rectangle(125,280,75,25));
add(JRBBotonNegrita);
JRBBotonCursiva= new JRadioButton("Cursiva",true);
JRBBotonCursiva.setBounds(new Rectangle(200,280,75,25));
add(JRBBotonCursiva);
JRBBotonNegritaCursiva= new JRadioButton("Negrita/Cursiva",true);
JRBBotonNegritaCursiva.setBounds(new Rectangle(280,280,120,25));
add(JRBBotonNegritaCursiva);
BGGrupoBotonesOpcion= new ButtonGroup();
BGGrupoBotonesOpcion.add( JRBBotonSimple );
BGGrupoBotonesOpcion.add( JRBBotonNegrita );
BGGrupoBotonesOpcion.add( JRBBotonCursiva );
BGGrupoBotonesOpcion.add( JRBBotonNegritaCursiva);
FTipoLetrasSimple= new Font( "Serif", Font.PLAIN,14 );
FTipoLetraNegrita= new Font("Serif", Font.BOLD,14);
FTipoLetraCursiva= new Font( "Serif", Font.ITALIC,14);
FTipoLetraNegritaCursiva= new Font( "Serif",Font.BOLD+ Font.ITALIC,14);
JTCampoTexto.setFont(FTipoLetrasSimple );
JRBBotonSimple.addItemListener( new ManejadorJRBBotonOpcion(FTipoLetrasSimple));
JRBBotonNegrita.addItemListener(new ManejadorJRBBotonOpcion(FTipoLetraNegrita));
JRBBotonCursiva.addItemListener(new ManejadorJRBBotonOpcion(FTipoLetraCursiva));
JRBBotonNegritaCursiva.addItemListener(new ManejadorJRBBotonOpcion(FTipoLetraNegritaCursiva)) ;
JTextField JTApellidoPaterno= new JTextField();
JTApellidoPaterno.setBounds(new Rectangle(135,10,230,30));
add(JTApellidoPaterno);
JTApellidoPaterno.addKeyListener(Validacion);
JTApellidoPaterno.addKeyListener(Validaaz);
JTextField JTApellidoMaterno= new JTextField();
JTApellidoMaterno.setBounds(new Rectangle(135,50,230,30));
add(JTApellidoMaterno);
JTApellidoMaterno.addKeyListener(Validacion);
JTApellidoMaterno.addKeyListener(Validaaz);
JTextField JTNombre= new JTextField();
JTNombre.setBounds(new Rectangle(135,90,230,30));
add(JTNombre);
JTNombre.addKeyListener(Validacion);
JTNombre.addKeyListener(Validaaz);
JTextField JTFechaNacimiento= new JTextField();
JTFechaNacimiento.setBounds(new Rectangle(135,130,230,30));
add(JTFechaNacimiento);
JLabel JLEFechaNacimiento= new JLabel("Ejemplo: 01/01/1991", SwingConstants.LEFT);
JLEFechaNacimiento.setBounds(new Rectangle(135,160,200,25));
add(JLEFechaNacimiento);
JLabel JLApellidoPaterno = new JLabel ("Apellido Paterno", SwingConstants.RIGHT);
JLApellidoPaterno.setBounds(new Rectangle (10,10,120,25));
add(JLApellidoPaterno);
JLabel JLApellidoMaterno= new JLabel("Apellido Materno",SwingConstants.RIGHT);
JLApellidoMaterno.setBounds(new Rectangle(10,50,120,25));
add(JLApellidoMaterno);
JLabel JLNombre= new JLabel("Nombre",SwingConstants.RIGHT);
JLNombre.setBounds(new Rectangle(10,90,110,25));
add(JLNombre);
JLabel JLFechaNacimiento = new JLabel("Fecha de Nacimiento", SwingConstants.LEFT);
JLFechaNacimiento.setBounds(new Rectangle(10,130,120,25));
add(JLFechaNacimiento);
JButton JBProceso= new JButton("CALCULAR RFC");
JBProceso.setBounds(new Rectangle(150,190,150,25));
add(JBProceso);
}
public static void main(String []args){
JFrame Ventana= new JFrame("Calcular RFC");
Ventana.setDefaultCloseOperation(Ventana.EXIT_ON_C LOSE);
Ventana.getContentPane().add(new POOU1P0005(), BorderLayout.CENTER);
Ventana.setSize(500,400);
Ventana.setLocationRelativeTo(null);
Ventana.setVisible(true);
}
} que los campos de texto acepten unicamente letras y las convierta a mayusculas,excepto la ultima que es fecha de nacimiento que es la que me falta validar pero no se como...
entonces lo que me falta seria:
---extraer caracteres para formar el RFC,(la primera letra y la primera vocal del apellido paterno y la primera letra del apellido materno, la primera letra del nombre o nombres... fecha de nacimientos)
-----al precionar el boton" Calcular RFC" mande la informacion al campo de abajo como en la imagen
por favor! necesito de su ayuda es un proyecto que tengo...y como soy novato necesito orientacion...de antemano gracias!! |