图像不会出现在JLabel中

时间:2012-07-30 15:28:47

标签: java image swing user-interface jframe

我使用Netbeans的GUI Builder为我的应用程序创建了GUI。我正在尝试显示包含带有图片的JFrame的{​​{1}},但我无法显示JLabel

我生成的代码:

Image

我的班级代码:

private void initComponents() {
        //...
        jLabel1 = new JLabel(new ImageIcon(myPicture));
}

但是我仍然没有看到图像... (图像文件的路径很好)它的样子:

public class GUIWindow extends javax.swing.JFrame {

    BufferedImage myPicture;

    /** Creates new form GUIWindow */
    public GUIWindow() throws IOException {
        myPicture = ImageIO.read(new File("images/logo.png"));
        initComponents();
        this.add(jLabel1);

    }
}

5 个答案:

答案 0 :(得分:6)

你可以像这样使用

URL imgSmartURL = this.getClass().getResource("your image path");
jLabel1 = new JLabel(new ImageIcon(imgSmartURL), JLabel.CENTER);

答案 1 :(得分:2)

我会这样做。

    JLabel dice1 = new JLabel();
    ImageIcon one = new ImageIcon("dice/1.png");

    //set dice1 position
    dice1.setLocation(20, 100);
    dice1.setSize(115, 115);
    dice1.setIcon(one);
    gamepanel.add(dice1);

答案 2 :(得分:1)

如果您使用的是netbeans,则可以通过设置属性直接将图像添加到jLabel。 Right click on the jLabel -> properties -> icon -> (if it's external image) import to project(upload your image) -> ok。 它将被添加到您的jLabel中。

答案 3 :(得分:1)

  1. 我建议您将图像复制到一个单独的文件夹中(图像)。
  2. 然后使用Toolkit.getDefaultToolkit().getImage("images/A.png");
  3. 我相信有类似的question

答案 4 :(得分:0)

私人ImageIcon imageIconPrint =

new ImageIcon(getClass().getResource("/image/print.gif"));

创建按钮并添加以下代码:

jbtCanada.addActionListener(new ActionListener(){

  public void actionPerformed(ActionEvent e) {

    jlblFlag.setIcon(imageIconCanada);

  }

});

这有助于我思考