Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:KeyListener不';t工作:找不到符号_Java_Keyboard_Awt_Keylistener_Keyevent - Fatal编程技术网

Java:KeyListener不';t工作:找不到符号

Java:KeyListener不';t工作:找不到符号,java,keyboard,awt,keylistener,keyevent,Java,Keyboard,Awt,Keylistener,Keyevent,我试着用键盘移动砖块。经过数小时的网络搜索,我找不到这个错误。互联网上的每一个教程都和我尝试的完全一样,但都不起作用。它只是说在addKeyListener(this)中找不到该方法。有人能帮我吗?这是我的密码: import java.util.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class Game implements KeyListener { private

我试着用键盘移动砖块。经过数小时的网络搜索,我找不到这个错误。互联网上的每一个教程都和我尝试的完全一样,但都不起作用。它只是说在
addKeyListener(this)
中找不到该方法。有人能帮我吗?这是我的密码:

import java.util.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class Game implements KeyListener
{
    private L_Brick lBrick; //first kind of brick
    private Q_Brick qBrick; //second kind of brick
    private List<Boolean> brickList;

    public Game()
    {
        brickList = new ArrayList<Boolean>();
        brickList(true);
        brickList(false);
        addKeyListener(this); //here it says cannot find symbol
        setFocusable(true);
        setFocusTraversalKeysEnabled(false);
    }

    public void play()
    {
        Collections.shuffle(brickList);
        if(brickList(0) == true)
        {
            lBrick = new L_Brick();
            lBrick.moveDown();
        } else {
            qBrick = new Q_Brick();
            qBrick.moveDown();
        }
    }

    public void keyPressed(KeyEvent e)
    {
        int keys = e.getKeyCode();
        if(keys == KeyEvent.VK_A)
        {
            System.out.println("works");
        }
    }

    public void keyReleased(KeyEvent e)
    {
    }

    public void keyTyped(KeyEvent e)
    {
    }
}
import java.util.*;
导入java.awt.event.KeyEvent;
导入java.awt.event.KeyListener;
公共类游戏实现KeyListener
{
private L_Brick lBrick;//第一种砖
私人Q_砖qBrick;//第二种砖
私人名单制砖匠;
公共游戏()
{
brickList=newarraylist();
砖匠(真);
砖匠(假);
addKeyListener(this);//这里它说找不到符号
设置聚焦(真);
setFocusTraversalKeysEnabled(false);
}
公共游戏
{
收藏。洗牌(砖匠);
if(brickList(0)=真)
{
lBrick=新的L_砖();
lBrick.moveDown();
}否则{
qBrick=新的Q_砖();
qBrick.moveDown();
}
}
按下公共无效键(按键事件e)
{
int keys=e.getKeyCode();
if(keys==KeyEvent.VK_A)
{
System.out.println(“工程”);
}
}
公共无效密钥已释放(密钥事件e)
{
}
public void keyTyped(KeyEvent e)
{
}
}

您的类不在
JComponent
中,只能将键侦听器添加到
JComponent
(您只实现了
keysister
)。再次查看示例,它应该扩展
JComponent
(如
JPanel

在哪里实现了
addKeyListener()
方法?我实际上认为它是java.awt.event.KeyListener的一部分,因为我观看的教程导入了这个包编写了addKeyListener(this),并且它可以工作。非常感谢,现在我不再收到错误消息:)