先感谢大家的帮助啊
但是我按下了键盘却没有反应,请问怎么解决?谢谢啦啊
这个是MyTestField类,继承了MyTextField类package test;
import java.awt.*;
import java.beans.*;
import java.awt.event.*;
import java.util.*;
public class MyTextField extends TextField{private String showText;
private transient Vector keyListeners;
public MyTextField(MainFrame frame){
  this.addKeyListener(frame);
}
public String getShowText() {
  return showText;
}
public void setShowText(String newShowText) {
  this.showText = newShowText;
  this.setText(this.showText); 
}public synchronized void removeKeyListener(KeyListener l){
  super.removeKeyListener(l);
  if(keyListeners!=null&&keyListeners.contains(l)){
   Vector v = (Vector)keyListeners.clone();
   v.removeElement(l);
   keyListeners = v;
  }
}public synchronized void addKeyListener(KeyListener l){
  super.removeKeyListener(l);
  Vector v =(keyListeners==null ? new Vector(2) : (Vector)keyListeners.clone());
  if(!v.contains(l)){
   v.addElement(l);
   keyListeners = v;
  }
}protected void fireKeyTyped(KeyEvent e){
  if(keyListeners!=null){
   Vector l = keyListeners;
   int count = l.size();
   for(int i=0;i<count;i++){
    ((KeyListener)l.elementAt(i)).keyTyped(e);
   }
  }
}protected void fireKeyPressed(KeyEvent e){
  if(keyListeners!=null){
   Vector l = keyListeners;
   int count = l.size();
   for(int i=0;i<count;i++){
    ((KeyListener)l.elementAt(i)).keyPressed(e);
   }
  }
}protected void fireKeyReleased(KeyEvent e){
  if(keyListeners!=null){
   Vector l = keyListeners;
   int count = l.size();
   for(int i=0;i<count;i++){
    ((KeyListener)l.elementAt(i)).keyReleased(e);
   }
  }
}
}这个是MainFrame类,实现了MyTextField类package test;import java.awt.*;
import java.awt.event.*;
import java.beans.*;
import java.util.*;public class MainFrame extends Frame implements KeyListener{MyTextField textBean = new MyTextField(this);
Label label = new Label("OK");public MainFrame(){
init();
}private void init(){
this.setTitle("JavaBean实例");
this.setSize(267,129);
this.setLayout(new GridLayout(2,1));
textBean.addKeyListener(this);
this.add(textBean);
this.add(label);
}@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println("keyPressed");
char c = e.getKeyChar();
label.setText("您的按键弹出来了!");
}@Override
public void keyReleased(KeyEvent e) {
System.out.println("keyRelease");
// TODO Auto-generated method stub
char c = e.getKeyChar();
label.setText("您敲入的字母:"+c);
}@Override
public void keyTyped(KeyEvent e) {
System.out.println("keyTyped!");
// TODO Auto-generated method stub
char c = e.getKeyChar();
label.setText("您按键了!");
}public static void main(String[] args){
MainFrame frame = new MainFrame();
frame.setLocation(250,130);
frame.setSize(250,130);
frame.setVisible(true);
}}

解决方案 »

  1.   

    你的事件有错误 
      this.addKeyListener(new KeyAdapter()  {            @Override
                public void keyReleased(KeyEvent e) {
                    char ch = e.getKeyChar();
                    try {
                        System.out.println(“结果");
                    } catch (IOException e1) {
                        JOptionPane.showMessageDialog(null, "出错了");
                    }
                }
                
            });
      

  2.   

    实现这个
    javax.swing.event 
    接口 DocumentListener
    的方法即可
      

  3.   

    看不懂标题么~
    给TextFiled添加个KeyListener
    我自己实现的MYTextField和MyMainFrame
    在MyMainFrame里添加了MyTextField,Label,TextArea