Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我使用以下代码在屏幕上绘制了一个正方形:
我希望如果用户单击形状,则会在形状上绘制一个带有四个小框(北、南、东和西)的边框。将鼠标悬停在任何小框上会将光标更改为调整大小光标,如果用户将小框拖到新位置,则形状会调整大小。
请问这怎么做?
而不是使用drawRect()方法为矩形创建Shape对象并绘制Shape. 因为Shape你可以getBounds()用来获取主矩形。使用边界找到小框矩形(也称为形状)。
drawRect()
Shape
getBounds()
当鼠标移动(或拖动)时,检查其中一个框形状是否包含鼠标事件坐标。
在拖动时,您可以Shape使用AffineTransfrorm.
AffineTransfrorm