0

我想JLabel覆盖整个框架,但是当我这样做时,它不会覆盖文本字段和确定按钮。我如何让我JLabel覆盖整个框架内容。

在此处输入图像描述

P/s 我想把它jlabel作为背景,这样我就可以把我的图标jlabel作为背景图片。

4

2 回答 2

4

这就是我要做的。使用 aJPanel作为背景并输入一些自定义绘制代码。

  1. 将 a 拖到JPanel窗体并将其展开以覆盖整个框架,作为背景。

  2. 右键单击并从上下文菜单中JPanel选择自定义代码。您将看到以下对话框。您现在可以编辑代码。

    在此处输入图像描述

  3. 确保从下拉列表中选择自定义创建并输入

    jPanel1 = new JPanel() {
        BufferedImage img;
        {
            try {
                img = ImageIO.read(getClass().getResource("/resources/stackoverflow5.png"));
            } catch (IOException ex) {  ex.printStackTrace(); }
        }
    
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
    
        }
    };
    
  4. 您可能必须解决导入问题。只需点击Ctrl+ Shift+I

  5. 此外,您必须将图像的路径更改为您的路径。

这是我的文件结构

在此处输入图像描述

这是结果

在此处输入图像描述

于 2014-03-06T03:49:03.827 回答
0

好的,伙计们,我在这里找到了答案。从教程中,当我们试图让 Jpanel 和 Jlabel 覆盖我们的整个 Jframe 时,我们必须:

1)右键单击Jframe。2)选择设置布局 3)找到并单击空布局 4)然后您可以编辑您的 Jlabel 以覆盖整个框架,如下所示。感谢那些提供帮助的人。

在此处输入图像描述

p/s:我知道感谢是不鼓励堆栈溢出,但很难让自己这样做。再次感谢。

于 2014-03-06T03:47:57.247 回答