Module  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:
        getYRectangularShape
        结果
        边界的Y坐标为 Rectangle
      • getWidth

        public double getWidth​()
        返回 double精度的边界 Rectangle的宽度。
        Specified by:
        getWidthRectangularShape
        结果
        边界的宽度为 Rectangle
      • getHeight

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

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

        请注意, definition of insideness可能会导致bounds对象的定义轮廓上的shape不能被视为包含在返回的bounds对象中的情况,但仅在原始shape中这些点也未被包含的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
        重写:
        getBounds2DRectangle2D
        结果
        的实例 Rectangle2D那是一个高精度边界框 Shape
        从以下版本开始:
        1.2
        另请参见:
        Shape.getBounds()
      • setBounds

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

        包括这种方法的完整性,并行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到指定xywidth ,并height

        包括这种方法的完整性,并行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:
        setRectRectangle2D
        参数
        x - 指定矩形左上角的X坐标
        y - 指定矩形左上角的Y坐标
        width - 指定矩形的宽度
        height - 指定矩形的新高度
      • reshape

        @Deprecated
        public void reshape​(int x,
                            int y,
                            int width,
                            int height)
        已过时。 从JDK 1.1版开始,由setBounds(int, int, int, int)替代。
        设置边界 Rectangle如此 Rectangle到指定 xywidth ,并 height
        参数
        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)
        已过时。 自JDK 1.1版起,由setLocation(int, int)替代。
        将此 Rectangle移动到指定位置。
        参数
        x - 新位置的X坐标
        y - 新位置的Y坐标
      • translate

        public void translate​(int dx,
                              int dy)
        将该指示距离沿着X坐标轴向右移动,并沿着Y坐标轴向下翻译 Rectangle
        参数
        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)
        已过时。 从JDK 1.1版开始,由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)
        已过时。 从JDK 1.1版开始,代之以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包含指定的 Rectangle和这个 Rectangle
      • 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返回false那个Point 如果指定的点必须包含在新的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 s至少有一个维度小于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:
        isEmptyRectangularShape
        结果
        true如果RectangularShape是空的; 否则为false
        从以下版本开始:
        1.2
      • outcode

        public int outcode​(double x,
                           double y)
        确定相对于这个Rectangle2D指定坐标的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包含在指定的 Rectangle2D和这个 Rectangle2D
        从以下版本开始:
        1.2
      • createUnion

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

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

        结果是true当且仅当参数不是null并且是一个Rectangle对象,具有与此Rectangle相同的左上角,宽度和高度。

        重写:
        equalsRectangle2D
        参数
        obj - Object与此 Rectangle进行比较
        结果
        true如果对象相等; 否则为false
        另请参见:
        Object.hashCode()HashMap
      • toString

        public String toString​()
        返回一个 String代表这个 Rectangle及其值。
        重写:
        toStringObject
        结果
        a String representing this Rectangle object's coordinate and size values.