setClip() 的替代方法

发布于 2024-10-24 20:00:16 字数 169 浏览 2 评论 0 原文

我一直在尝试使用 SetClip() 使组件在其自身边界之外绘制,但事实证明这是非常错误的,而且大多数互联网似乎都认为这是不值得做的。

所以,我向你们可爱的人们寻求帮助。有没有办法在组件的边界之外绘制?我需要边界保持在原来的位置,因为它们也注册了 mouseEntered 和 mouseExited 事件。

I've been trying to make a component draw outside its own bounds using SetClip(), but it turns out that this is immensely buggy and most of the internet seems to agree that it's not worth doing.

So, I am turning to you lovely people for help. Is there a way to draw outside a component's bounds? I need the bounds to stay where they are because they're registering mouseEntered and mouseExited events as well.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧夏天 2024-10-31 20:00:16

为了安全起见,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 visible Container, you can draw around them by overriding the container's paint() (or paintComponent() in Swing). The getComponents() method will give you an array of contained components from which you can get the locations in container coordinates.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文