package tuxing1;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
public class ImageTest 
{

public static void main(String[] args)
{
      ImageFrame frame =new ImageFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);
}}
class ImageFrame extends JFrame
{
public ImageFrame()
{
setTitle("ImageTest");
setSize(300,200);
}
}class ImagePanel extends JPanel
{
public ImagePanel()
{
try
{
image=ImageIO.read(new File("F:\\照片\\1.jpg"));

}
catch(IOException e)
{
e.printStackTrace();
}
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
if(image==null)
return;
int imageWidth = image.getWidth(this);
int imageHeigh = image.getHeight(this);
g.drawImage(image,0,0,null);
for(int i=0;i*imageWidth<=getWidth();i++)
for(int j=0;j*imageHeigh<=getHeight();j++)
if(i+j>0)
g.copyArea(0, 0, imageWidth, imageHeigh, i*imageWidth, j*imageHeigh);
}
private Image image;
}这个程序怎么显示不出照片呀??

解决方案 »

  1.   

    你有把imagePanel加到窗体吗?我好像没看到
      

  2.   

    class ImageFrame extends JFrame {
    public ImageFrame() {
    setTitle("ImageTest");
    setSize(300, 200);
    add(new ImagePanel());
    }
    }
      

  3.   

    ImagePanel 没有加到 ImageFrame 上去.
    支持2楼.
      

  4.   

        public static void main(String[] args)
        {
            ImageFrame frame = new ImageFrame();
            ImagePanel panel=new ImagePanel();
            frame.getContentPane().add(panel);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
        }
      

  5.   

    class ImageFrame extends JFrame 

    public ImageFrame() 

    setTitle("ImageTest"); 
    setSize(300,200); 
    this.add(ImagePanel);