我一直在尝试使用SetClip()使组件在其自己的范围之外绘制,但是事实证明,这是一个巨大的错误,大多数Internet似乎都认为这样做不值得。
因此,我正在向可爱的人们寻求帮助。有没有一种方法可以超越零部件的边界?我需要使边界保持原状,因为它们也在注册mouseEntered和mouseExited事件。
最佳答案
为了安全起见,setClip()
“设置用户剪辑,它独立于与设备范围和窗口可见性相关的剪辑。”如果您的组件位于可见的Container
中,则可以通过覆盖容器的paint()
(或Swing中的paintComponent()
)在它们周围进行绘制。 getComponents()
方法将为您提供一个包含组件的数组,您可以从中获取容器坐标中的位置。