setClip() 的替代方法
我一直在尝试使用 SetClip() 使组件在其自身边界之外绘制,但事实证明这是非常错误的,而且大多数互联网似乎都认为这是不值得做的。
所以,我向你们可爱的人们寻求帮助。有没有办法在组件的边界之外绘制?我需要边界保持在原来的位置,因为它们也注册了 mouseEntered 和 mouseExited 事件。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了安全起见,
setClip()
“设置用户剪辑,它独立于与设备边界和窗口可见性相关的剪辑。”如果您的组件位于可见的Container
中,则可以通过覆盖容器的paint()
(或 Swing 中的paintComponent()
)来在它们周围绘图。getComponents()
方法将为您提供一个包含组件的数组,您可以从中获取容器坐标中的位置。For safety and security,
setClip()
"sets the user clip, which is independent of the clipping associated with device bounds and window visibility." If your components are in a visibleContainer
, you can draw around them by overriding the container'spaint()
(orpaintComponent()
in Swing). ThegetComponents()
method will give you an array of contained components from which you can get the locations in container coordinates.