import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import javax.swing.JFrame;
import javax.swing.JOptionPane;public class KeyBoardListener extends JFrame {
    
    public KeyBoardListener() throws FileNotFoundException {
        
        this.setTitle("监听键盘事件");
        this.setSize(800, 600);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
        this.addKeyListener(new KeyAdapter()  {            @Override
            public void keyReleased(KeyEvent e) {
                char ch = e.getKeyChar();
                try {
System.out.println("结果");
                } catch (IOException e1) {
                  JOptionPane.showMessageDialog(null, "出错了");
                }
            }
            
        });
    }
    
    public static void main(String[] args) throws FileNotFoundException {
        new KeyBoardListener();
    }
}类似问题在论坛看了,和我的不一样,我有输入,为何还报错
http://topic.csdn.net/u/20070701/09/52806cb2-1d1b-4db3-af66-94c457474067.html

解决方案 »

  1.   

    我觉得你中间的
     try {
    System.out.println("结果");
      } catch (IOException e1) {
      JOptionPane.showMessageDialog(null, "出错了");
      }
      }
    try{}catch(){}是多余的 这里根本就不需要  直接删除就可以了 你试试看
      

  2.   

    System.out.println("结果");
    这句话根本不可能会出现异常,因为它永远是正确的, java的try{}catch(){},其中try中的代码必须有可能出现异常,这样catch才能捕获异常。
      

  3.   

    try中的语句没有错,所以报不了异常
      

  4.   

    打印语句也报异常?try{}catch(Exception e){}是多余的
    去掉它们,看看~
      

  5.   

    try-catch的用处:
    当你的代码有可能产生异常的时候,就用try-catch包围起来。什么是“有可能”?包括运行时异常,例如除0以及IO异常比如DB操作,文件操作,网络操作等。你的System.out.println()就是2012来了也不会出现异常的。除非java把它的规范改了则另当别论。
      

  6.   

    如大家所言,这个很难出错.我改成经典的
                    }catch(Exception e1)
                    {
                     System.out.println(e1);
                    }就没报错了.
    谢谢大家!