package image;
import java.awt.*;
import javax.swing.*;
//运行白板关也关不了
public class ImageTest {
public static void main(String args[])
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
JFrame frame=new ImageFrame();
frame.setTitle("ImageTest");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class ImageFrame extends JFrame
{
public ImageFrame()
{
add(new ImageComponent());
pack();
}
}
class ImageComponent extends JComponent
{
private static final int DEFAULT_WIDTH=3000;
private static final int DEFAULT_HEIGHT=2000;
private Image image;
public ImageComponent()
{
image=new ImageIcon("test.jpg").getImage();
}
public void paintComponent(Graphics g)
{
if (image==null) return;//什么意思,返回什么;
int imageWidth=image.getWidth(this);//观察者这块是什么代码内容
int imageHeight=image.getHeight(this);
//draw image in the upper left corner
g.drawImage(image,0,0,null);
//tile the image across the component
for(int i=0;i*imageWidth<=getWidth();i++)
for(int j=0;j*imageHeight<=getHeight();j++)
if(i+j>0)
g.copyArea(0, 0, imageWidth, imageHeight, i*imageWidth, j*imageHeight);
}
public Dimension getPreferredSize()
{
return new Dimension(DEFAULT_WIDTH,DEFAULT_HEIGHT);
}
}