Netbean Java Swing,JPanel / Jlabel Cant覆盖整个框架

时间:2014-03-06 03:24:05

标签: java swing layout netbeans gui-builder

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

enter image description here

P / s我想将此jlabel作为背景,以便我可以将jlabel中的图标作为背景图片。

2 个答案:

答案 0 :(得分:4)

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

  1. JPanel拖到表单并展开以覆盖整个框架,作为背景。

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

    enter image description here

  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. 此外,您还必须将图像的路径更改为路径。

  6. 这是我的文件结构

    enter image description here

    这是结果

    enter image description here

答案 1 :(得分:0)

好吧,伙计们,我找到了答案here。在本教程中,当我们试图让Jpanel和Jlabel覆盖整个Jframe时,我们不得不:

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

enter image description here

p / s:我知道感谢堆栈溢出的劝阻,但很难坚持这样做。再次感谢。