求大神指点,我是刚学的菜鸟

gustar_h gustar_h 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想实现在JFrame中画出一个图形,然后让键盘按键控制图形的移动
但是按下按键后图形移动部了,求大神指点。。。。。
package deal;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class move extends JFrame {
int x=80,y=80,speed=10;
Color redColor;
private static final long serialVersionUID = 1L;
public move(){
addKeyListener(new KeyAdapter(){
public void keyPressed( KeyEvent e){
if(e.getKeyCode()==KeyEvent.VK_W){
y=y-speed;
System.out.println("\n Go Up");
}else if(e.getKeyChar()==KeyEvent.VK_S){
y=y+speed;
System.out.println("\n Go Down");
}else if(e.getKeyCode()==KeyEvent.VK_A){
x=x-speed;
System.out.println("\n Go Left");
}else if(e.getKeyCode()==KeyEvent.VK_D){
System.out.println("\n Go Right");
x=x+speed;
}else {
System.out.println(e.getKeyChar());
repaint();
}
}
});
setSize(400,300);
setVisible(true);
setLocation(400,200);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
});
}
public void paint(Graphics g){
g.setColor(Color.GREEN);
g.fillRect(x, y, 40, 40);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new move();
}

...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
gustar_h
Java 51,407 成员 86,129 内容