将背景图像放在JFrame中

时间:2014-02-23 07:46:12

标签: java swing jframe

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

public class FirstFrame extends JFrame {

    // FirstFrame properties

    public FirstFrame() {

        setTitle("Stacker");
        setLayout(new GridBagLayout());
        setSize(380, 650);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setUndecorated(true);
        setVisible(true);
        setResizable(true);

        JLabel background = new JLabel(new ImageIcon("fw.jpg"));
        background.setLayout(new BorderLayout());
        add(background);

    }

    public static void main(String[] args) {
        new FirstFrame();
    }
}

好了,现在我的框架没有装饰......(谢谢你们)我正在尝试为框架添加背景图像。但是当我运行它时,它显示的只是一个空白框架 怎么了?如何纠正?

2 个答案:

答案 0 :(得分:2)

请考虑采取以下措施..
1.在setVisible(true)之前添加JLabel背景。实际上,将setVisible作为构造函数中的最后一行。
2.然后尝试将图像作为
的getClass()。的getResource(imgPath)
设置图像

答案 1 :(得分:1)

您可能不会在正确的位置寻找图像。如果您要将图像作为文件(您当前正在尝试执行)查找,则需要相对于可以通过System.out.println(System.getProperty("user.dir"))找到的用户目录执行此操作。如果您要将其作为资源查找,则需要相对于类文件位置查找它。这一点都在本网站上进行了无限制的讨论和重新讨论。请再搜索一下。