比如:
窗口上两按钮okButton,cancelButton//缺省按钮,响应enter
getRootPane().setDefaultButton(okButton);//写一个关闭事件的Listener
class CloseListener implements ActionListener{
    public void actionPerformed(ActionEvent e){
      dispose();
    }
}
//cancel按钮注册此事件
cancelButton.registerKeyboardAction(closeListener,KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE,0), JComponent.WHEN_IN_FOCUSED_WINDOW);//F1键类似以上处理
//KeyEvent.VK_F1?? HelpListener??
....

解决方案 »

  1.   

    这样写哪不对?
    JFrame f = new JFrame("1111");
    Container contentPane = f.getContentPane();
    f.addKeyListener(this);
    public void keyReleased(KeyEvent e)
        {
         if(e.getKeyCode() == KeyEvent.VK_ESCAPE)
         System.exit(0);
         if(e.getKeyCode() == KeyEvent.VK_ENTER)
        }
      

  2.   

    如果按您的意思的话 是不是我用"tab"键转移焦点的话,那么再按下"enter"键就不是"确定"了呢?
      

  3.   

    最简单也最烦人的做法是把UI上所有可以获得KeyListener的控件全加上侦听,这样百分之百没问题。