Java中JFrame窗口添加背景图片

知识储备:
1.JFrame中是有很多层次关系的,具体可以去自己查一下;
在这里插入图片描述
在这里插入图片描述

主要思路:
1.把图片添加到标签里(把标签的大小设为和图片大小相同),把标签放在分层面板的最底层;
2.把窗口面板设为内容面板并设为透明、流动布局。
3.之后把组件和面板添加到窗口面板就可以;
大白话翻译:
把JFrame想象成一个桌子,桌子上面有个木板,组件和面板就是木板上的物品,我们就是把桌子上的木板换为玻璃板,然后把背景图放在玻璃板下面,把物品放在玻璃板上面;

哔哩哔哩有此视频教程

示例代码:

import java.awt.FlowLayout;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class ImageDemo {

	public static void main(String[] args) {
		JFrame jf=new JFrame("背景图片测试");
		//1.把图片添加到标签里(把标签的大小设为和图片大小相同),把标签放在分层面板的最底层;
		ImageIcon bg=new ImageIcon("src/images/bg.jpg");
		JLabel label=new JLabel(bg);
		label.setSize(bg.getIconWidth(),bg.getIconHeight());
		jf.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE));
		//2.把窗口面板设为内容面板并设为透明、流动布局。
		JPanel pan=(JPanel)jf.getContentPane();
		pan.setOpaque(false);
		pan.setLayout(new FlowLayout());
		//3.之后把组件和面板添加到窗口面板就可以;
		JButton btn=new JButton("测试按钮");
		pan.add(btn);
		jf.setSize(bg.getIconWidth(),bg.getIconHeight());
		jf.setLocationRelativeTo(null);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jf.setVisible(true);
	}

}

在这里插入图片描述

  • 13
    点赞
  • 5
    评论
  • 75
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值