第15章 图形

来源:互联网 发布:桌面便签软件下载 编辑:程序博客网 时间:2024/06/11 01:58
1、图形坐标系
     原点在组件左上角,x坐标向右增加,y坐标向下增加。

2、Graphics类
     在GUI组件上绘制字符串、直线、矩阵、椭圆、弧形、多边形和折线段的方法,是一个抽象类。当第一次显示组件或者任何时候需要显示组件时,JVM都会自动在本地平台上为该组件创建一个Graphics对象,然后传递这个对象来调用paintComponent方法来显示图画。 JVM调用paintComponent在组件上进行绘画,不要直接调用paintComponent。调用super.paintComponent()来调用父类中定义的paintComponent方法。
     一般使用JPanel的子类作为画布类。

3、绘制字符串和图形
     repaint方法是在Component类中定义的,调用repaint方法会导致paintComponent方法被调用,调用repiant方法以刷新视图区域,一般情况下,如果要显示新的东西就应该调用这个方法。
     永远不要直接调用paintComponent方法,它应该在视图区域改变时由JVM调用或者由repaint方法调用,应该覆盖paintC方法告诉系统如何绘制视图区域,但不要覆盖repaint方法。
     覆盖在JPanel子类中的getPreferredSize()方法以确定希望的尺寸,因为默认情况下JPanel尺寸为0x0。
        
  public Dimension getPreferredSize() {          return new Dimension(200, 200);      }

        绘制多边形,使用多边形类Polygon来创建一个Polygon对象
         
          
               

4、使用FontMetrics类居中显示字符串
     FontMetrics类可以对特定字体的字符串测量出确切的宽度和高度。
     



5、显示图像

          
          其中ImageObserver指在创建一个图像时,会指定一个GUI组件接收图像信息的通知。
     为了使用drawImage方法绘制图像,需要覆盖paintComponent方法告诉组件如何在面板内显示图像。
     
    

(注:截图来自梁勇《Java语言程序设计》中文版)
0 0
原创粉丝点击