自己写的拼图源码

来源:互联网 发布:g76车梯形螺纹编程实例 编辑:程序博客网 时间:2024/05/01 12:46

//实在是不愿意写注释,这个拼图也超级简单,无聊了上传到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 自动生成方法存根
  
 }
}

原创粉丝点击