上一个博客,这位叫烟溪彭于晏 的博主对我的代码进行了修改,感谢!这篇博客,我会把这些代码公布了出来!
下图是这个项目的工程表:
其中,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) {}@Overridepublic void keyPressed(KeyEvent e) {/***按下事件*/int code = e.getKeyCode();//按wif (code==e.VK_W) {cat.Y_add(-5);}//按sif (code==e.VK_S) {cat.Y_add(5);}//按aif (code==e.VK_A) {cat.X_add(-5);}//按dif (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);}}
}
就这,喜欢的可以关注我哦!希望能吸收!