图片未显示在JFrame

时间:2018-12-06 17:47:35

标签: java image swing jframe jlabel

我刚刚开始学习Java GUI,并且图像有很多问题。我浏览了该站点上的多个主题以及其他主题,但是由于某些原因,我无法使它正常工作(尽管我可能犯了很多错误,但我只是没有意识到)。我只想从在屏幕上显示图像开始。要添加一些信息-我正在使用IntelliJ;该图像存储在一个我标记为“库根”的资源文件夹中(该图像非常小-16x16,但是我也尝试过使用较大的图像,但这对我没有帮助)。

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

public class Frame {

    public static final int WIDTH = 1024;
    public static final int HEIGHT = 768;

    public Frame()
    {
        JFrame frame = new JFrame();
        frame.setTitle("Shady Path");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(null);
        frame.pack();
        frame.setSize(WIDTH, HEIGHT);
        frame.setLocationRelativeTo(null);
        frame.getContentPane().setBackground(Color.BLACK);
        frame.setResizable(false);

        //Font font = new Font(Font.MONOSPACED, Font.PLAIN, 10);
        JLabel human = new JLabel(new ImageIcon(getClass().getResource("/human.jpg")));
        Dimension humanDimension = new Dimension(150, 150);
        human.setMinimumSize(humanDimension);
        human.setPreferredSize(humanDimension);
        human.setMaximumSize(humanDimension);
        human.setLocation(100, 100);

        JPanel panel = new JPanel();
        panel.setLayout(null);
        panel.add(human);
        frame.add(panel);

        frame.setVisible(true);
    }
}

1 个答案:

答案 0 :(得分:1)

请勿将布局设置为空。