不显示图像jframe

时间:2018-11-20 22:26:27

标签: java image swing jframe embedded-resource

我一直试图使图像出现,但是什么也没发生。我已经研究了各种方法并应用了它们,但我一直无法实现。我开始认为可能是我放入了错误的文件。在applet中,我只需要将图像放置在build文件夹中。至于JFrame,我不确定在哪里。我尝试将其放置在构建中,没有图像。我尝试将其放置在src中,但仍然没有。以下是到目前为止我一直在测试的内容。也许是图像位置或代码。

有人可以告诉我我在做什么错吗?

import javax.swing.*;
import java.awt.*;

public class Changey extends javax.swing.JFrame {
JPanel panel = (JPanel) this.getContentPane();
//JLabel label = new JLabel();

public Changey() {
    initComponents();
    panel.setLayout(null);

    //ImageIcon icon = new ImageIcon("Cookie.png");
    //JLabel label = new JLabel(icon);
    //panel.add(label);

    //ImageIcon icon = new ImageIcon(getClass().getResource("Cookie.png"));

    //Icon icon = new ImageIcon("Cookie.png");
    //JLabel label = new JLabel( icon );
    //frame.add(label);

    //label.setIcon(new ImageIcon("Cookie.png"));
    //panel.add(label);

    //JLabel img = new JLabel(new ImageIcon("Cookie.png"));
    //img.setBounds(200, 300, 100, 100); // x, y, width, height
    //panel.add(img);

    //ImageIcon image = new ImageIcon("Cookie.png");
    //label.setBounds(10, 10, 400, 400);
    //panel.add(label);
    //image.getImage();

    //label.setIcon(new ImageIcon("Cookie.PNG"));
    //label.setBounds(10, 10, 400, 400);
    //panel.add(label);

    setSize(1130,380);
    setTitle("Image");        
}

1 个答案:

答案 0 :(得分:0)

在ImageIcon()构造函数之后,您可以调用image.getImageLoadStatus()来查看加载的过程。

要检查代码是否可以看到文件,请使用 File myFile = new File("Cookie.png"); System.out.println(myFile.exists());

如果将该文件用作资源,则该文件应位于类路径中。

如果使用带有相对路径的文件,则该文件应相对于应用程序的起始文件夹。