java绘图(将大照片绘制成一个小的照片)

    覆盖JPanel的paint方法
    Graphics是绘图的重要类,你可以将它理解为一个画笔
    paint这个方法在组件中进行自动调用
    以下情况下:paint()将会被调用
        1.窗口的最大化,再最大化
        2.窗口的大小发生变化
       3. repaint函数被调用

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

public class Demo_tanke extends JFrame {

    public static void main(String[] args) {
        
        Demo_tanke demo_tanke = new Demo_tanke();
        
    }
    public Demo_tanke() {
        
        MyPanel mp = new MyPanel();
        
        this.add(mp);
        
        this.setSize(400,300);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }

}
//定义一个Mypanel
class MyPanel extends JPanel
{
    //覆盖JPanel的paint方法
    //Graphics是绘图的重要类,你可以将它理解为一个画笔
    //paint这个方法在组件中进行自动调用
    //以下情况下:paint()将会被调用
    //窗口的最大化,再最大化
    //窗口的大小发生变化
    //repaint函数被调用
    public void paint(Graphics g) {
        //1.调用父类函数完成初始化
        //这句话不能少,其中repaint是代表刷新组件的外观,paint代表绘制组件的外观
        super.paint(g);
        //先画一个圆
//        g.drawOval(50, 50, 100, 100);
//        g.drawLine(30, 30, 90, 100);
//        g.draw3DRect(20, 30, 30, 350, true);
//        
//        g.setColor(Color.blue);
//        g.fillRect(10, 10, 40, 60);
        //面板上画图
        //重新画图
        Image img = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/a.jpg"));
        //显示
        g.drawImage(img, 90, 90, 200, 150, this);

    }
}

绘制结果:

猜你喜欢

转载自blog.csdn.net/manchengpiaoxue/article/details/84567497