AWT Rectangle2D类

1 什么是Java AWT Rectangle2D

Rectangle2D 类表示由位置 (x,y) 和尺寸 (wxh) 定义的矩形。

2 Java AWT Rectangle2D的语法

public abstract class Rectangle2D
   extends RectangularShape

3 Java AWT Rectangle2D的构造方法

构造方法 描述
protected Rectangle2D() 这是一个不能直接实例化的抽象类。

4 Java AWT Rectangle2D的方法

方法 描述
void add(double newx, double newy) 向此 Rectangle2D 添加一个由双精度参数 newx 和 newy 指定的点。
void add(Point2D pt) 将 Point2D 对象 pt 添加到此 Rectangle2D。
void add(Rectangle2D r) 将 Rectangle2D 对象添加到此 Rectangle2D。
boolean contains(double x, double y) 测试指定的坐标是否在 Shape 的边界内。
boolean contains(double x, double y, double w, double h) 测试 Shape 的内部是否完全包含指定的矩形区域。
abstract Rectangle2D createIntersection(Rectangle2D r) 返回一个新的 Rectangle2D 对象,该对象表示此 Rectangle2D 与指定的 Rectangle2D 的交集。
abstract Rectangle2D createUnion(Rectangle2D r) 返回一个新的 Rectangle2D 对象,表示此 Rectangle2D 与指定的 Rectangle2D 的并集。
boolean equals(Object obj) 确定指定的 Object 是否等于此 Rectangle2D。
Rectangle2D getBounds2D() 返回比 getBounds 方法更高精度和更准确的 Shape 边界框。
PathIterator getPathIterator(AffineTransform at) 返回定义此 Rectangle2D 边界的迭代对象。
PathIterator getPathIterator(AffineTransform at, double flatness) 返回定义扁平 Rectangle2D 边界的迭代对象。
int hashCode() 返回此 Rectangle2D 的哈希码。
static void intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest) 与指定的源 Rectangle2D 对象对相交,并将结果放入指定的目标 Rectangle2D 对象中。
boolean intersects(double x, double y, double w, double h) 测试 Shape 的内部是否与指定矩形区域的内部相交。
boolean intersectsLine(double x1, double y1, double x2, double y2) 测试指定的线段是否与此 Rectangle2D 的内部相交。
boolean intersectsLine(Line2D l) 测试指定的线段是否与此 Rectangle2D 的内部相交。
abstract int outcode(double x, double y) 确定指定坐标相对于此 Rectangle2D 的位置。
int outcode(Point2D p) 确定指定的 Point2D 相对于此 Rectangle2D 的位置。
void setFrame(double x, double y, double w, double h) 将此 Rectangle2D 的外边界的位置和大小设置为指定的矩形值。
abstract void setRect(double x, double y, double w, double h) 将此 Rectangle2D 的位置和大小设置为指定的双精度值。
void setRect(Rectangle2D r) 将此 Rectangle2D 设置为与指定的 Rectangle2D 相同。
static void union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest) 联合源 Rectangle2D 对象对并将结果放入指定的目标 Rectangle2D 对象中。

5 Java AWT Rectangle2D的例子

让我们看一个简单的Java AWT Rectangle2D类示例。

package com.yiidian;

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.geom.Rectangle2D;

public class AWTGraphicsDemo extends Frame {
       
   public AWTGraphicsDemo(){
      super("一点教程网:Java AWT Examples");
      prepareGUI();
   }

   public static void main(String[] args){
      AWTGraphicsDemo  awtGraphicsDemo = new AWTGraphicsDemo();  
      awtGraphicsDemo.setVisible(true);
   }

   private void prepareGUI(){
      setSize(400,400);
      addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      }); 
   }    

   @Override
   public void paint(Graphics g) {
      Rectangle2D shape = new Rectangle2D.Float();
      shape.setFrame(100, 150, 200,100);
      Graphics2D g2 = (Graphics2D) g; 
      g2.draw (shape);
      Font font = new Font("Serif", Font.PLAIN, 24);
      g2.setFont(font);
      g.drawString("Welcome to TutorialsPoint", 50, 70);
      g2.drawString("Rectangle2D.Rectangle", 100, 120);
   }
}

输出结果为:

热门文章

优秀文章