画一条连接两个矩形的线

本文介绍了画一条连接两个矩形的线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!,我正在用Swing/AWT制作我自己的类图应用程序,但我在此功能上停了下来:,我想在已经选择的Class矩形和目标Class矩形之间画一条线,但是LINE有一个功能,那就是每当我移动其中一个矩形时,连接它们的线就会随着移动的矩形直线弯曲,我希望下面的图片演示我想要实现的目标:,非常感谢通用指南或示例代码,我不懂JAVA,但您可以遵循以下步骤:,找到每行矩形的中间位置(应该很简单,只需平均x1+x2和y1+y2)
在上一步中获得的点上使用毕达哥拉斯公式确定彼此最接近的边。
从xa,ya(您在上面步骤中得到的第一个点)开始绘制一条线,并将其绘制在远离矩形的方向。您应该知道此方向,因为您可以知道该点所在的线段。
对xb,yb(第二个矩形上的点)执行相同的操作。如果线条方向相反,您应该将它们绘制到xa-xb或ya-yb的中途(取决于您是水平还是垂直绘制)。如果它们是垂直的(这是正确的词吗?)你应该把它们画到交叉点,所以你从xa,ya画到xa,yb或xa,ya到xb,ya,这取决于你画的是水平线还是垂直线。
应该有一些额外的检查,以查看矩形是否重叠。例如,您不应该在同一方向上绘制线条。在无法确定如何绘制这些直线的情况下,您只需在这两个点之间画一条对角线就足够了。,对于实现,您可以构建一个Line类,该类使用观察器模式侦听它跟随的两个矩形,这样只要其中一个矩形移动或调整大小,它就可以自我更新。,这篇关于画一条连接两个矩形的线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册