拼图游戏中如何在面板中载入图片,图片放在什么文件中,或者是放在MyEclipse中的什么文件中:
code:package com.palm;
import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.Label;public class MyGridLayout extends Container{

GridLayout gridlayout ;
MyImageCanvas myimagecanvas [][]= new MyImageCanvas[3][3];
MyGridLayout() {

gridlayout = new GridLayout(3,3);
setLayout(gridlayout);
         for(int i =0 ; i<3 ;i++) {

for(int j = 0 ;j<3 ;j++) {

myimagecanvas[i][j] = new MyImageCanvas();
add(myimagecanvas[i][j]);
}
}

setVisible(true);
validate();


}
******************************************************************************************************import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;public class MyImageCanvas extends Canvas{

Toolkit tool;
Image image ;
MyImageCanvas() { setSize(200,200);
tool = getToolkit();
image = tool.getImage("dog.gif");
setVisible(true);
validate();

public void paint (Graphics g) {

g.drawImage(image, 10, 10, image.getWidth(this), image.getHeight(this), this);
}
public Image getImage() {

return image;
}

}

解决方案 »

  1.   

    你需要将图先手工裁剪为3行3列共9份,保存为9个图片文件
    然后每个MyImageCanvas 要paint自己对应的那个图片像你
    tool.getImage("dog.gif");
    这样加载图片,
    图片文件dog.gif就必须放在Eclipse项目目录下。
      

  2.   

    但是 我只是想用一张图片 采用截坐标的方法 把每一块截出来的图片放在GradLayout面板中
    求高人指教。
    在线急等
      

  3.   

    截图技巧如下:CropFilter =new CropImageFilter(25,30,75,75);//四个参数分别为图像起点坐标和宽高
    ,即CropImageFilter(int x,int y,int width,int height),详细情况请参考APICroppedImage= Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(
    sourceImage.getSource(),cropFilter));