AWT Rectangle2D 类



简介

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

类声明

以下是java.awt.geom.Rectangle2D类的声明

public abstract class Rectangle2D
   extends RectangularShape

字段

以下是java.awt.geom.Arc2D类的字段

  • static int OUT_BOTTOM -- 指示点位于此 Rectangle2D 下方的位掩码。

  • static int OUT_LEFT -- 指示点位于此 Rectangle2D 左侧的位掩码。

  • static int OUT_RIGHT -- 指示点位于此 Rectangle2D 右侧的位掩码。

  • static int OUT_TOP -- 指示点位于此 Rectangle2D 上方的位掩码。

类构造函数

序号构造函数和说明
1

protected Rectangle2D()

这是一个抽象类,不能直接实例化。

类方法

序号方法和说明
1

void add(double newx, double newy)

将由双精度参数 newx 和 newy 指定的点添加到此 Rectangle2D。

2

void add(Point2D pt)

将 Point2D 对象 pt 添加到此 Rectangle2D。

3

void add(Rectangle2D r)

将 Rectangle2D 对象添加到此 Rectangle2D。

4

boolean contains(double x, double y)

测试指定的坐标是否在 Shape 的边界内。

5

boolean contains(double x, double y, double w, double h)

测试 Shape 的内部是否完全包含指定的矩形区域。

6

abstract Rectangle2D createIntersection(Rectangle2D r)

返回一个新的 Rectangle2D 对象,表示此 Rectangle2D 与指定的 Rectangle2D 的交集。

7

abstract Rectangle2D createUnion(Rectangle2D r)

返回一个新的 Rectangle2D 对象,表示此 Rectangle2D 与指定的 Rectangle2D 的并集。

8

boolean equals(Object obj)

确定指定的对象是否等于此 Rectangle2D。

9

Rectangle2D getBounds2D()

返回 Shape 的高精度和更精确的边界框,比 getBounds 方法更精确。

10

PathIterator getPathIterator(AffineTransform at)

返回一个迭代器对象,该对象定义此 Rectangle2D 的边界。

11

PathIterator getPathIterator(AffineTransform at, double flatness)

返回一个迭代器对象,该对象定义扁平化 Rectangle2D 的边界。

12

int hashCode()

返回此 Rectangle2D 的哈希码。

13

static void intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)

将一对指定的源 Rectangle2D 对象相交,并将结果放入指定的目的地 Rectangle2D 对象中。

14

boolean intersects(double x, double y, double w, double h)

测试 Shape 的内部是否与指定的矩形区域的内部相交。

15

boolean intersectsLine(double x1, double y1, double x2, double y2)

测试指定的线段是否与此 Rectangle2D 的内部相交。

16

boolean intersectsLine(Line2D l)

测试指定的线段是否与此 Rectangle2D 的内部相交。

17

abstract int outcode(double x, double y)

确定指定的坐标相对于此 Rectangle2D 的位置。

18

int outcode(Point2D p)

确定指定的 Point2D 相对于此 Rectangle2D 的位置。

19

void setFrame(double x, double y, double w, double h)

将此 Rectangle2D 的外部边界的位 置和大小设置为指定的矩形值。

20

abstract void setRect(double x, double y, double w, double h)

将此 Rectangle2D 的位置和大小设置为指定的双精度值。

21

void setRect(Rectangle2D r)

将此 Rectangle2D 设置为与指定的 Rectangle2D 相同。

22

static void union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)

将一对源 Rectangle2D 对象合并,并将结果放入指定的目的地 Rectangle2D 对象中。

继承的方法

此类继承自以下类的方法

  • java.awt.geom.RectangularShape

  • java.lang.Object

Rectangle2D 示例

使用您选择的任何编辑器创建以下 Java 程序,例如在D:/ > AWT > com > tutorialspoint > gui >中。

AWTGraphicsDemo.java
package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;

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);
   }
}

使用命令提示符编译程序。转到D:/ > AWT并键入以下命令。

D:\AWT>javac com\tutorialspoint\gui\AWTGraphicsDemo.java

如果没有错误,则表示编译成功。使用以下命令运行程序。

D:\AWT>java com.tutorialspoint.gui.AWTGraphicsDemo

验证以下输出

AWT Rectangle2D
awt_graphics.htm
广告