java 全局按键 swing
2015-11-19 20:05
405 查看
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按下
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);
@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按下
// 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实现使用url传递paramString和paramStream
- intellij idea 15.01 java: constant string too long
- mybatis-spring最新版下载地址
- Spring 之注解事务 @Transactional
- Spring
- java循环链表实现约瑟夫环问题
- Java实战-山寨QQ
- Java异常处理(二)
- Java学习笔记--堆、栈、常量池
- 创建Java中的Pair类
- 人工鱼群算法java版
- Java中CountDownLatch、CyclicBarrier、Thread.join方法基本应用
- Jersey中Json与Java对象转换处理
- 解决:MyEclipse中SVN更新引起代码冲突导致部署失败
- java题目-1:输入20个学生的成绩,算出算出平均分和低于平均分的人数
- 几种 Java 序列化方案的性能比较
- Java 异常处理机制(一)
- highcharts+java
- 堆栈和队列的java实现
- java调用不在同一目录下的bat