【问题标题】:Netbean Java Swing, JPanel/Jlabel Cant cover whole FrameNetbean Java Swing,JPanel/Jlabel 无法覆盖整个框架
【发布时间】:2014-04-08 11:33:58
【问题描述】:

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

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

【问题讨论】:

  • 设置JLabel的布局管理器添加其他组件...除了表单编辑器不允许,您需要手动完成...
  • 对不起,我是 netbean 和 java 的新手,但我在哪里可以设置布局管理器。感谢 MadProgrammer
  • 您想要做的事情在表单编辑器中并不容易实现...

标签: java swing layout netbeans gui-builder


【解决方案1】:

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

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

这是我的文件结构

结果如下

【讨论】:

  • +1 我对你的答案投了赞成票,因为我相信通过代码而不是依赖平台编辑器来完成工作对我们的学习发展非常有益。
【解决方案2】:

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

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

p/s : 我知道感谢会阻止堆栈溢出,但我很难让自己这样做。再次感谢。

【讨论】:

    猜你喜欢
    • 2019-05-17
    • 2022-11-23
    • 2018-09-12
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多