Java中JFrame窗口添加背景图片

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);

}

}

相关推荐

刺客列传:什么是刺客 谁是中国古代第一刺客
365etb为什么关闭账号

刺客列传:什么是刺客 谁是中国古代第一刺客

07-02 👁️ 2003
如何给冰箱冰柜清洗消毒?六大注意事项要牢记
365etb为什么关闭账号

如何给冰箱冰柜清洗消毒?六大注意事项要牢记

07-06 👁️ 4920
ai怎么改变画布大小
365net

ai怎么改变画布大小

07-01 👁️ 6823
iris游戏怎么玩?新手快速通关攻略看这篇就够了!
崩坏3体力恢复时间 体力回复和领取技巧
从自贡市辖区到眉山路线、油耗、距离、路桥费
365etb为什么关闭账号

从自贡市辖区到眉山路线、油耗、距离、路桥费

07-07 👁️ 7235