java 怎么对一个button设置快捷键 java 怎么对一个button设置快捷键 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用KeyStroke可以实现 ActionListener action=new ActionListener(){ public void actionPerformed(ActionEvent e){ System.out.println("^G has pressed."); } }; KeyStroke ks=KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK,false);//Ctrl+G InputMap map = jButton4.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); map.put(ks,"key");//这个"key"可以是任意字符串,但是不能重复,就好像是Hashtable中的ke -value一样, 而下面actionmap中put进去的action就是它的value; jButton4.getActionMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT) .put("key",action); jframe 窗口失去焦点后,主没有任何作用了...请问怎么可以解决 就像qq一样.....最小化qq后...按住ctrl+alt+z就可弹出来...在java里...就不行了请问怎么实现 /** * 为RootPaneContainer组件添加键盘事件 * @param rpc RootPaneContainer组件 * @param action 需要执行的动作 * @param keyName 键的名称 * @param keyCode 键的数字代码 * @param modifiers 任意修饰符的按位或组合 */ public static void registerKeyEvent(RootPaneContainer rpc, Action action, String keyName, int keyCode, int modifiers) { JRootPane rp = rpc.getRootPane(); InputMap inputMap = rp.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); inputMap.put(KeyStroke.getKeyStroke(keyCode, modifiers), keyName); rp.getActionMap().put(keyName, action); } Action action = new AbstractAction() { public void actionPerformed(ActionEvent e) { System.out.println("Do something..."); } }; registerKeyEvent(jframe, action, "随便什么都行,只要不重复", KeyEvent.VK_S, KeyEvent.CTRL_MASK); 请教一个关于servlet程序的问题??希望高手来解答 【大家一起帮忙找】个人关于J2EE的笔记,原创 菜鸟问题:什么是探针??用途是什么?? JTable某行使用黄色字体,如何实现? 如何获得局域网中机器数目? ArrayList 取不到 long 类型的值 啥问题呀,急 初学Java ,碰到一个不解的问题,请教一下高手,关于classpath SOS!!!! 在java中怎样用键盘操纵控件的移动(不管控件是否拥有焦点)? tomcat 目录 将字节数组转化为16进制的字符串? jdbc 连接sql server 2005问题
ActionListener action=new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("^G has pressed.");
}
};
KeyStroke ks=KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK,false);//Ctrl+G
InputMap map = jButton4.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
map.put(ks,"key");//这个"key"可以是任意字符串,但是不能重复,就好像是Hashtable中的ke -value一样, 而下面actionmap中put进去的action就是它的value; jButton4.getActionMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
.put("key",action);
请问怎么可以解决
/**
* 为RootPaneContainer组件添加键盘事件
* @param rpc RootPaneContainer组件
* @param action 需要执行的动作
* @param keyName 键的名称
* @param keyCode 键的数字代码
* @param modifiers 任意修饰符的按位或组合
*/
public static void registerKeyEvent(RootPaneContainer rpc, Action action, String keyName, int keyCode, int modifiers)
{
JRootPane rp = rpc.getRootPane();
InputMap inputMap = rp.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
inputMap.put(KeyStroke.getKeyStroke(keyCode, modifiers), keyName);
rp.getActionMap().put(keyName, action);
} Action action = new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Do something...");
}
}; registerKeyEvent(jframe, action, "随便什么都行,只要不重复", KeyEvent.VK_S, KeyEvent.CTRL_MASK);