【问题标题】:Java AWT in Windows CE doesn't recognize Key pressed or Key down eventWindows CE 中的 Java AWT 无法识别按下按键或按下按键事件
【发布时间】:2015-02-19 06:06:14
【问题描述】:

我试图在 Windows CE 设备上运行的 AWT 界面中获取“按下键”或“按下键”事件,它只识别键释放事件。 (我不能使用swing,因为jvm不支持swing并且运行Java 1.4)

public class MyView extends Panel implements AWTEventListener
{
    public MyView() {
            super();
        this.requestFocus();
            this.getToolkit().addAWTEventListener(this, AWTEvent.KEY_EVENT_MASK);
    }
    public void eventDispatched(AWTEvent event) {
            System.out.println("Event ID: "+event.getID());
    }
}

(我也尝试过使用 KeyListener)

有人知道为什么会这样吗?

提前致谢

【问题讨论】:

    标签: java awt windows-ce


    【解决方案1】:

    尝试使用普通的KeyListener

    public MyView() {
        super();
        this.requestFocus();
        addKeyListener(new KeyListener() {
    
            @Override
            public void keyTyped(KeyEvent e) {
                System.out.println(e.getKeyChar() + " Typed");
            }
    
            @Override
            public void keyReleased(KeyEvent e) {
                System.out.println(e.getKeyChar() + " Released");
    
            }
    
            @Override
            public void keyPressed(KeyEvent e) {
                System.out.println(e.getKeyChar() + " Pressed");
            }
        });
    }
    

    【讨论】:

    • 我也尝试过使用 keyListener 但他们都只识别 keyReleased :'(
    猜你喜欢
    • 1970-01-01
    • 2017-09-09
    • 2010-11-03
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 2021-12-18
    相关资源
    最近更新 更多