`
ulpyuoo
  • 浏览: 6834 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Swing 全局键盘鼠标事件处理

阅读更多

 

AWTEventListener l = new AWTEventListener() {

            public void eventDispatched(AWTEvent event) {
                if (event instanceof MouseEvent) {
                    if (event.getID() != MouseEvent.MOUSE_PRESSED) {
                        return;
                    }
                    if (!(event.getSource() instanceof JTextField || event.getSource() instanceof JComboBox)) {
                        if (frame != null) {
                            frame.setFocusable(true);
                            frame.requestFocus();
                        }
                    }
                }
                if (event instanceof KeyEvent) {
                    if (event.getID() != KeyEvent.KEY_PRESSED) {
                        return;
                    }
                    if (event.getSource() instanceof JTextField || event.getSource() instanceof JComboBox) {
                        return;
                    }
                    keyPressed((KeyEvent)event);
                }
            }
            
        };
        Toolkit tk = Toolkit.getDefaultToolkit();
        tk.addAWTEventListener(l, AWTEvent.KEY_EVENT_MASK);
        tk.addAWTEventListener(l, AWTEvent.MOUSE_EVENT_MASK);
 

 

分享到:
评论

相关推荐

    pyHook+swing

    pyHook是Python的一个库,主要用于在Windows操作系统上全局键盘和鼠标事件的监听。Swing则是Java的一个组件库,用于构建桌面应用程序。 **pyHook**: pyHook是Python中的一个第三方库,它允许开发者捕获系统级的...

    鼠标键盘监听+jar

    `JNativeHook`是一个跨平台的本地钩子库,允许Java应用程序监听全局键盘和鼠标事件,即使焦点不在Java窗口上也能捕获。 `jnativehook`这个文件可能是项目中使用的JNativeHook库的组成部分,它可能包含了库的源代码...

    JAVA swing基本控件实例

    GlassPaneDemoProject.zip`可能会讲解GlassPane的使用,它是窗口的顶层组件,可以用于全局的鼠标和键盘事件处理,或者添加特殊效果。 这些项目提供了深入了解Swing组件特性和用法的机会,通过实践,你不仅可以学习...

    Swing实例下载.rar

    例如,ActionListener用于处理按钮点击,MouseListener和MouseMotionListener用于处理鼠标事件,KeyListener则处理键盘事件。 自定义UI设计是Swing的一大优势,开发者可以创建自己的外观和感觉(LookAndFeel),...

    组件模型与双事件处理线程

    在Java Swing中,GlassPane是一个特殊类型的容器,位于所有其他组件之上,可以用来全局捕获鼠标和键盘事件,或者作为透明覆盖层显示加载指示器或临时遮罩。 总的来说,理解组件模型和双事件处理线程对于构建高性能...

    swing rich client

    JLayer是一个装饰组件,可以用来添加全局的事件处理或可视化效果,比如拖放支持、透明度变化等。GlassPane是窗口顶层的一个透明面板,可以用于全局的鼠标和键盘事件监听,也可以用于在窗口上添加自定义的视觉效果。 ...

    swing demo1

    此外,Swing还支持多种事件类型,如ItemEvent(针对复选框和单选按钮)、KeyEvent(键盘事件)和MouseEvent(鼠标事件)等。 在Swing中,组件的布局管理是非常关键的一部分。Java提供了FlowLayout、BorderLayout、...

    模糊弹出Panel效果

    GlassPane可以捕获所有底层组件的鼠标和键盘事件,因此你需要重写事件处理方法,确保当用户点击或交互时,弹出Panel能正确响应。例如,你可以设置点击任何地方时关闭Panel,或者只关闭在Panel之外的点击。 6. **...

    在Windows下实现Java程序的屏幕鼠标键盘监控.pdf

    在探讨如何在Windows环境下利用Java实现对屏幕、鼠标和键盘的监控之前,我们先要理解Java在处理此类事件上的基本框架以及其局限性。Java通过AWT(Abstract Window Toolkit)和Swing库提供了多种事件监听接口,如...

    java实现的屏幕截取软件

    总的来说,这个“全仿QQ”的Java屏幕截取软件展示了Java在桌面应用开发中的强大能力,涵盖了键盘和鼠标事件处理、图形绘制、文件操作等多个方面的知识点。通过这样的项目,开发者不仅可以提升自己的编程技能,还能...

    java 实现qq截图效果的截图jar,并直接全局热键

    在这个项目中,DLL可能被用来与系统更底层的键盘事件交互,因为Java本身可能无法直接处理全局热键。 7. **运行与调用**: 要运行这个jar文件,你可以使用Java的`java -jar`命令,确保dll文件和jar文件在同一目录下...

    java实现飞机大战纯java窗口代码,使用多线程.zip

    3. **事件处理**: Java Swing提供了一套事件监听机制,用于响应用户的键盘和鼠标操作。例如,使用KeyListener可以监听键盘输入,决定飞机的移动和射击;MouseListener和MouseMotionListener则可以处理鼠标点击和移动...

    记事本-java程序设计报告.doc

    Java的AWT和Swing库提供了事件处理机制,允许开发者注册监听器来响应用户交互,如鼠标点击或键盘输入。 8. **面向对象编程**:整个项目基于面向对象的设计原则,每个功能模块(如日历、记事本)可能被封装为独立的...

    JAVA记事本+源代码

    7. **事件处理**: 包括键盘事件(KeyListeners)和鼠标事件(MouseListener或MouseMotionListener),可能用于实现文本的复制、粘贴、剪切等快捷键功能。 8. **线程处理**: 如果程序需要在后台执行某些任务,比如...

    java坦克大战程序全部素材及源码

    Java中的ActionListener接口和MouseListener接口用于监听用户的键盘和鼠标事件,触发相应游戏逻辑。 4. **多线程**:坦克大战需要同时处理游戏逻辑和图形更新,这通常通过多线程实现。Java的Thread类和Runnable接口...

    Java版坦克大战游戏源码

    另一个可能是用户输入监听线程,负责捕获键盘和鼠标事件。通过多线程,游戏可以在处理用户交互的同时保持流畅的画面更新。 控制坦克移动和射击的部分涉及到事件驱动编程。Java中的`ActionListener`和`KeyListener`...

    通过 Java 获取音频的波形图

    这需要监听用户的鼠标和键盘事件,动态更新绘图区域的内容。 10. **音频分析**:除了波形图,还可以进行更复杂的音频分析,如频率分析(傅里叶变换)、峰值检测等,这些都需要额外的算法和库支持,如JTransform或...

    Java小游戏连连看

    3. **事件处理**:Java中的事件处理涉及监听用户的键盘和鼠标操作。例如,当用户点击游戏中的图标时,程序需要响应并检查是否可以进行消除操作。这需要用到ActionListener接口和MouseListener接口。 4. **多线程**...

    基于Java的写的图片幻灯片切换特效.zip

    - **事件处理**:Java提供了AWT和Swing库,用于处理用户输入事件,如键盘、鼠标点击,用于控制幻灯片的前进和后退。 - **多线程**:为了实现平滑的动画效果,可能使用了Java的`Thread`或者`Runnable`接口来异步...

Global site tag (gtag.js) - Google Analytics