加载图片覆盖整个窗口

本文介绍了一个使用Java Swing显示本地图片的简单示例。通过创建ImageFrame类继承自JFrame,并在其中加载和展示指定路径下的图片。示例中详细展示了如何使用ImageIcon加载图片资源,并通过自定义ImageJPanel类实现图片绘制。

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

图片文件与类文件在同一目录下

package com.swing;

import java.awt.Graphics;
import java.awt.Image;

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

public class ImageTest {

 public static void main(String args[]){
  
  ImageFrame img=new ImageFrame();
  img.setVisible(true);
  img.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
}

class ImageFrame extends JFrame{
 
 private int FRAME_WIDTH=400;
 private int FRAME_HEIGHT=300;
 private String fileName;
 public ImageFrame(){
  
  setTitle("show a image");
  
  setBounds(100,100,FRAME_WIDTH,FRAME_HEIGHT);
  fileName="test.jpg";
  ImageJPanel imgp=new ImageJPanel(fileName);
  
     add(imgp);
  
 }
  
}


class ImageJPanel extends JPanel{
 
 private int IMG_WIDTH;
 private int IMG_HEIGHT;
 private Image img;
 private ImageIcon icon;
 public ImageJPanel(String fileName){
  
  icon=new ImageIcon(ImageJPanel.class.getResource("./test.jpg"));
  
  img=icon.getImage();
  
 }
 
 
 public void paintComponent(Graphics g){
  
  super.paintComponent(g);
  
  if(img==null)
  {
   System.out.println("图片加载错误!");
   return ;
  }
  
  int width=img.getWidth(this);
  int height=img.getHeight(this);
  
  g.drawImage(img,0,0,this);
  
  
  /*把图片覆盖窗口
  for(int i=0;i*width<=getWidth();i++){
   
   for(int j=0;j*height<=getHeight();j++){
    
    if(i+j>0){
     
     g.copyArea(0,0, width, height, i*width, j*height);
    }
    
   }
  }*/
  
 }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值