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

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>demo1</artifactId> <version>1.0-SNAPSHOT</version> <name>demo1</name> <properties> <maven.compiler.source>22</maven.compiler.source> <maven.compiler.target>22</maven.compiler.target> <javafx.version>22.0.1</javafx.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junit.version>5.10.2</junit.version> </properties> <dependencies> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>${javafx.version}</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>${javafx.version}</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-web</artifactId> <version>${javafx.version}</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-swing</artifactId> <version>${javafx.version}</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-media</artifactId> <version>${javafx.version}</version> </dependency> <dependency> <groupId>org.controlsfx</groupId> <artifactId>controlsfx</artifactId> <version>11.2.1</version> <exclusions> <exclusion> <groupId>org.openjfx</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.dlsc.formsfx</groupId> <artifactId>formsfx-core</artifactId> <version>11.6.0</version> <exclusions> <exclusion> <groupId>org.openjfx</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>net.synedra</groupId> <artifactId>validatorfx</artifactId> <version>0.5.0</version> <exclusions> <exclusion> <groupId>org.openjfx</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.kordamp.ikonli</groupId> <artifactId>ikonli-javafx</artifactId> <version>12.3.1</version> </dependency> <dependency> <groupId>org.kordamp.bootstrapfx</groupId> <artifactId>bootstrapfx-core</artifactId> <version>0.4.0</version> </dependency> <dependency> <groupId>eu.hansolo</groupId> <artifactId>tilesfx</artifactId> <version>21.0.3</version> <exclusions> <exclusion> <groupId>org.openjfx</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.github.almasb</groupId> <artifactId>fxgl</artifactId> <version>17.3</version> <exclusions> <exclusion> <groupId>org.openjfx</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.13.0</version> <configuration> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.4.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>philosopher.MainApp</mainClass> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/com.sun.jna.NativeLibraryMapper</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/org.controlsfx.tools.BundledExtension</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.spi.ProviderForFactory</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.fxml.LoadListener</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.input.InputMethodHighlight</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.shape.TriangleMeshConverter</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.util.Builder</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.beans.value.ChangeListener</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.collections.ListChangeListener</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.collections.SetChangeListener</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.collections.MapChangeListener</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.event.EventHandler</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.animation.AnimationTimer</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.application.Preloader</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.stage.Screen$ScreenAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.stage.Window$WindowAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.Scene$SceneAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.Node$NodeAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.Region$RegionAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.control.Control$ControlAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.text.Font$FontAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.image.Image$ImageAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.paint.Color$ColorAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.transform.Transform$TransformAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.geometry.Point2D$Point2DAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.geometry.Rectangle2D$Rectangle2DAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.geometry.Dimension2D$Dimension2DAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.geometry.Bounds$BoundsAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.geometry.VPos$VPosAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.geometry.HPos$HPosAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.effect.Effect$EffectAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.media.MediaPlayer$MediaPlayerAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.web.WebEngine$WebEngineAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.canvas.GraphicsContext$GraphicsContextAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.chart.Chart$ChartAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.control.cell.Cell$CellAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.control.skin.SkinBase$SkinBaseAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.Background$BackgroundAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.Border$BorderAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.CornerRadii$CornerRadiiAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.Insets$InsetsAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.Padding$PaddingAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.StackPane$StackPaneAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.AnchorPane$AnchorPaneAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.GridPane$GridPaneAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.Pane$PaneAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.VBox$VBoxAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.HBox$HBoxAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.BorderStroke$BorderStrokeAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.BorderWidths$BorderWidthsAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.BackgroundFill$BackgroundFillAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.BackgroundImage$BackgroundImageAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.BackgroundPosition$BackgroundPositionAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.BackgroundRepeat$BackgroundRepeatAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.BackgroundSize$BackgroundSizeAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.BackgroundClip$BackgroundClipAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.BackgroundOrigin$BackgroundOriginAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.BackgroundAttachment$BackgroundAttachmentAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.BackgroundBlendMode$BackgroundBlendModeAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.BackgroundContentBias$BackgroundContentBiasAccessor</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/services/javafx.scene.layout.BackgroundFit$BackgroundFitAccessor</resource> </transformer> </transformers> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>这是我的pom.xml
最新发布
06-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值