java 添加背景图片(可根据窗口大小自动调整显示图片)

本文介绍了一种使用Java Swing实现背景图片全屏显示的方法,通过将图片放置于 JLabel 并调整其位置和大小,使其作为 JFrame 的背景,同时保持图片的原始比例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主题:添加背景图片

有时候想给背景添加图片,可是只显示了图片的一部分,是不是很纳闷啊!那就看看下面的程序吧!


  java代码

import java.awt.*;
import javax.swing.*;

public class Samp extends JFrame{
	 public static void main(String[] args){
	  new Samp();
	 }
 
	 public Samp(){
		 Image image = new ImageIcon("../pic/ok.png").getImage();// 这是背景图片 .png .jpg .gif 等格式的图片都可以
		 JLabel imgLabel = new aLabel(image);// 将背景图放在"标签"里。
		 this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));// 注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。
		 Container cp = this.getContentPane();
		 ((JPanel) cp).setOpaque(false); // 注意这里,将内容面板设为透明。这样LayeredPane面板中的背景才能显示出来。

		 this.setLocation(200,100);
		 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		 this.setSize(800, 600);
		 this.setResizable(false);
		 this.setVisible(true);

		 imgLabel.setBounds(0, 0, this.getWidth(),this.getHeight());// 设置背景标签的位置
	 }
	 
	 //内部类
	 private class aLabel extends JLabel {
		 private Image image;
		 public aLabel(Image image){
			 this.image = image;
		 }
		 @Override
		 public void paintComponent(Graphics g){
			 super.paintComponent(g);
			 int x = this.getWidth();
			 int y = this.getHeight();

			 g.drawImage(image, 0, 0, x, y, null);
		 }
	 }
}




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值