gpt4 book ai didi

java - 在矩形内约束矩形

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:00:31 25 4
gpt4 key购买 nike

我在程序中使用 Java 的 Rectangle 类。

我有两个 Rectangle 对象:

Rectangle big = new Rectangle(...);
Rectangle small = new Rectangle(...);

矩形的具体大小并不重要。但是,big 将始终大于 small( 宽度和高度)。

通常,small 完全包含在big 中。我可以使用 Rectangle#contains 来验证这一点。但是,如果不是这种情况,我想移动 small 以完全包含在big 中。两个矩形的尺寸都不应改变。

例如:

Rectangles Example

我知道可以对 Math.maxMath.min 使用四个条件,但是有没有更优雅的方法呢?

最佳答案

您可以只使用 Math.maxMath.min 来完成。尝试这样的事情:

small.setLocation(
Math.max(Math.min(small.getX(),big.getX() - small.getWidth()),big.getX()),
Math.max(Math.min(small.getY(),big.getY() - small.getHeight()),big.getY())
);

不过你必须考虑可读性。

关于java - 在矩形内约束矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27735981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com