如何较好的移动图片

加载了一个图片,怎样让他响应键盘上的方向键移动呢?代码越精简越好!有会的都教下,谢谢!

搜索更多相关的解决方案:

键盘  加载  精简  代码

----------------解决方案--------------------------------------------------------

你先贴一下你的吧..觉得用网格布局..然后监听键盘..对它位置调整...

----------------解决方案--------------------------------------------------------

在窗体事件中写,img为图片对象。至于超过了窗体的大小停止移动,自己比较一下就可以了。

this.addKeyListener(new KeyAdapter(){

public void keyPressed(KeyEvent arg0) {

int imgX = (int) img.getLocation().getX();

int imgY = (int) img.getLocation().getY();

switch (arg0.getKeyCode()) {

case KeyEvent.VK_UP:

img.setLocation((int) (imgX),(int) (imgY-5));

break;

case KeyEvent.VK_DOWN:

img.setLocation((int) (imgX),(int) (imgY+5));

break;

case KeyEvent.VK_LEFT:

img.setLocation((int) (imgX-5),(int) (imgY));

break;

case KeyEvent.VK_RIGHT:

img.setLocation((int) (imgX+5),(int) (imgY));

break;

default:

break;

}

}

});

----------------解决方案--------------------------------------------------------

回复 2# 的帖子

我写了断代码,可是完全不响应,就把他删掉了,现在在重写,谁能不能帮我写断完整的啊,让我参考下!

----------------解决方案--------------------------------------------------------

你可以把上面代码改一下啊....加个窗体类....自己改才有收获...

----------------解决方案--------------------------------------------------------

回复 5# 的帖子

import java.awt.*;

import java.awt.event.*;

import java.net.*;

import java.util.*;

import java.awt.image.*;

import javax.swing.*;

public class MoveCar extends JFrame {

Toolkit tkit;

Image img;

int x,y;

public MoveCar(String title)

{

super(title);

tkit=getToolkit();

try{

Class c1=this.getClass();

URL url=c1.getResource("/images/Red_Car.gif");

img=tkit.getImage(url);

tkit.prepareImage(img, -1, -1, this);

}catch(Exception e){

System.out.println("URL错误");

}

this.addKeyListener(new KeyAdapter(){

public void keyPressed(KeyEvent arg0) {

int imgX = (int) img.getLocation().getX();

int imgY = (int) img.getLocation().getY();

switch (arg0.getKeyCode()) {

case KeyEvent.VK_UP:

img.setLocation((int) (imgX),(int) (imgY-5));

break;

case KeyEvent.VK_DOWN:

img.setLocation((int) (imgX),(int) (imgY+5));

break;

case KeyEvent.VK_LEFT:

img.setLocation((int) (imgX-5),(int) (imgY));

break;

case KeyEvent.VK_RIGHT:

img.setLocation((int) (imgX+5),(int) (imgY));

break;

default:

break;

}

}

});

}

public static void main(String[] args)

{

MoveCar car=new MoveCar("移动图标");

car.setSize(200,200);

car.setVisible(true);

}

public void paint(Graphics g)

{

g.drawImage(img,50,80,this);

}

}

只能写成这样了,好多方法还不会使用,那些方法,使用也有错,高手帮忙改下~,谢谢

----------------解决方案--------------------------------------------------------

上面我错了点,img是jlabel,不是图像对象。。。

给你一个完整的。。

package com.magic;

import java.awt.Image;

import java.awt.Toolkit;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

public class Magic extends JFrame{

/** ********************* init Window ***********************/

/**

* default id

*/

private static final long serialVersionUID = 5404139822298151466L;

private Toolkit t = Toolkit.getDefaultToolkit();

/**

* default construction

*/

public Magic(){

initForm();

}

/**

* init JFrame

*

*/

private void initForm() {

final JLabel img = initMainImagePanel();

this.add(img);

this.setTitle("Test");

this.setSize(600, 500);

this.setLocation(

(int) (t.getScreenSize().getWidth() - this.getWidth()) / 2,

(int) (t.getScreenSize().getHeight() - this.getHeight()) / 2);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

this.addKeyListener(new KeyAdapter(){

public void keyPressed(KeyEvent arg0) {

int imgX = (int) img.getLocation().getX();

int imgY = (int) img.getLocation().getY();

switch (arg0.getKeyCode()) {

case KeyEvent.VK_UP:

img.setLocation((int) (imgX),(int) (imgY-5));

break;

case KeyEvent.VK_DOWN:

img.setLocation((int) (imgX),(int) (imgY+5));

break;

case KeyEvent.VK_LEFT:

img.setLocation((int) (imgX-5),(int) (imgY));

break;

case KeyEvent.VK_RIGHT:

img.setLocation((int) (imgX+5),(int) (imgY));

break;

default:

break;

}

}

});

}

/**

* init MainImagePanel

* @return

*/

public JLabel initMainImagePanel(){

Image img = t.getImage("com/magic/panda.gif");

JLabel l =new JLabel(initMainImage(img));

return l;

}

/**

* init Image

* @param imgPath

* @return

*/

public ImageIcon initMainImage(Image imgPath){

ImageIcon img = new ImageIcon(imgPath);

return img;

}

/** ********************* init Window ***********************/

/**

* @param args

*/

public static void main(String[] args) {

new Magic();

}

}

----------------解决方案--------------------------------------------------------

高手啊,代码太长了。不懂~!!!

用java仅仅做图片移动总觉得有点得不偿失的感觉。。

----------------解决方案--------------------------------------------------------

你可以把它改成贪吃蛇..俄罗斯啊..呵呵..思路而已

----------------解决方案--------------------------------------------------------

很有几天又没学JAVA了,伤心,我怎么来的时候看到你老在线上哦,我好像看某某女生的QQ空间里面看到你的头像了,不知道是不是你,呵呵,高手加个QQ357567696啊,

这几天就为做一个简单的迷宫游戏。

地址在这:http://space.flash8.net/bbs/thread-351597-1-1

----------------解决方案--------------------------------------------------------

java 图片移动代码,如何较好的移动图片相关推荐

  1. html图片查看代码实现,如何用HTML5实现图片预览和查看原图的功能

    html5实现图片预览和查看原图 html5实现图片预览和查看原图相对以前容易多了,在以前,为了安全,web端的js是不能读取文件的本地真实路径的,只能将图片上传到服务器上,再取图片的链接,这样才能实 ...

  2. php 图片动画代码大全,超赞的jQuery图片滑块动画特效代码汇总_jquery

    在网站开发过程中,特别是前端开发这块,经常会使用到很多图片滑块动画,也就是一些基于jQuery和HTML5的焦点图插件.本文将为大家收集10个超赞的jQuery图片滑块动画,这些现成的jQuery插件 ...

  3. java获取word图片_java代码获取word文件中的图片

    1:需求 在线打开word文件后,用户插入图片.然后保存图片到服务器 2:方案 用pageoffice 在线打开文档的功能和提交数据的功能实现 3:核心代码 4:实现过程 (1)因为要获取数据区域的数 ...

  4. linux切换图片的代码,cacaview – Linux终端下将图片转换ASCII Art代码图案

    有时你可能需要终端输出许多图片,那么现在就让我们在Linux终端打开一个新窗口显示图片. cacaview – Linux终端下将图片转换ASCII Art代码图案的命令. Ubuntu下安装命令: ...

  5. python语言编写一个生成九宫格图片的代码_Python 生成你的朋友圈九宫格图片

    关于微信之前写过以下文章,有兴趣可以点击查看: 你可能在朋友圈看过九宫格图片(把一张图片按照比例分成九份),就像这样的: 还有微博九宫格图 https://weibo.com/2717930601/. ...

  6. php图片输出代码怎么写,将数据以图片的形式输出的PHP代码

    <?php echo " "; echo ""; ?> logo.jpg文件和应该是这样写 去见你想见的人吧.趁阳光正好,趁微风不噪,趁繁花还未开至 ...

  7. android 图片居中代码怎么写,Android:将图片居中

    首先,您需要在LinearLayout声明中使用" match_parent",而不要使用" fill_parent",您可以选中"正式文档" ...

  8. html图片滚动红点_HTML中更换或添加网站背景图片的代码怎么写?(示例)

    本篇文章主要介绍了HTML代码中如何更换或添加网站背景图片?对于小白来说,最简单的方法就是,如果是更换背景图片的话. 我们可以在网页上点击鼠标右键查看网站源代码,然后找到css里面的背景图这一段代码, ...

  9. <img src=“图片引用失败“ onerror=“自动替换默认图片“> - 代码篇

    img图片引用失败,自动替换默认图片(半句代码搞定) 图片引用失败,显示默认图片: <!--代码定义如下:--> <img src="图片引用失败" onerro ...

最新文章

  1. [js]uploadify结合jqueryUI弹出框上传,js中的冒出的bug,又被ie坑了
  2. Windows2003实用技巧
  3. js中深拷贝和浅拷贝问题
  4. 算法:多数元素,多种解法
  5. java ssm使用存储过程_java调用oracle存储过程(ssm)
  6. SAP Spartacus CmsService.Components数据结构
  7. 操作系统:升级Windows 11正式版的四种方法,值得收藏!
  8. 一些python函数及其用法
  9. Dijkstra 最短路算法(只能计算出一条最短路径,所有路径用dfs)
  10. raspberry nas_使用Raspberry Pi NAS托管您自己的云
  11. Docker学习文档之三 其他相关-安全性
  12. 使用 PyMOL 将靶点与配体复合物中的靶点和配体拆出来
  13. 代码整洁之道-第5章-格式-读书笔记
  14. 20191022每日一句
  15. STM32学习笔记(三 时钟系统 1 时钟系统精讲)
  16. 利用VB2005制作颜色渐变的进度条
  17. Redis 雪崩,穿透,击穿
  18. H5游戏-面试问题知识点总结
  19. 安徽师范大学计算机学院教师,安徽师范大学数学计算机科学学院导师介绍:鲁世平...
  20. docker命令使用详解

热门文章

  1. python视频教程唐学韬-计算机基础经典书籍推荐——Python语言
  2. bestcoder#86 T1~T3
  3. 近期对战体会 [20170102]
  4. microsoft word 自动生成目录
  5. 阿里的素质在线测评2020春招Java实习
  6. vulnhub Hacker Fest 2019 记录
  7. Java 单例模式详解
  8. 如何选择直流微电机1
  9. 怎样提高神马推广转换效率?
  10. ConcurrentHashMap底层详解(图解扩容)(JDK1.8)