java-任何人都可以告诉我为什么这个图像不会加载?

时间:2014-02-11 19:34:15

标签: java swing

我正在使用netbeans,我正在尝试从磁盘加载图像。程序没有给我任何错误,但框架没有弹出。 ?我尝试使用另一个带有文本的标签,它工作得很好。我不认为我调用图像的方法有什么问题,只是因为某些原因框架不显示?

import java.applet.Applet;
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import java.net.URL;
import javax.imageio.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Play {

    /**
     * @param args
     *            the command line arguments
     */
    public static void main(String[] args) {
        JFrame frame = new JFrame("window");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JLabel emptyLabel = new JLabel("yo");
        BufferedImage img = null;
        try {
            img = ImageIO.read(new File("C:\\Users\\anon\\Desktop\\alien.png"));
        } catch (IOException e) {
        }

        emptyLabel.setPreferredSize(new Dimension(175, 100));
        frame.getContentPane().add(img, BorderLayout.CENTER);
        frame.pack();
        frame.setVisible(true);
    }

}

1 个答案:

答案 0 :(得分:3)

这甚至可以编译吗?

frame.getContentPane().add(img, BorderLayout.CENTER);

您正在尝试将BufferedImage添加到JPanel。你可能打算创建一个JPanel并用这样的东西“添加”图像......

protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.drawImage(img, 0, 0, this);        
}