关闭

java 全局按键 swing

245人阅读 评论(0) 收藏 举报
分类:
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);

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:24846次
    • 积分:479
    • 等级:
    • 排名:千里之外
    • 原创:23篇
    • 转载:14篇
    • 译文:0篇
    • 评论:0条
    文章分类