Rectangle,Dimension,Insets跟Point

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一个点,保存了两个值,用于描述坐标位置,里面也有相关的计算方法。