java 全局按键 swing

DefaultKeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() {
@Override
public boolean dispatchKeyEvent(KeyEvent e) {


if (e.getKeyCode() == KeyEvent.VK_F1) {
toolbarPanel.switchLogLevelItem.setVisible(true);   //设置按钮是否可见
toolbarPanel.saveItem.setVisible(true);
toolbarPanel.clearAccItem.setVisible(true);
toolbarPanel.clearBuildItem.setVisible(true);


} else if (e.getKeyCode() == KeyEvent.VK_F2){
toolbarPanel.switchLogLevelItem.setVisible(false);
toolbarPanel.saveItem.setVisible(false);
toolbarPanel.clearAccItem.setVisible(false);
toolbarPanel.clearBuildItem.setVisible(false);

}


// e.getModifiers()==3 表示ctrl+shift同事按下

// e.getModifiers()==1 表示shift按下

// e.getModifiers()==2 表示ctrl按下

System.out.println("e.getID() = " + e.getID());
      System.out.println("e.isControlDown() = " + e.isControlDown());
      System.out.println("e.isShiftDown() = " + e.isShiftDown());
     System.out.println(" e.getKeyCode() = " + e.getKeyCode());

// e.consume();// 是否已经消费了此事件
return e.isConsumed();
}


});


=======================

Toolkit 全局设置

Toolkit toolkit=Toolkit.getDefaultToolkit();


toolkit.addAWTEventListener(new AWTEventListener()
{
@Override
public void eventDispatched(AWTEvent event)
{
if (event.getClass()==KeyEvent.class)
{
KeyEvent e=(KeyEvent)event;
//...
System.out.println("e.getKeyChar()" + e.getKeyChar() + ",e.getKeyCode()"
+ e.getKeyCode() + ",e.getID()" + e.getID());
}
}
},java.awt.AWTEvent.KEY_EVENT_MASK);

阅读更多
个人分类: java
上一篇如何解决卸载McAfee时出现“处于托管模式时无法删除”问题
下一篇File 转换成String--- 按原格式转换
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭