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 上方的位掩码。

类构造函数

S.N.构造函数 &描述
1

protected Rectangle2D()

这是一个抽象类,无法直接实例化。

类方法

S.N.方法 &描述
1

void add(double newx, double newy)

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

2

void add(Point2D pt)

向此 Rectangle2D 添加 Point2D 对象 pt。

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)

确定指定的 Object 是否等于此 Rectangle2D。

9

Rectangle2D getBounds2D()

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

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 的内部相交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 的位置和大小设置为指定的 double 值。

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 示例

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

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	utorialspoint\gui\AWTGraphicsDemo.java

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

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

验证以下输出

AWT Rectangle2D

awt_graphics.html