模块  java.desktop
软件包  java.awt

Class Rectangle

    • 构造方法详细信息

      • Rectangle

        public Rectangle()
        构造一个新的 Rectangle其左上角在坐标空间中位于(0,0),其宽度和高度均为零。
      • Rectangle

        public Rectangle​(Rectangle r)
        构造一个新的 Rectangle ,初始化为匹配指定的值 Rectangle
        参数
        r -所述 Rectangle从中初始值复制到新构造的 Rectangle
        从以下版本开始:
        1.1
      • Rectangle

        public Rectangle​(int x,
                         int y,
                         int width,
                         int height)
        构造一个新的 Rectangle其左上角指定为 (x,y) ,其宽度和高度由同名参数指定。
        参数
        x - 指定的X坐标
        y - 指定的Y坐标
        width -所述的宽度 Rectangle
        height -的高度 Rectangle
        从以下版本开始:
        1.0
      • Rectangle

        public Rectangle​(int width,
                         int height)
        构造一个新的 Rectangle其左上角在坐标空间中位于(0,0),其宽度和高度由相同名称的参数指定。
        参数
        width -所述的宽度 Rectangle
        height -的高度 Rectangle
      • Rectangle

        public Rectangle​(Point p,
                         Dimension d)
        构造一个新的Rectangle其左上角由Point参数指定,其宽度和高度由Dimension参数指定。
        参数
        p - Point这是 Rectangle
        d -一个 Dimension ,代表的宽度和高度 Rectangle
      • Rectangle

        public Rectangle​(Point p)
        构造一个新的 Rectangle其左上角是指定的 Point ,其宽度和高度均为零。
        参数
        p - Point ,这是 Rectangle
      • Rectangle

        public Rectangle​(Dimension d)
        构造一个新的 Rectangle其左上角为(0,0),其宽度和高度由 Dimension参数指定。
        参数
        d - a Dimension ,指定宽度和高度
    • 方法详细信息

      • getX

        public double getX()
        double精度返回边界 Rectangle的X坐标。
        Specified by:
        getXRectangularShape
        结果
        边界的X坐标 Rectangle
      • getY

        public double getY()
        double精度返回边界 Rectangle的Y坐标。
        Specified by:
        getY在课程 RectangularShape
        结果
        边界的Y坐标 Rectangle
      • getWidth

        public double getWidth()
        double精度返回边界 Rectangle的宽度。
        Specified by:
        getWidth在课程 RectangularShape
        结果
        边界的宽度 Rectangle
      • getHeight

        public double getHeight()
        double精度返回边界 Rectangle的高度。
        Specified by:
        getHeight在类 RectangularShape
        结果
        边界的高度 Rectangle
      • getBounds2D

        public Rectangle2D getBounds2D()
        返回Shape高精度和更精确的边界框,而不是getBounds方法。 请注意,不保证返回的Rectangle2D是最小的边框包围Shape ,只表示Shape完全在指定的范围内Rectangle2D 此方法返回的边界框通常比getBounds方法返回的边界框更紧密,并且由于溢出问题而永远不会失败,因为返回值可以是使用双精度值来存储尺寸的Rectangle2D的实例。

        请注意, definition of insideness可能导致shape定义轮廓上的shape可能不被视为包含在返回的bounds对象中,但仅限于原始shape未包含这些点的情况。

        如果point是内部shape根据contains(point)方法,那么它必须是内部返回Rectangle2D界限根据对象contains(point)所述的方法bounds 特别:

        shape.contains(p)需要bounds.contains(p)

        如果point不在shape ,则它可能仍包含在bounds对象中:

        bounds.contains(p)并不shape.contains(p)

        Specified by:
        getBounds2D在界面 Shape
        重写:
        getBounds2D在课程 Rectangle2D
        结果
        的实例 Rectangle2D那是一个高精度边界框 Shape
        从以下版本开始:
        1.2
        另请参见:
        Shape.getBounds()
      • setBounds

        public void setBounds​(Rectangle r)
        设置此Rectangle的边界Rectangle以匹配指定的Rectangle

        为了完整性,包括该方法,以与setBounds方法的setBounds方法Component

        参数
        r - 指定的 Rectangle
        从以下版本开始:
        1.1
        另请参见:
        getBounds()Component.setBounds(java.awt.Rectangle)
      • setBounds

        public void setBounds​(int x,
                              int y,
                              int width,
                              int height)
        设置边界Rectangle如此Rectangle到指定xywidthheight

        为了完整性,包括该方法,以与setBounds方法Component

        参数
        x - 此 Rectangle左上角的新X坐标
        y - 此 Rectangle左上角的新Y坐标
        width - 这个 Rectangle的新宽度
        height - 这个新的高度 Rectangle
        从以下版本开始:
        1.1
        另请参见:
        getBounds()Component.setBounds(int, int, int, int)
      • setRect

        public void setRect​(double x,
                            double y,
                            double width,
                            double height)
        设置此的边界Rectangle为整数范围,其包含指定的xywidth ,和height 如果参数指定超过最大整数范围的Rectangle ,则结果将是与最大整数边界相交的指定Rectangle的最佳表示。
        Specified by:
        setRect ,类 Rectangle2D
        参数
        x - 指定矩形左上角的X坐标
        y - 指定矩形左上角的Y坐标
        width - 指定矩形的宽度
        height - 指定矩形的新高度
      • reshape

        @Deprecated
        public void reshape​(int x,
                            int y,
                            int width,
                            int height)
        Deprecated.
        As of JDK version 1.1, replaced by setBounds(int, int, int, int).
        设置边界 Rectangle如此 Rectangle到指定 xywidthheight
        参数
        x - 此 Rectangle左上角的新X坐标
        y - 此 Rectangle左上角的新Y坐标
        width - 这个 Rectangle的新宽度
        height - 这个新的高度 Rectangle
      • setLocation

        public void setLocation​(Point p)
        将此Rectangle移动到指定位置。

        为了完整性,包括该方法,以与setLocation方法Component

        参数
        p - Point指定此 Rectangle的新位置
        从以下版本开始:
        1.1
        另请参见:
        Component.setLocation(java.awt.Point)getLocation()
      • setLocation

        public void setLocation​(int x,
                                int y)
        将此Rectangle移动到指定位置。

        为了完整性,包括该方法,以与setLocation方法Component

        参数
        x - 新位置的X坐标
        y - 新位置的Y坐标
        从以下版本开始:
        1.1
        另请参见:
        getLocation()Component.setLocation(int, int)
      • move

        @Deprecated
        public void move​(int x,
                         int y)
        Deprecated.
        As of JDK version 1.1, replaced by setLocation(int, int).
        将此 Rectangle移动到指定位置。
        参数
        x - 新位置的X坐标
        y - 新位置的Y坐标
      • translate

        public void translate​(int dx,
                              int dy)
        将此指定距离转换为 Rectangle ,沿X坐标轴向右,沿Y坐标轴向下转换。
        参数
        dx - 沿X轴移动此 Rectangle的距离
        dy - 沿Y轴移动此 Rectangle的距离
        另请参见:
        setLocation(int, int)setLocation(java.awt.Point)
      • getSize

        public Dimension getSize()
        获取此Rectangle的大小,由返回的Dimension表示。

        为了完整性,包括该方法,以与getSize方法Component

        结果
        Dimension ,表示这个 Rectangle
        从以下版本开始:
        1.1
        另请参见:
        Component.getSize()setSize(Dimension)setSize(int, int)
      • setSize

        public void setSize​(Dimension d)
        设置此Rectangle的大小以匹配指定的Dimension

        为了完整性,包括该方法,以与setSize方法Component

        参数
        d - Dimension对象的新大小
        从以下版本开始:
        1.1
        另请参见:
        Component.setSize(java.awt.Dimension)getSize()
      • setSize

        public void setSize​(int width,
                            int height)
        将此Rectangle的大小设置为指定的宽度和高度。

        为了完整性,包括该方法,以与setSize方法Component

        参数
        width - 这个新的宽度 Rectangle
        height - 此 Rectangle的新高度
        从以下版本开始:
        1.1
        另请参见:
        Component.setSize(int, int)getSize()
      • resize

        @Deprecated
        public void resize​(int width,
                           int height)
        Deprecated.
        As of JDK version 1.1, replaced by setSize(int, int).
        将此 Rectangle的大小设置为指定的宽度和高度。
        参数
        width - 这个 Rectangle的新宽度
        height - 这个新的高度 Rectangle
      • contains

        public boolean contains​(Point p)
        检查此 Rectangle是否包含指定的 Point
        参数
        p - Point进行测试
        结果
        true若指定的Point在此Rectangle ; 否则为false
        从以下版本开始:
        1.1
      • contains

        public boolean contains​(int x,
                                int y)
        检查此 Rectangle是否包含指定位置 (x,y)处的点。
        参数
        x - 指定的X坐标
        y - 指定的Y坐标
        结果
        true如果点(x,y)Rectangle ; 否则为false
        从以下版本开始:
        1.1
      • contains

        public boolean contains​(Rectangle r)
        检查此 Rectangle是否完全包含指定的 Rectangle
        参数
        r - 指定的 Rectangle
        结果
        true如果Rectangle完全包含在此Rectangle ; 否则为false
        从以下版本开始:
        1.2
      • contains

        public boolean contains​(int X,
                                int Y,
                                int W,
                                int H)
        检查这是否 Rectangle完全包含 Rectangle在指定位置 (X,Y)具有指定尺寸 (W,H)
        参数
        X - 指定的X坐标
        Y - 指定的Y坐标
        W -所述的宽度 Rectangle
        H -的高度 Rectangle
        结果
        true如果Rectangle指定的(X, Y, W, H)完全包含在此Rectangle ; 否则为false
        从以下版本开始:
        1.1
      • inside

        @Deprecated
        public boolean inside​(int X,
                              int Y)
        Deprecated.
        As of JDK version 1.1, replaced by contains(int, int).
        检查此 Rectangle是否包含指定位置 (X,Y)处的点。
        参数
        X - 指定的X坐标
        Y - 指定的Y坐标
        结果
        true若点(X,Y)Rectangle ; 否则为false
      • intersects

        public boolean intersects​(Rectangle r)
        确定此Rectangle和指定的Rectangle相交。 如果它们的交点非空,则两个矩形相交。
        参数
        r - 指定的 Rectangle
        结果
        true如果指定Rectangle和此Rectangle相交; 否则为false
      • intersection

        public Rectangle intersection​(Rectangle r)
        计算此Rectangle与指定的Rectangle 返回一个新的Rectangle ,表示两个矩形的交集。 如果两个矩形不相交,则结果将为空矩形。
        参数
        r - 指定的 Rectangle
        结果
        最大的Rectangle包含在指定的RectangleRectangle ; 或者如果矩形不相交,则为空矩形。
      • union

        public Rectangle union​(Rectangle r)
        计算此Rectangle与指定的Rectangle 返回一个新的Rectangle ,表示两个矩形的并集。

        如果Rectangle任何维度小于零,则适用non-existent矩形的规则。 如果只有一个维度小于零,那么结果将是另一个Rectangle的副本。 如果两者的维数小于零,则结果将至少有一个小于零的维度。

        如果生成的Rectangle的维度太大而无法表示为int ,则该维度的结果维度为Integer.MAX_VALUE

        参数
        r - 指定的 Rectangle
        结果
        最小的 Rectangle包含指定的 RectangleRectangle
      • add

        public void add​(int newx,
                        int newy)
        将整数参数newx,newy指定的点添加到此Rectangle的边界。

        如果此Rectangle任何维度小于零,则适用non-existent矩形的规则。 在这种情况下,此Rectangle的新边界将具有等于指定坐标的位置,宽度和高度等于零。

        添加点后,使用添加的点作为参数调用contains不一定返回true contains方法不返回true用于在右侧或底部边缘点Rectangle 因此,如果添加的点落在放大的Rectangle的右边缘或底边缘,则contains将返回该点的false 如果指定的点必须包含在新的Rectangle ,则应添加1x1矩形:

          r.add(newx, newy, 1, 1); 
        参数
        newx - 新点的X坐标
        newy - 新点的Y坐标
      • add

        public void add​(Point pt)
        添加指定Point本的界限Rectangle

        如果此Rectangle具有小于零的任何维度,则适用non-existent矩形的规则。 在这种情况下,此Rectangle的新边界的位置将等于指定的Point的坐标,宽度和高度等于零。

        添加Point ,调用contains并添加Point作为参数不一定返回true contains方法不返回true用于在右侧或底部边缘点Rectangle 因此,如果添加的Point位于放大的Rectangle的右边缘或下边缘,则contains将返回falsePoint 如果指定的点必须包含在新的Rectangle ,则应添加1x1矩形:

          r.add(pt.x, pt.y, 1, 1); 
        参数
        pt - 新增 Point加入此 Rectangle
      • add

        public void add​(Rectangle r)
        添加Rectangle到这个Rectangle 结果Rectangle是两个矩形的并集。

        如果Rectangle任何维度小于0,则结果将具有另一个维度Rectangle 如果两个Rectangle都至少有一个小于0的维度,则结果将至少有一个小于0的维度。

        如果Rectangle中的一个或两个维度等于0,那么沿着那些具有0维度的轴的结果将等于通过将相应的原点坐标沿着该轴添加到结果矩形而获得的结果,类似于add(Point)方法的操作,但除此之外没有进一步的贡献。

        如果生成的Rectangle的维度太大而无法表示为int ,则该维度的结果维度为Integer.MAX_VALUE

        参数
        r - 指定的 Rectangle
      • grow

        public void grow​(int h,
                         int v)
        水平和垂直调整Rectangle

        此方法会修改Rectangle ,以便它是h在左侧和右侧两者更大的单位,以及v单元在顶部和底部都增加。

        新的Rectangle(x - h, y - v) ,宽度为(width + 2h) ,高度为(height + 2v)

        如果为hv提供h ,则v的大小会Rectangle减小。 grow方法将检查整数溢出和下溢,但不检查widthheight的结果值是从负值增长到非负值还是从非负值减少到负值。

        参数
        h - 横向扩展
        v - 垂直扩展
      • isEmpty

        public boolean isEmpty()
        确定RectangularShape是否为空。 RectangularShape为空时,它不包含任何区域。
        Specified by:
        isEmpty在类 RectangularShape
        结果
        trueRectangularShape为空; 否则为false
        从以下版本开始:
        1.2
      • outcode

        public int outcode​(double x,
                           double y)
        确定指定坐标相对于此Rectangle2D 此方法计算适当的掩码值的二进制OR,表示对于此Rectangle2D每一侧,指定的坐标是否与该Rectangle2D的其余部分位于边缘的同一侧。
        Specified by:
        outcodeRectangle2D
        参数
        x - 指定的X坐标
        y - 指定的Y坐标
        结果
        所有适当输出代码的逻辑或。
        从以下版本开始:
        1.2
        另请参见:
        Rectangle2D.OUT_LEFTRectangle2D.OUT_TOPRectangle2D.OUT_RIGHTRectangle2D.OUT_BOTTOM
      • createIntersection

        public Rectangle2D createIntersection​(Rectangle2D r)
        返回一个新的 Rectangle2D对象,表示此 Rectangle2D与指定的 Rectangle2D
        Specified by:
        createIntersectionRectangle2D
        参数
        r -将 Rectangle2D与此相交 Rectangle2D
        结果
        最大的 Rectangle2D包含在指定的 Rectangle2DRectangle2D
        从以下版本开始:
        1.2
      • createUnion

        public Rectangle2D createUnion​(Rectangle2D r)
        返回一个新的 Rectangle2D对象,表示此 Rectangle2D与指定的 Rectangle2D
        Specified by:
        createUnion在类 Rectangle2D
        参数
        r - Rectangle2D与此 Rectangle2D结合使用
        结果
        最小的 Rectangle2D包含指定的 Rectangle2DRectangle2D
        从以下版本开始:
        1.2
      • equals

        public boolean equals​(Object obj)
        检查两个矩形是否相等。

        结果为true当且仅当参数不是null并且是Rectangle对象时,其左上角,宽度和高度与此Rectangle

        重写:
        equals在课程 Rectangle2D
        参数
        obj -将 Object与此相比 Rectangle
        结果
        true如果对象相等; 否则为false
        另请参见:
        Object.hashCode()HashMap
      • toString

        public String toString()
        返回 String表示此 Rectangle及其价值。
        重写:
        toString ,类 Object
        结果
        String表示此 Rectangle对象的坐标和大小值。