关于JFrame添加背景图片,setbounds的小知识

描述:

给JFrame窗口添加图片时,我采用的是,创建一个JLayeredPane用于分层,将标签(JLabel)放入到一个JPanel面板中,然后在创建一个按钮来测试该图片是一个背景,而不是单纯的图片,然后运用分层。将JPanel放入底层,把Jbutton放入较高一层。
注意:在开始时我并没有用setbounds来设置按钮,所以就导致了按钮没有显示出来,想了想,将其加上,问题得到解决。

测试代码:

/**
 * 给JFrame 添加一个背景图案。
 */


import javax.swing.*;

public class JFrameBackground4
{
    JFrame jf=new JFrame("窗口");
    //创建一个JLayeredPane用于分层的。
    JLayeredPane layeredPane=new JLayeredPane();
    //创建一个Panel和一个Label用于存放图片,作为背景。
    JPanel jp=new JPanel();
    JLabel jl=new JLabel();
    ImageIcon image=new ImageIcon("src\\img.png");//随便找一张图就可以看到效果。
    //创建一个按钮用于测试的。
    JButton jb;


    public void init()
    {


        //创建背景的相关内容
        jp.setBounds(0,0,image.getIconWidth(),image.getIconHeight());
        jl.setIcon(new ImageIcon("src\\img.png"));
        jp.add(jl);

        //创建一个测试按钮
        jb=new JButton("测试按钮");
        jb.setBounds(100,100,100,100);//当不加此语句时无法显示出按钮

        //将jp放到最底层。
        layeredPane.add(jp,JLayeredPane.DEFAULT_LAYER);
        //将jb放到高一层的地方
        layeredPane.add(jb,JLayeredPane.MODAL_LAYER);

        jf.setLayeredPane(layeredPane);//将层级面板加入到窗口中
        jf.setSize(image.getIconWidth(),image.getIconHeight());//窗口大小
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗口关闭
        jf.setLocation(image.getIconWidth(),image.getIconHeight());//窗口位置
        jf.setVisible(true);//设置可见
    }

    public static void main(String[] args)
    {
        new JFrameBackground4().init();
    }
}

运行结果:

在这里插入图片描述

  • 2
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yjg_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值