图像未加载到帧中

时间:2012-01-06 12:01:07

标签: java image swing jframe paintcomponent

这些是我使用的两个不同文件:

    public class TestFunc {

    static BufferedImage img;   
    public static void main(String[] args){


        JFrame frame = new JFrame("Display");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(600, 400);

        ShowImage I = new ShowImage();
        frame.getContentPane().add(I);
        frame.setVisible(true);

    }
}

和另一个:

public final class ShowImage extends JPanel{

Image image;

public ShowImage(){

    super();
    image = Toolkit.getDefaultToolkit().getImage("Sunset.jpg");

}

public void paintComponent(Graphics g){
    g.drawImage(image, 0, 0, this);

}

 }

但是,框架上没有显示任何内容,并且显示为空白。我对此很陌生,无法理解。

感谢。

1 个答案:

答案 0 :(得分:2)

尝试在JLabel中使用ImageIcon:

JFrame frame = new JFrame("Display");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(600, 400);
        frame.setVisible(true);

        JPanel jp = new JPanel();
        frame.add(jp);
        jp.add(new JLabel(new ImageIcon("d:\\temp\\me.JPG")));

        frame.pack();