如何检测键盘输入?

时间:2015-07-30 20:24:35

标签: java swing keyboard

我试图通过检测键盘输入在JFrame中制作一个正方形来移动框架。我尝试在互联网上查找,这是我从keyPressed()方法获得的方法。我正在寻找的是如何在main()方法中声明它,以便它实际更新x和y。请尽量保持简单。

public class Game1{
public static int x = 1;
public static int y = 1;

static GraphicsClass graphics = new GraphicsClass();
static JFrame frame = new JFrame("Test");

public static void main(String[] args){
    frameInit();
    while(true){
        //The problematic line, how do I declare it:
        keyPressed();
        frame.add(BorderLayout.CENTER, graphics);
        frame.repaint();
    }
}

public static void keyPressed(KeyEvent i){
    int e = i.getKeyCode();
    while(e == KeyEvent.VK_UP){
        y--;
    }
    while(e == KeyEvent.VK_DOWN){
        y++;
    }
    while(e == KeyEvent.VK_RIGHT){
        y++;
    }
    while(e == KeyEvent.VK_LEFT){
        x--;
    }
}

public static void frameInit(){
    frame.setSize(500, 500);
    frame.setVisible(true);
    frame.setResizable(false);
}
}

2 个答案:

答案 0 :(得分:0)

您应该实现keyListener接口。试试这个..

公共类Game1扩展JFrame实现了KeyListener {

public static int x = 1;

public static int y = 1;

static GraphicsClass graphics = new GraphicsClass();

static JFrame frame = new JFrame(" Test");

public static void main(String [] args){

frameInit();

while(true){

    //The problematic line, how do I declare it:

    keyPressed();

    frame.add(BorderLayout.CENTER, graphics);

    frame.repaint();
}

}

答案 1 :(得分:0)

如果您希望保持尽可能简单,则应使用Netbeans创建Swing-Application。它内置了一个很好的Form-Designer,您可以通过单击添加KeyListener。您甚至不必关心也生成的主方法。