软件:idea2021.2
文章代码参考自微信公众号:非著名程序员
package resources;
import javax.swing.*;
import java.awt.*;
public class Main {
public static void main(String[] args) {
// write your code here
new DemoFrame();//实例化窗体
}
}
class DemoPlane extends JPanel{
@Override
public void paint(Graphics g){//在paint方法中我们实例化了一个ImageIcon对象,它的参数为图片
super.paint(g);//调用父类中被重写的方法,则必须使用关键字 super
Image image=new ImageIcon("src/resources/demo.jpg").getImage();//文件在src目录下的完整路径(包含文件格式后缀)。
g.drawImage(image,50, 50,100,100,null); //参数分别为图像,x,y,height,weight,observer
//而图像的观察者observer 参数,传递了null值,也可以传 this 即该类为图像的观察者.
// 当 observer 对象为非空时,原始图像更改时会通知观察者
g.drawImage(image,50, 150,200,200,null);//放大图像显示出来
}
}
//新建demoframe类并继承JFrame,完成图片的显示
class DemoFrame extends JFrame {
public DemoFrame() {
this.setTitle("Demo");//窗体标题
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗体退出
this.setSize(500, 500);//窗体默认宽度和高度
this.setVisible(true);//设置显示窗体,默认为false
//实例化DemoPlane
DemoPlane plane = new DemoPlane();
this.add(plane);//把plane添加到窗体中
}
}