建议:在frame中对keypress消息进行处理,满足条件则调用JButton的actionPerformed事件

解决方案 »

  1.   

    setMnemonic(char mnemonic),setMnemonic(int mnemonic)选一个自己适合的,在加上actionListener就ok了.
      

  2.   

    1、若是设置类似“Ctrl+某键”的快捷键方式,可以直接:
    jButton.setMnemonic(KeyEvent.VK_ENTER);
    这是一种较简单的,快捷键是按Alt+enter回车键。
    这种设置不适合之处就是一定要加上一个Alt键才行2、若是要设置单键为button的快捷键,则需扩展一个ActionListener,具体模式如下:比如设置jBOK按钮快捷键为Enter回车键,jBCancel按钮设置快捷键为取消Esc键,相关代码如下:
      /*//设置快捷键
      class SymListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
          Object obj = e.getSource();
          if (obj == jBOK) {
            jBOK_actionPerformed(e);
          }
          else if (obj == jBCancel) {
            jBCancel_actionPerformed(e);
          }
        }
      }
      //*/
        /*//
        SymListener symListener = new SymListener();
        jBOK.addActionListener(symListener);
        jBCancel.addActionListener(symListener);
        //设置快捷键
        jBOK.registerKeyboardAction(symListener,
          KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0),
            JComponent.WHEN_IN_FOCUSED_WINDOW);
        //确定按钮为回车键"ENTER"    jBCancel.registerKeyboardAction(symListener,
          KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
            JComponent.WHEN_IN_FOCUSED_WINDOW);
        //取消按钮为退出键"Escape"
        //*/当然还有其它的方法,相关参照:
    http://www.csdn.net/expert/topic/774/774090.xml?temp=.5046198
      

  3.   

    button.setMnemonic('a');
    这个按ALT 加 a 就可以即或按钮了
    如果想用CTRL的话你自己写一就可以了
      

  4.   

    alphazhao(绿色咖啡),真是牛啊!
    ======================