我一直在尝试使用SetClip()使组件在其自己的范围之外绘制,但是事实证明,这是一个巨大的错误,大多数Internet似乎都认为这样做不值得。

因此,我正在向可爱的人们寻求帮助。有没有一种方法可以超越零部件的边界?我需要使边界保持原状,因为它们也在注册mouseEntered和mouseExited事件。

最佳答案

为了安全起见,setClip()“设置用户剪辑,它独立于与设备范围和窗口可见性相关的剪辑。”如果您的组件位于可见的Container中,则可以通过覆盖容器的paint()(或Swing中的paintComponent())在它们周围进行绘制。 getComponents()方法将为您提供一个包含组件的数组,您可以从中获取容器坐标中的位置。

09-26 06:10