.;;;/**图片小方格类*/lassCellextendsJButton{ //带有图片的小方格 ell(Iconicon){ super(icon); //设置小方格大小 (150,150); } //带有图片和文字的小方格 ell(Stringtext,Iconicon){ super(text,icon); //设置小方格大小 (150,150); (CENTER);//设置文字水平居中显示 (CENTER);//设置文字垂直居中显示} // publicvoidmove(Stringdirection){ 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; } }}//PictureCanvas..;;;;;;;/**拼图类*/lassPictureCanvasextendsJPanelimplementsMouseListener{ //静态变量 publicstaticintpictureID=1;//图片ID publicstaticintstepNum=0;//步数 privateCell[]cell; privatebooleanhasAddActionListener=false;//表示是否为小方格添加了点击监听,有为true privateRectanglenullCell; //构造方法 publicPictureCanvas(){ initCanvas(); } //初始化 publicvoidinitCanvas(){ //设置拼图区的位置 (null);//帧布局//创建12个小方格,并添加到拼图区 cell=newCell[12]; for(inti=0;i<4;i++){ for(intj=0;j<3;j++){ //加载图片 intnum=i*3+j; ImageIconicon=newImageIcon("picture/"+pictureID+"_"+(num+1)+".gif"); //创建图片小方格 cell[num]=newCell(icon); //指定显示位置 cell[num].setLocation(150*j+20,i*150+20); //把图片小方格添加到拼图区 (cell[num]); } } //删除第12个小方格 (cell[11]); nullCell=newRectangle(320,470,150,150); hasAddActionListener=false; } //重新加载图片,并添加数字提示 publicvoidreloadPictureAddNumber(){ for(inti=0;i<4;i++){ for(intj=0;j<3;j++){ intnum=i*3+j; ImageIconicon=newImageIcon("picture/"+pictureID+"_"+(num+1)+".gif"); cell[num].setIcon(icon); cell[num].setText(num+1+""); cell[num].setVerticalTextPosition(g
java拼图游戏完整代码 来自淘豆网m.daumloan.com转载请标明出处.