图片文件与类文件在同一目录下
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);
}
}
}*/
}
}