菜单有个方法是setAccelerator是CTRL+字母做为快捷键的
但是只有menu和menuitem可以用这个方法至于BUTTON我找到setMnemonic的方法
button.setMnemonic(KeyEvent.VK_C);可以设置成ALT加字母但是客户需求是设置为CTRL+字母,找了很多资料没找到。。 
而且客户说以前其他开发人员提供这个功能的(不过不知道是否是JAVA语言)
所以再此确认下..   急..

解决方案 »

  1.   

    Swing的扩展性设计的很好,所以一般来说,没有做不到滴~(除非与平台密切相关的功能)
      

  2.   

    >_<   二楼能不能给个例子..  
    我找到keystroke时候也是KeyEvent.VK_C就直接ALT+C了,跟keystroke还是keypress没关系吧.....  谢谢额..
      

  3.   

    唔,那就给个例子吧,看看是不是楼主想要的效果:
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    /**
    *一个使用KeyStroke自定义快捷键的示例
    *@author: Eastsun
    */
    public class MnemonicT extends JFrame{
        private int count =0;
        private JButton button;
        public MnemonicT(){
            super("Mnemonic Test");
            JPanel panel =new JPanel();
            panel.setPreferredSize(new Dimension(320,240));
            panel.setLayout(new FlowLayout());
            
            button =new JButton(new AbstractAction("ClickTimes:"+count){
                public void actionPerformed(ActionEvent e){
                    button.setText("ClickTimes:"+(++count));
                }
            });
            panel.add(button);
            add(panel);
            
            InputMap im =button.getInputMap(JButton.WHEN_IN_FOCUSED_WINDOW);
            im.put(KeyStroke.getKeyStroke("control A"),"buttonAction");       //按CTRL+A
            button.getActionMap().put("buttonAction",button.getAction());
            pack();
            setDefaultCloseOperation(EXIT_ON_CLOSE);
        }
        public static void main(String[] args){
            SwingUtilities.invokeLater(new Runnable(){
                public void run(){
                    new MnemonicT().setVisible(true);
                }
            });
        }
    }
      

  4.   

    还是InputMap牛额.. 分不多~~  >_<  谢谢了
      

  5.   

    quote: Swing的扩展性设计的很好
    但是阅历不够..  找不到  而且还是突然撞上来的需求  呼~~~
      

  6.   

    啊..  结的太快了..  为什么CTRL+A时候按钮没有变化呢?
    能否留个联系方式 or sth else联系...
      

  7.   

    你看看是不是与你系统某个热键有冲突?
    或者把CTRL+A改成其他的试试.我自己运行是没问题.
      

  8.   

    额..  貌似是我没说清楚,count是在自增,但是按钮没变化...
      

  9.   

    哦?那你想达到什么效果?
    我写的只是个简单的示例.
    你想达到什么效果自己写个相应的Action,然后添加倒actionMap中去不就OK了吗..