java repaint() 方法无法执行,不知道是哪个原因

老白小白 2021-05-08 04:22:27
直接贴代码,因为复制的不对,开头有些空格别在意 package fighting; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; public class Game extends JFrame implements Runnable { BufferedImage mob = null; BufferedImage biu = null; static int x = 736, y = 436; static JPanel iconpanel = new JPanel(); public static void main(String[] args) { Game game = new Game(); new Game().setVisible(true); Thread t = new Thread(game); t.start(); } @Override public void run() { this.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { Game g =new Game(); int key=e.getKeyCode(); switch(key) { case KeyEvent.VK_W: x-=1; g.repaint(); case KeyEvent.VK_S: x+=1; g.repaint(); case KeyEvent.VK_A: y-=1; g.repaint(); case KeyEvent.VK_D: y+=1; g.repaint(); } } public void keyReleased(KeyEvent e) { } public void keyPressed(KeyEvent e) { } }); } public Game() { try { biu = ImageIO.read(new File( "E:\\JAVA资源包\\Java从入门到精通(第5版)\\2. TM(实例源程序)\\TM(实例源程序)\\sl\\shenshenxiaoshe2021\\src\\fighting\\biu.png")); mob = ImageIO.read(new File( "E:\\JAVA资源包\\Java从入门到精通(第5版)\\2. TM(实例源程序)\\TM(实例源程序)\\sl\\shenshenxiaoshe2021\\src\\fighting\\monster.png")); } catch (IOException e) { e.printStackTrace(); } setTitle("打怪"); setBounds(0, 0, 800, 500); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } @Override public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; g2.drawImage(biu, x, y, this); g2.drawImage(mob, 50, 50, this); } } 我是中小学生各位大神帮个忙感谢了
...全文
134 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

58,445

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧