上一个博客,这位叫烟溪彭于晏 的博主对我的代码进行了修改,感谢!这篇博客,我会把这些代码公布了出来!
下图是这个项目的工程表:
其中,CodeMao.java和MoveFrame.java是两个类,其中codemao继承object,moveframe继承jframe类。下面的图片是我在Bing上面搜“编程猫图片”后截取的,可自行查找。那个image文件夹是先右击项目,然后去New菜单,较下面的一项有一个叫“Source Folder”的选项,点击然后创建即可。codemao.jpg图片是先找到codemao.jpg所在的位置,然后拖动文件至项目中的image文件夹,按OK就可以了。
废话不多说,上代码!
codemao.java的代码如下:
package myProjcet;
import java.awt.Image;
import javax.swing.ImageIcon;
import java.awt.event.*;
/**
* 编程猫类
*/
public class CodeMao {
//坐标(初始化)
private static int x = 0,y = 0;
//image对象
private Image img;
/**
* 构造方法
*/
public CodeMao() {
//实例化img对象
img = new ImageIcon("image/codemao.jpg").getImage();
}
/**
* 获取x
* @return 编程猫的x
*/
public int getX() {
return x;
}
/**
* 获取y
* @return 编程猫的y
*/
public int getY() {
return y;
}
/**
* 加x函数
*/
public void X_add(int num) {
x += num;
}
/**
* 加y函数
*/
public void Y_add(int num) {
y += num;
}
/**
* 获取codemao图片的函数
* @return codemao图片
*/
public Image getImage() {
return img;
}
}
MoveFrame.java的代码如下:
package myProjcet;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
* “移动”窗体 该实例可以让编程猫移动
*/
public class MoveFrame extends JFrame {
/**
* 全部变量
*/
public static CodeMao cat;
/**
* 构造方法
*/
public MoveFrame() {
// 属性
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(500, 500);
setLocationRelativeTo(null);
// 创建codemao对象
cat = new CodeMao();
// panel对象,方便画图
JPanel jp = new panel();
setContentPane(jp);
// 添加键盘敲击事件
addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent e) {}
@Override
public void keyPressed(KeyEvent e) {
/**
*按下事件
*/
int code = e.getKeyCode();
//按w
if (code==e.VK_W) {
cat.Y_add(-5);
}
//按s
if (code==e.VK_S) {
cat.Y_add(5);
}
//按a
if (code==e.VK_A) {
cat.X_add(-5);
}
//按d
if (code==e.VK_D) {
cat.X_add(5);
}
}
public void keyReleased(KeyEvent e) {}
});
//线程对象
new Thread() {
public void run() {
//死循环
while (true) {
jp.repaint();
}
}
}.start();
}
/**
* 主方法
*/
public static void main(String[] args) {
new MoveFrame().setVisible(true);
}
/**
* panel 类
*/
private class panel extends JPanel {
public void paint(Graphics g) {
super.paintComponent(g);
g.drawImage(cat.getImage(), cat.getX(), cat.getY(), this);
}
}
}
就这,喜欢的可以关注我哦!希望能吸收!
本文介绍了如何使用Java实现一个图片移动的程序。通过CodeMao.java和MoveFrame.java两个类,利用继承Object和JFrame实现。文章提供了详细的代码示例,并指导了如何设置项目结构和引入图片资源。
892

被折叠的 条评论
为什么被折叠?



