Java图像没有显示

时间:2013-07-04 16:06:13

标签: java image swing jlabel embedded-resource

我正在尝试简单地将照片加载到jpanel,但它无效。

import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.io.File;
import javax.swing.*;

public class ImageTest3 extends JFrame {

    public ImageTest3() {

        // TODO Auto-generated constructor stub
        JPanel panel = new JPanel(new FlowLayout());
        Icon icon = new ImageIcon(
                File.separator + "resources" 
                    + File.separator + "images"
                    + File.separator + "topbar.jpg");
        JLabel label1 = new JLabel();
        panel.add(label1);
        add(panel);
        label1.setIcon(icon);

        setSize(2000,700);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        new ImageTest3();
    }
}

抱歉这个蹩脚的表格...... 该文件保存在我的\src\resources\images\topbar.jpg

我做错了什么? 我也把它作为ImageIcon icon = new ImageIcon ....

1 个答案:

答案 0 :(得分:0)

您应该将图像作为资源加载,如下所示

String pathToImageSortBy = "resources"+File.separator+ "images"+ File.separator+"topbar.jpg";
Icon icon = newImageIcon(
                         getClass().getClassLoader().getResource(pathToImageSortBy));