qq_BigGoldenFish 2015-04-04 06:51 采纳率: 0%
浏览 1460

我的imageicon无法显示图片,程序白板,还退步出去了,求解啊o. o!

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);
}

}

  • 写回答

2条回答 默认 最新

  • devmiao 2015-04-04 14:39
    关注

    if (image==null)
    看看图片是不是为空

    评论

报告相同问题?