Swing如何给窗体添加背景图片

本文介绍如何利用Swing为Java窗体设置背景图片。通过两个特定的类,一个负责放置顶层面板,另一个继承自Container,实现窗体背景图片的设置。参考了CSDN和博客园的相关文章。
摘要由CSDN通过智能技术生成

下面两个类用来给窗体添加背景图片,第一个类构造方法参数是你需要放置的顶层面板,第二个类继承了可以直接获取容器

package util;

import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;

import javax.swing.JLayeredPane;
import javax.swing.JPanel;
import javax.swing.JSplitPane;

/**
 * 背景面板 
 * @author 高明
 *
 */
public class LayeredPanel extends JLayeredPane {
	/**
	 * 构造方法
	 * @param str --图片路径
	 * @param panel  --组件面板
	 */
	public LayeredPanel(String str,JPanel panel) {
		
		BackGround b = new BackGround(str);
		add(b, new Integer(0)); // 添加背景,层数为0
		panel.setOpaque(false); // 将panel设为透明状态
		add(panel, new Integer(1)); // 将panel设为0层

		addComponentListener(new ComponentAdapter() {
			public void componentResized(ComponentEvent e) {
				b.setSize(getWidth(), getHeight());
				panel.setSize(getWidth(), getHeight());
			}
		});
	}
	public LayeredPanel(String str,JSplitPane panel) {
		
		BackGround b = new BackGround(str);
		add(b, n
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Java Swing中为窗体添加背景图片,可以按照以下步骤进行操作: 1. 创建一个继承自JFrame的自定义窗体类。 2. 在该类的构造函数中设置窗体的标题、大小和关闭操作。 3. 创建一个继承自JPanel的自定义面板类,并重写其paintComponent方法来绘制背景图片。 4. 在自定义窗体类的构造函数中创建背景面板对象,并将其设置为窗体的内容面板。 下面是一个示例代码: ```java import java.awt.Dimension; import java.awt.Graphics; import java.awt.Image; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JPanel; public class BackgroundFrame extends JFrame { public BackgroundFrame() { setTitle("Background Image Demo"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); BackgroundPanel backgroundPanel = new BackgroundPanel(); setContentPane(backgroundPanel); pack(); setLocationRelativeTo(null); // 居中显示窗口 } public static void main(String[] args) { SwingUtilities.invokeLater(() -> { BackgroundFrame frame = new BackgroundFrame(); frame.setVisible(true); }); } private static class BackgroundPanel extends JPanel { private Image backgroundImage; public BackgroundPanel() { backgroundImage = new ImageIcon("path/to/your/image.jpg").getImage(); Dimension dimension = new Dimension(backgroundImage.getWidth(null), backgroundImage.getHeight(null)); setPreferredSize(dimension); } @Override protected void paintComponent(Graphics graphics) { super.paintComponent(graphics); graphics.drawImage(backgroundImage, 0, 0, null); } } } ``` 在上述代码中,将`path/to/your/image.jpg`替换为你自己的背景图片路径。然后运行`BackgroundFrame`类,就会显示带有背景图片窗体。 希望这对你有所帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值