Java继承Frame画一个窗口显示图片

实现:将指定图片显示到窗口上。

准备:在工程目录下准备好图片5.png

 

运行代码:

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;

/**
 * 画个图片到窗口
 */
public class DisplayImage extends Frame{

    public static void main(String[] args) {
        DisplayImage di = new DisplayImage();
        di.launchFrame();
    }

    /**
     * 使用画笔,画图
     * @param graphics
     */
    public void paint(Graphics graphics){
        super.paint(graphics);
        Image img = getImage("5.png");
        //参数:图片对象,出现位置,绘制大小
        graphics.drawImage(img,40,0,1000,680,null);
    }

    /**
     * 初始化窗口
     */
    public void launchFrame(){
        this.setTitle("图片");
        this.setVisible(true);
        this.setSize(1080,680);//窗口大小
        this.setLocation(100,100);//窗口加载位置
        this.setResizable(false);//窗口是否可变大小

        //点击关闭按钮关闭程序
        this.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent windowEvent) {
                super.windowActivated(windowEvent);
                System.exit(0);
            }
        });
    }


    /**
     * 返回指定路径文件的图片对象
     * @param path
     * @return
     */
    public static Image getImage(String path){
        BufferedImage bi = null;
        try{
            URL u = DisplayImage.class.getClassLoader().getResource(path);
            bi = ImageIO.read(u);
        }catch (IOException e){
            e.printStackTrace();
        }
        return bi;
    }
}

运行结果:

 

posted @ 2022-11-09 16:11  在博客做笔记的路人甲  阅读(110)  评论(0编辑  收藏  举报