`

Rectangle,Dimension,Insets和Point

 
阅读更多

Rectangle:

Rectangle在Draw2D中是很常用的一个类,它不仅仅描述了矩形区域,而且内置了很多计算矩形区域的方法。

在Rectangle里面使用getXXX会克隆一个Rectangle对象返回,一般情况下优先使用getXX方法。

 

1.contains(int x, int y):这个方法好,可以确定鼠标是否在当前区域内。它的重载方法也能判断一个矩形是否在此区域里面。

 

2.expand(Insets insets):此方法计算,当前Rectangle向周边延伸的大小。它向右上角延伸x,y的宽度,向左下角延伸w,h的宽度。这个计算在子的基础上计算父的相对大小很给力,父的大小会根据子的大小变化。

getExpanded(Insets insets):相比expand,它获取了一个新的Rectangle对象,而不是在原有的基础上的一个修改。

 

 

Insets in = new Insets(10, 10, 120, 120);
figure.setBounds(node.getBounds().expand(in));
 

3.shrink(Insets insets):收缩,是一组与expand相对的方法,expand会扩大,shrink是缩小Insets 这么大的尺寸。

 

4.Rectangle还有一组获取位置的信息,什么左上角啊,右前方啊之类的:getBottomLeft,getBottomRight,getCenter

 

5.getCopy:获取一个当前的对象的克隆,信息都是一样的就是内存中有两个对象了。

 

6.intersect(Rectangle rect),getIntersection(Rectangle rect):计算出两个矩形的交集。

 

7.getPosition(Point p):获取点相对矩形的位置,如果在矩形中则为PositionConstants.NONE,其他的几个也用PositionConstants描述。

 

8.resize(Dimension d),getResized(Dimension d):增加尺寸

 

9.translate(int dx, int dy),getTranslated(Point pt),getTranslated(int dx, int dy):改变了x,y的坐标。

 

10.transpose():把当前矩形旋转90度。

 

11.union(int x1, int y1),getUnion(Point p):计算后的结果x,y变小了,h,w变大了。

 

12.touches(Rectangle rect):接壤,只要有接触就判断为true。

 

13.intersects(Rectangle rect):相交,需要形成一个新的矩形,才能称之为相交

 

 

Dimension:

Dimension跟Rectangle的作用类似,只不过Rectangle里面是四个值描述整个矩形,而Dimension是两个值,主要描述长度和宽度此类里面也有些相关的计算方法,想使用可以直接看看源代码,方法名跟Rectangle类似。

 

Insets:

Insets里面也存储了四个值,但是它描述的不是矩形,而是矩形的四个位置的值,类似上下左右的宽度之类。

 

Point:

Point一个点,保存了两个值,用于描述坐标位置,里面也有相关的计算方法。

分享到:
评论

相关推荐

    题目详情31

    通过组合 Point 和 Dimension 类,Rectangle 类可以更灵活地表示和操作矩形,同时保持代码的模块化和可维护性。在实现这些类时,应确保它们的功能完整且符合题目要求,例如正确计算距离、面积,以及正确移动矩形和...

    定义一个名为rectangle 的矩形类,其属性数据为矩形左上角和右上角的点的坐标能计算矩形的面积

    同时,为了提高代码的可读性和可维护性,我们可以考虑将`Point`和`Rectangle`类放入各自的模块或文件中,然后在主程序中导入和使用。 总结一下,创建一个名为`rectangle`的矩形类,其属性数据为矩形左上角和右上角...

    类Point_point类_

    `Point`类通常用于表示二维坐标系统中的一个点,而`Rectangle`类则表示具有长度和宽度的矩形。 首先,我们从`Point`类开始。`Point`类通常有两个属性,即`x`和`y`,分别代表点在坐标系中的横纵坐标。在Python中,...

    C# Rectangle基本用法和图片切割源码

    - 或者使用`Location`和`Size`,如`Rectangle rect = new Rectangle(new Point(10, 20), new Size(30, 40));` 2. 操作`Rectangle`: - 改变尺寸:`rect.Size = new Size(50, 60);` - 移动位置:`rect.Location =...

    1_Point Rectangle.zip

    标题 "1_Point Rectangle.zip" 暗示了这个压缩包可能包含与计算机图形学或编程相关的资料,特别是关于“点”和“矩形”的概念。在IT领域,点和矩形是基本的图形元素,广泛应用于游戏开发、图像处理、用户界面设计等...

    按以下描述和要求建立两个类:基类 Rectangle(矩形类) 和派生类 Cube(正方体)

    按以下描述和要求建立两个类:基类 Rectangle(矩形类) 和派生类 Cube(正方体) 1. Rectangle 私有成员:  double x1, y1; //左下角的坐标  double x2, y2; //右上角的坐标 公有成员:  带缺省值的构造...

    Qt Qml 可拖动设置Rectangle大小Demo

    4. **防止负数宽度和高度**:在调整大小时,我们需要确保Rectangle的宽度和高度始终大于零,以避免显示问题。 以下是一个简单的代码示例,展示了如何实现这个功能: ```qml import QtQuick 2.0 Rectangle { id: ...

    Rectangle 类的VC++程序源码

    这个“Rectangle 类的VC++程序源码”是一个基础的编程练习,旨在帮助初学者理解面向对象编程(OOP)的核心概念,特别是类和对象在C++中的应用。以下是对这个练习涉及的知识点的详细解释: 1. **类(Class)**:在C++...

    C#-矩形-Rectangle

    2. `Rectangle(Point location, Size size)`: 通过一个点的位置和一个大小创建矩形。 三、`Rectangle`类的方法 1. `Inflate(int width, int height)`: 扩展或收缩矩形的边界,根据给定的宽度和高度值。 2. `...

    point类_三点的三角形的周长、面积_编程求解矩形和圆面积_java

    "Point类、三角形的周长和面积、矩形和圆的面积的编程求解_java" 点类是一种基本的几何形状,具有x和y坐标。在编程中,点类通常用来表示空间中的一个点。Point类中有两个私有成员变量x和y,分别表示点的x和y坐标。...

    Rectangle_#1_卫图.rar

    标题中的“Rectangle_#1_卫图.rar”表明这是一个压缩文件,主要包含与矩形区域相关的卫星图像数据。从描述中我们可以推断,这个压缩包里有两部分关键内容:一是高程数据,二是卫星图,这两部分数据都与北京怀柔...

    Rectangle 矩形求面积 c++

    本实验题目是"Rectangle 矩形求面积",这是北邮C++实验课程的一个作业,旨在让学生掌握C++的基本语法和类的使用。 首先,我们需要了解C++中的类(Class)。类是面向对象编程的核心元素,它定义了一组属性(数据成员)...

    初学java之接口的一个小程序 Circle Rectangle

    初学java之接口的一个小程序 Circle Rectangle

    opencv Trackbar和Rectangle之间的图形显示延迟

    img = cv2.rectangle(img, (0, 0), (100, rect_height), (255, 0, 0), 2) cv2.imshow('Image', img) # 创建图像 img = cv2.imread('image.jpg') # 创建滑动条 cv2.createTrackbar('Height', 'Image', 0, 200, on...

    java创建一个Rectangle类,并输出矩形周长及面积

    实现利用Rectangle输出一个矩形的周长和面积

    java 实验 继承与多态rectAngle 定义矩形类源代码

    java 实验 继承与多态rectAngle 定义矩形类,用户输入矩形的长与宽,程序计算其面积和周长;派生子类正方形类,定义一个接口Printable源代码

    Rectangle程序分析

    Rectangle程序分析

    C++ 课程作业 继承与派生(Shape Circle Rectangle类的设计,继承与派生)

    编写一个Shape类并派生出Circle类和Rectangle类,观察运行机制。 shape类有以下成员 1)私有成员m_ID 2)公有getter和setter 3)计算面积函数getArea(),返回0; 4)构造与析构函数 Circle类从shape类继承,并派生...

    Rectangle仿flash交互漂亮个人简历模板

    【标题】:“Rectangle仿flash交互漂亮个人简历模板” 在当今数字化时代,个人简历已经不再局限于传统的纸质形式,而是转向了更具交互性和视觉吸引力的在线版本。"Rectangle仿flash交互漂亮个人简历模板"就是一个很...

Global site tag (gtag.js) - Google Analytics