我试图通过检测键盘输入在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);
}
}
答案 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。您甚至不必关心也生成的主方法。