// .; import ; import ; /** 图片小方格类*/ public class Cell extends JButton { // 带有图片的小方格 public Cell(Icon icon) { super(icon); // 设置小方格大小 (150, 150); } // 带有图片和文字的小方格 public Cell(String text, Icon icon) { super(text, icon); // 设置小方格大小 (150, 150); (CENTER);// 设置文字水平居中显示 (CENTER);// 设置文字垂直居中显示} // public void move(String direction) { switch (direction) { case "UP": (().x,().y-150); break; case "DOWN": (().x,().y+150); break; case "LEFT": (().x-150,().y); break; case "RIGHT": (().x+150,().y); break; default: break; }}} // .; import ; import ; import ; import ; import ; import ; /** 拼图类*/ public class PictureCanvas extends JPanel implements MouseListener { // 静态变量 public static int pictureID = 1;// 图片 ID public static int stepNum = 0;// 步数 private Cell[] cell; private boolean hasAddActionListener = false;// 表示是否为小方格添加了点击监听, 有为 true private Rectangle nullCell; // 构造方法 public PictureCanvas() { initCanvas(); } // 初始化 public void initCanvas(){ // 设置拼图区的位置 (null);// 帧布局// 创建 12 个小方格,并添加到拼图区 cell = new Cell[12]; for(int i= 0;i < 4;i++){ for(int j= 0;j < 3;j++){ // 加载图片 int num = i*3+j; ImageIcon icon = new ImageIcon("picture/"+pictureID+"_"+(num+1)+".gif"); // 创建图片小方格 cell[num] = new Cell(icon); // 指定显示位置 cell[num].setLocation(150*j+20, i*150+20); // 把图片小方格添加到拼图区 (cell[num]); }} // 删除第 12 个小方格 (cell[11]); nullCell = new Rectangle(320, 470, 150, 150); hasAddActionListener = false; } // 重新加载图片,并添加数字提示 public void reloadPictureAddNumber() { for(int i= 0;i < 4;i++){ for(in
java拼图游戏完整代码解读 来自淘豆网m.daumloan.com转载请标明出处.