zoukankan      html  css  js  c++  java
  • paint之Graphics

    在paint方法里面,这个Graphics类就相当于一支画笔。而且就画在那个component里面,比如frame。

     看例子代码:

    import java.awt.*;
    
    public class TestPaint {
        public static void main(String[] args) {
            new PaintFrame();
        }
    }
    
    class PaintFrame extends Frame {
        public PaintFrame() {
            setBounds(200,200,640,480);
            setVisible(true);    
        }
    
        public void paint(Graphics g) {//重写
            Color c = g.getColor();//这支画笔有一个画笔它自己的颜色,然后拿到当前这支画笔的颜色。
            g.setColor(Color.red);
            g.fillOval(50,50,30,30);//画一个实心的椭圆,画椭圆是采用内切矩形来画的。50,50是左上角的坐标,30,30是矩形的宽与高。
            g.setColor(Color.green);
            g.fillRect(80,80,40,40);//画一个矩形
            g.setColor(c);//弄回原来那支笔的颜色,这是一个良好的编程习惯。
        }
    }

    但是大家看,我们并没有调用这个paint方法。那么看见这个paint方法非常特殊,它是自动调用的!

    其实这个窗口建造出来之后就有一支画笔graphics,然后你再调用paint方法(自动)之后会把这个画笔传递给你。你只要拿到这只画笔然后重写这个方法,想画什么就画什么就行了。   

    那么这个paint方法什么时候会被调用呢? 当这个frame需要被重画的时候会被自动调用。比方说,我们的窗口第一次显示的时候会被调用,改变窗口大小的时候会被调用……因为你重新显示嘛那你肯定要把新的东西画出来别人才能看到啊。

  • 相关阅读:
    eclipse配置
    TableViewComponent v2
    4500装机指南
    【翻译】Ext JS 4——Ajax和Rest代理处理服务器端一场和消息的方法
    【翻译】Ext JS——高效的编码风格指南
    JDK8帮助文档生成-笔记
    【翻译】在Ext JS 5种使用ViewControllers
    【翻译】Ext JS最新技巧——2014-5-12
    PS图像特效算法——百叶窗
    人脸表情识别常用的几个数据库
  • 原文地址:https://www.cnblogs.com/wangshen31/p/6938593.html
Copyright © 2011-2022 走看看