//实在是不愿意写注释,这个拼图也超级简单,无聊了上传到CSDN,充实下内容,高手可以掠过,初学者可以参观下。不懂可以给我留
//言。
package pintu;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.util.Random;
import java.awt.event.*;
//未实现随机分布图片
class anniu extends JButton{
boolean;
}public class pintu extends JFrame implements MouseListener{
Random rd=new Random();
anniu[][]jb=new anniu[3][3];
public pintu(){
this.setLayout(new GridLayout(3,3));
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
jb[i][j]=new anniu();
this.add(jb[i][j]);
}
this.setSize(400, 400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Toolkit t=Toolkit.getDefaultToolkit();
Image img=t.getImage("a.jpg");//a.jpg为图片的名字,大家可以找一张600*800的图片改名为a。照片得是JPG的格式
MediaTracker tracker=new MediaTracker(this);
tracker.addImage(img, 0);
try {
tracker.waitForID(0);
} catch (InterruptedException e) {
e.printStackTrace();
}
BufferedImage bimg=new BufferedImage(img.getWidth(this),img.getHeight(this),BufferedImage.TYPE_INT_ARGB);
Graphics g=bimg.getGraphics();
g.drawImage(img,0,0,this);
BufferedImage[][] buimg=new BufferedImage[3][3];
Icon [][]i=new Icon[3][3];
int x=0,y=0;
for(int a=0;a<3;a++)
for(int j=0;j<3;j++)
{
int c=rd.nextInt(3);
int d=rd.nextInt(3);
buimg[a][j]=bimg.getSubimage(x+a*200, y+j*266, 200, 266);
i[a][j]=new ImageIcon(buimg[a][j]);
jb[a][j].setIcon(i[a][j]);//此处实现随机
jb[a][j].addMouseListener(this);
}
}
public static void main(String []args){
pintu p=new pintu();
p.setSize(600,800);
p.setVisible(true);
}
public void mouseClicked(MouseEvent arg0) {
Icon i=((anniu)(arg0.getSource())).getIcon();
((anniu)arg0.getSource()).setIcon(jb[0][0].getIcon());
jb[0][0].setIcon(i);
}
public void mouseEntered(MouseEvent arg0) {
// TODO 自动生成方法存根
}
public void mouseExited(MouseEvent arg0) {
// TODO 自动生成方法存根
}
public void mousePressed(MouseEvent arg0) {
// TODO 自动生成方法存根
}
public void mouseReleased(MouseEvent arg0) {
// TODO 自动生成方法存根
}
}