como deshabilitar cajas de texto en keyListener

Andrea Quintana Galaviz
31 de Mayo del 2013
aqui esta el codigo lo malo es que al declarar KeyListener java me dice que tengo que crear acciones heredadas de esta funcion (keyPressed, KeyTyped y KeyReleased

Andrea Quintana Galaviz
31 de Mayo del 2013
aqui esta el codigo
lo de key released esta casi abajo

porfavor nececito que me ayuden



import java.awt.*;
import java.awt.event.*;
import java.io.*;


public class menus implements ActionListener, ItemListener, KeyListener{
int x, total=0, suma, otro, añoo, residuo, extra,w;
List lista,lista2;
Frame ventana;
File f;
String ract,rnom,rape;
int c=0,l=0,tl=0;
String a, b;
Dialog mensaje;
Panel p1, p2, p3,p4;
CardLayout pestaña;
MenuBar barramenu;
Menu archivo, ayuda ;
MenuItem nuevo, reportes, salir, acercade, vacio;
Label informa, nom, ape, correo, confirmarcorreo, importante, perfil,
importante2, fecha, año, sexo, pais, ciudad, num, importante3, comoskype,
nomusuario, contraseña,importante5, repetircontraseña, importante4, caracteres, idioma,nom1,nom2,nom3;
Button ok, baceptar,bbuscar;
TextField ctciudad, ctnom, ctape, ctnum, ctcorreo, ctconfirmarcorreo,
ctnomusuario, ctcontraseña, ctrepetircontraseña, ctaño;
Choice lddia, ldmes, ldsexo, ldpais, ldidioma, ldnum, ldcomoskype;

public void mostrar(){
ventana=new Frame("Opciones");
ventana.setBounds(1,1,1260,760);
ventana.setResizable(false);
pestaña=new CardLayout();
ventana.setLayout(pestaña);
p1=new Panel();
p1.setLayout(null);
p3=new Panel();
p3.setLayout(null);
p2=new Panel();
p2.setLayout(null);
p4=new Panel();
p4.setLayout(null);
nom=new Label("Nombre*");
nom.setFont(new Font("Arial",1,12));
nom.setBounds(20,0,80,30);
nom1=new Label("Berenice Rivera C.");
nom1.setFont(new Font("Comic Sans MS",1,20));
nom1.setBounds(20,30,300,50);
nom2=new Label("Judith Campos N.");
nom2.setFont(new Font("Comic Sans MS",1,20));
nom2.setBounds(20,80,300,50);
nom3=new Label("Andrea Quintana G.");
nom3.setFont(new Font("Comic Sans MS",1,20));
nom3.setBounds(20,130,300,50);
ape=new Label("Apellido");
ape.setFont(new Font("Arial",1,12));
ape.setBounds(250,0,80,30);
ctnom=new TextField();
ctnom.setBounds(20,30,200,30);
ctnom.setVisible(true);
ctnom.addActionListener(this);
ctape=new TextField();
ctape.setBounds(250,30,200,30);
ctape.setVisible(true);
ctape.addActionListener(this);
correo=new Label("Tu direccion de correo electrónico*");
correo.setBounds(20,60,200,30);
correo.setFont(new Font("Arial",1,12));
ctcorreo=new TextField();
ctcorreo.setBounds(20,90,200,30);
ctcorreo.setVisible(true);
ctcorreo.addActionListener(this);



confirmarcorreo=new Label("Repite la dirección de e-mail*");
confirmarcorreo.setFont(new Font("Arial",1,12));
confirmarcorreo.setBounds(250,60,200,30);
ctconfirmarcorreo=new TextField();
ctconfirmarcorreo.setBounds(250,90,200,30);
ctconfirmarcorreo.setVisible(true);
ctconfirmarcorreo.addActionListener(this);
ctconfirmarcorreo.setEnabled(true);
ctconfirmarcorreo.addKeyListener(this);



importante=new Label("Importante: Nadie puede ver tu direccion de correo electrónico.");
importante.setBounds(20,120,300,30);
importante.setFont(new Font("Arial",1,10));
importante.setForeground(Color.pink);
perfil=new Label("Informacion de perfil");
perfil.setBounds(20,150,200,30);
perfil.setFont(new Font("Arial",1,16));
importante2=new Label("Importante: Cualquier persona en Skype puede ver la información de tu perfil.");
importante2.setFont(new Font("Arial",1,10));
importante2.setForeground(Color.pink);
importante2.setBounds(20,180,400,30);
fecha=new Label("Fecha de nacimiento");
fecha.setBounds(20,210,130,30);
fecha.setFont(new Font("Arial",1,12));
lddia=new Choice();
lddia.add("Dia");
lddia.setBounds(150,210,70,30);
lddia.addItemListener(this);
ldmes=new Choice();
ldmes.setBounds(250,210,150,30);
ldmes.addItemListener(this);
ldmes.add("Mes");
ldmes.add("Enero");
ldmes.add("Febrero");
ldmes.add("Marzo");
ldmes.add("Abril");
ldmes.add("Mayo");
ldmes.add("Junio");
ldmes.add("Julio");
ldmes.add("Agosto");
ldmes.add("Septiembre");
ldmes.add("Octubre");
ldmes.add("Noviembre");
ldmes.add("Diciembre");

año=new Label("Año");
año.setBounds(410,210,50,30);
año.setFont(new Font("Arial",1,12));
ctaño=new TextField();
ctaño.setBounds(470,210,50,30);
ctaño.setVisible(true);
ctaño.addActionListener(this);
ctnum=new TextField();
ctnum.setBounds(180,390,150,30);
ctnum.addActionListener(this);

sexo=new Label("Sexo");
sexo.setBounds(20,240,50,30);
sexo.setFont(new Font("Arial",1,12));
ldsexo=new Choice();
ldsexo.setBounds(150,240,100,30);
ldsexo.add("Seleccionar");
ldsexo.add("Hombre");
ldsexo.add("Mujer");
pais=new Label("Pais/Región*");
pais.setBounds(20,270,100,30);
pais.setFont(new Font("Arial",1,12));
ldpais=new Choice();
ldpais.setBounds(150,270,200,30);
ldpais.add("Seleccionar");
ldpais.add("México");
ldpais.add("Estados Unidos");
ldpais.add("Canadá");
ldpais.add("Alaska");
ciudad=new Label("Ciudad");
ciudad.setBounds(20,300,50,30);
ciudad.setFont(new Font("Arial",1,12));
ctciudad=new TextField();
ctciudad.setBounds(120,300,100,20);
ctciudad.setVisible(true);
ctciudad.addActionListener(this);
idioma=new Label("Idioma");
idioma.setBounds(20,330,50,30);
idioma.setFont(new Font("Arial",1,12));
ldidioma=new Choice();
ldidioma.setBounds(150,330,150,30);
ldidioma.add("Seleccionar");
ldidioma.add("Alemán");
ldidioma.add("Español latino");
ldidioma.add("Inglés");
num=new Label("Número de teléfono móvil");
num.setBounds(20,360,150,30);
num.setFont(new Font("Arial",1,12));
ldnum=new Choice();
ldnum.setBounds(20,390,150,30);
ldnum.add("Seleccionar");
ldnum.add("Canada(+1)");
ldnum.add("Estados Unidos(+01)");
ldnum.add("Mexico(+52)");
importante3=new Label("Importante: Solo tus contactos pueden ver tu número de teléfono móvil.");
importante3.setBounds(20,410,400,30);
importante3.setForeground(Color.pink);
importante3.setFont(new Font("Arial",1,10));
comoskype=new Label("¿Cómo planeas usar Skype?");
comoskype.setBounds(20,430,150,30);
comoskype.setFont(new Font("Arial",1,12));
ldcomoskype=new Choice();
ldcomoskype.add("Seleccionar");
ldcomoskype.add("Principalmente para conversaciones personales");
ldcomoskype.add("Principalmente pera conversaciones empresariales");
ldcomoskype.setBounds(20,460,100,30);
nomusuario=new Label("Nombre del usuario*");
nomusuario.setBounds(20,490,150,30);
nomusuario.setFont(new Font("Arial",1,12));
ctnomusuario=new TextField();
ctnomusuario.setBounds(20,520,200,30);
ctnomusuario.setVisible(true);
ctnomusuario.addActionListener(this);
importante4=new Label("Importante: Debes elegir un nombre que tengas derecho a usar.");
importante4.setBounds(20,540,500,30);
importante4.setForeground(Color.pink);
importante4.setFont(new Font("Arial",1,9));
contraseña=new Label("Contraseña*");
contraseña.setBounds(20,570,100,30);
contraseña.setFont(new Font("Arial",1,12));
ctcontraseña=new TextField();
ctcontraseña.setBounds(20,600,200,20);
ctcontraseña.setVisible(true);
ctcontraseña.addActionListener(this);
ctcontraseña.setEchoChar('*');
repetircontraseña=new Label("Repetir contraseña*");
repetircontraseña.setBounds(250,570,150,30);
repetircontraseña.setFont(new Font("Arial",1,12));
ctrepetircontraseña=new TextField();
ctrepetircontraseña.setBounds(250,600,200,20);
ctrepetircontraseña.setVisible(true);
ctrepetircontraseña.addActionListener(this);
ctrepetircontraseña.setEchoChar('*');
ctrepetircontraseña.setEnabled(true);
ctrepetircontraseña.addKeyListener(this);


importante5=new Label("Entre 6 y 20 caracteres, incluidos números y letras latinas. Importante: Nadie más puede ver tu contraseña.");
importante5.setFont(new Font("Arial",1,9));
importante5.setForeground(Color.pink);
importante5.setBounds(20,620,550,30);
baceptar=new Button("Aceptar");
baceptar.addActionListener(this);
baceptar.setBounds(20,660,70,40);
bbuscar=new Button("Buscar");
bbuscar.addActionListener(this);
bbuscar.setBounds(60,300,50,30);
lista=new List();
lista.setBounds(20,30,300,200);
p2.add(ctnum);
p2.add(baceptar);
p2.add(nom);
p2.add(ape);
p2.add(ctnom);
p2.add(ctape);
p2.add(correo);
p2.add(ctcorreo);
p2.add(confirmarcorreo);
p2.add(ctconfirmarcorreo);
p2.add(importante);
p2.add(perfil);
p2.add(importante2);
p2.add(fecha);
p2.add(lddia);
p2.add(ldmes);
p2.add(año);
p2.add(ctaño);
p2.add(sexo);
p2.add(ldsexo);
p2.add(pais);
p2.add(ldpais);
p2.add(ciudad);
p2.add(ctciudad);
p2.add(idioma);
p2.add(ldidioma);
p2.add(num);
p2.add(ldnum);
p2.add(importante3);
p2.add(comoskype);
p2.add(ldcomoskype);
p2.add(nomusuario);
p2.add(ctnomusuario);
p2.add(importante4);
p2.add(contraseña);
p2.add(ctcontraseña);
p2.add(repetircontraseña);
p2.add(ctrepetircontraseña);
p2.add(importante5);

p3.add(bbuscar);
p3.add(lista);

p4.add(nom1);
p4.add(nom2);
p4.add(nom3);

ventana.add("vacio",p1);
ventana.add("nuevo",p2);
ventana.add("reportes",p3);

ventana.add("acercade",p4);

barramenu=new MenuBar();
archivo=new Menu("Archivo");

nuevo=new MenuItem("Nuevo");
nuevo.addActionListener(this);

reportes=new MenuItem("Reportes");
reportes.addActionListener(this);
salir=new MenuItem("Salir");
salir.addActionListener(this);




barramenu=new MenuBar();
ayuda=new Menu("Ayuda");

acercade=new MenuItem("Acerca de");
acercade.addActionListener(this);

archivo.add(nuevo);
archivo.add(reportes);
archivo.add(salir);

barramenu.add(archivo);

ayuda.add(acercade);

barramenu.add(ayuda);

ventana.setMenuBar(barramenu);

mensaje=new Dialog(ventana,"Advertencia",true);
mensaje.setBounds(300,300,300,150);
mensaje.setResizable(false);
mensaje.setLayout(null);

informa=new Label();
informa.setBounds(20,50,150,30);

ok=new Button("ok");
ok.setBounds(50,100,80,30);
ok.addActionListener(this);
ok.setVisible(true);
mensaje.add(informa);
mensaje.add(ok);

ventana.setVisible(true);


}//mostrar



public void actionPerformed(ActionEvent ch){
Object chisme=ch.getActionCommand();
if(chisme=="ok")
mensaje.dispose();
else if(chisme=="Nuevo")
pestaña.show(ventana,"nuevo");
else if(chisme=="Salir")
ventana.dispose();
if (chisme=="Reportes")
pestaña.show(ventana,"reportes");
if(chisme=="Acerca de")
pestaña.show(ventana,"acercade");

if(chisme=="Aceptar"){
if(ctnom.getText().isEmpty()){
informa.setText("Escribe el nombre");
mensaje.setVisible(true);
if(chisme=="Aceptar"){
try{
f=new File("c:/Datos.txt");
FileWriter w=new FileWriter(f,true);
BufferedWriter bw = new BufferedWriter(w);
PrintWriter pw = new PrintWriter(bw);
pw.write(ctnom.getText()+"rn");
pw.append(ctape.getText()+"rn");

pw.append(ctciudad.getText()+"rn");
pw.append(ctaño.getText()+"rn");
pw.append(ctnomusuario.getText()+"rn");
pw.append(ctcontraseña.getText()+"rn");
pw.append(ctnum.getText()+"rn");
pw.append(ctcorreo.getText()+"rn");
pw.append(ctrepetircontraseña.getText()+"rn");
pw.append(ctaño.getText()+"rn");
pw.append(ldsexo.getSelectedItem()+"rn");
pw.append(lddia.getSelectedItem()+"rn");
pw.append(ldmes.getSelectedItem()+"rn");
pw.append(ldidioma.getSelectedItem()+"rn");
pw.append(ldpais.getSelectedItem()+"rn");
pw.append(ldnum.getSelectedItem()+"rn");
pw.append(ldcomoskype.getSelectedItem()+"rn");

pw.close();
bw.close();
}catch(IOException e){};
ctnom.setText("");
ctape.setText("");
ctcorreo.setText("");
ctconfirmarcorreo.setText("");
ctaño.setText("");
ctciudad.setText("");
ctnum.setText("");
ctnomusuario.setText("");
ctcontraseña.setText("");
ctrepetircontraseña.setText("");

} else if (chisme=="Buuscar"){
lista.removeAll();
try{
f = new File("c:/Datos.txt");
FileReader fr=new FileReader(f);
BufferedReader br=new BufferedReader(fr);
while((ract=br.readLine())!=null){
c=c+1;
switch(c){
case 1: rnom=ract;
break;
case 2: rape=ract;
break;
case 3:
lista.add(rnom+" "+rape+" "+ract);
c=0;
break;
}

}
fr.close();
br.close();
}catch(IOException e){};
}

}else if(ctape.getText().isEmpty()){
informa.setText("Escribe el apellido");
mensaje.setVisible(true);
}else if(ctcorreo.getText().isEmpty()){
informa.setText("Escribe tu correo");
mensaje.setVisible(true);

}else if(ctconfirmarcorreo.getText().isEmpty()){
informa.setText("Confirma tu correo");
mensaje.setVisible(true);

}else if(ldmes.getSelectedItem().equals("Mes")){
informa.setText("Selecciona un mes");
mensaje.setVisible(true);


}else if(lddia.getSelectedItem().equals("Dia")){
informa.setText("Selecciona un dia");
mensaje.setVisible(true);


}else if(ctaño.getText().isEmpty()){
informa.setText("Escribe el año");
mensaje.setVisible(true);

}else if(ldsexo.getSelectedItem().equals("Seleccionar")){
informa.setText("Selecciona tu sexo");
mensaje.setVisible(true);

}else if(ldpais.getSelectedItem().equals("Seleccionar")){
informa.setText("Selecciona tu país");
mensaje.setVisible(true);



}else if(ctciudad.getText().isEmpty()){
informa.setText("Escribe la ciudad");
mensaje.setVisible(true);

}else if(ldidioma.getSelectedItem().equals("Seleccionar")){
informa.setText("Selecciona tu idioma");
mensaje.setVisible(true);

}else if(ldnum.getSelectedItem().equals("Seleccionar")){
informa.setText("Selecciona tu lada");
mensaje.setVisible(true);

}else if(ctnum.getText().isEmpty()){
informa.setText("Escribe numero telefónico");
mensaje.setVisible(true);

}else if(ldcomoskype.getSelectedItem().equals("Seleccionar")){
informa.setText("Selecciona una opcion");
mensaje.setVisible(true);

}else if(ctnomusuario.getText().isEmpty()){
informa.setText("Escribe tu usuario");
mensaje.setVisible(true);

}else if(ctcontraseña.getText().isEmpty()){
informa.setText("Escribe tu contraseña");
mensaje.setVisible(true);

}else if(ctrepetircontraseña.getText().isEmpty()){
informa.setText("Confirma tu contraseña");
mensaje.setVisible(true);

}else if(chisme=="Buscar"){
total=lista.getItemCount();

}if(ctcontraseña.getText().equals(ctrepetircontraseña.getText())){
informa.setText("");
mensaje.setVisible(false);
}else{
informa.setText("Esta mal");
mensaje.setVisible(true);
}
total=lista.getItemCount();

for(x=1;x