import java.awt.Frame;
import java.awt.TextArea;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;public class KeyEventDemo implements KeyListener {public KeyEventDemo(){
}public void keyPressed(KeyEvent arg0)  {
System.out.println("<--处理keyReleased事件-->");
TextArea area = (TextArea) arg0.getSource();
String s = area.getText().toUpperCase();
area.setText("");
area.append(s);
}public static void main(String[] args)  {
  Frame frame = new Frame("容器");
  frame.setLocation(200,200);
  frame.setSize(300,300);
  
  TextArea area = new TextArea();
  
  area.addKeyListener(new KeyEventDemo());
  frame.add(area);
  frame.setVisible(true);
}
}有何问题?是否要重写KeyListener方法?编译时出现问题拉!

解决方案 »

  1.   

    public class KeyEventDemo implements KeyListener 
    这样写的话,你必须实现KeyListener的三个方法
    void keyTyped(KeyEvent e)
    void keyPressed(KeyEvent e)
    void keyReleased(KeyEvent e)当然你可以空实现的
    public void keyTyped(KeyEvent e){}
    public void keyReleased(KeyEvent e){}
    就行
      

  2.   

    new KeyEventDemo()根本就不是个响应函数嘛。
      

  3.   

    报的问题是:C:\myjava\用户界面>javac KeyEventDemo.java
    KeyEventDemo.java:7: KeyEventDemo is not abstract and does not override abstract
     method keyReleased(java.awt.event.KeyEvent) in java.awt.event.KeyListener
    public class KeyEventDemo implements KeyListener {
           ^
    1 error