Java keylistener 不执行任何操作,但程序仍然运行

标签 java swing jframe keylistener

按键监听器应该上下移动 block ,但是当按下或按住键(w,s)时,它们不会执行任何操作。 这是代码(我省略了与问题无关的其他类)

感谢您的宝贵时间

import java.awt.event.KeyEvent;
import javax.swing.*;
import java.awt.event.*;

public class Test extends JFrame
{
    private static final long serialVersionUID = 1L;
    JFrame f = new JFrame();

    public void Draw()
    {
        Handler handle = new Handler();
        f.addKeyListener(handle);
        f.setFocusable(true);
        f.requestFocusInWindow();
    }

    public static void main(String[] args)
    {
        JFrame f = new JFrame();
        f.setSize(400, 250);
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    class Handler extends JFrame implements KeyListener
    {
        private static final long serialVersionUID = 1L;

        public void keyTyped(KeyEvent e)
        {
        }

        @Override
        public void keyPressed(KeyEvent e)
        {
            if ((e.getKeyCode() == KeyEvent.VK_S))
            {
                System.out.println("testw");
            }
            if ((e.getKeyCode() == KeyEvent.VK_W))
            {
            }

        }

        @Override
        public void keyReleased(KeyEvent e)
        {
            if ((e.getKeyCode() == KeyEvent.VK_UP))
            {
            }
            if ((e.getKeyCode() == KeyEvent.VK_DOWN))
            {
            }
        }
    }
}

最佳答案

关于Java keylistener 不执行任何操作,但程序仍然运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15734484/

相关文章:

java - eclipse XMLMultiPageEditorPart 的扩展 - 手动触发 TreeView 刷新

java - Hibernate:只查找那些不在多对多关系中的行

Java Repaint - 当从另一个类调用 repaint() 时,JComponet 需要重新绘制类

java - 如何在调整框架大小时自动居中 JFrame 中使用的组件?

java - 每按一次按钮,框架的关闭和重新打开频率就会增加

java - 我应该使用 Thread.sleep 对其他程序友好吗?

java - SQlite WHERE 语句不起作用?

java - 如果在两个选定值之间,则会自动选择插入自定义 ListModel 的元素

java - 如何从另一个线程使用服务器更新 java swing gui?

java - 如何在Swing中自动调整窗口大小