在 JScrollPane 上滚动时渲染新的可见部分

发布于 2024-11-01 04:56:48 字数 138 浏览 4 评论 0原文

我有一个嵌入 JScrollPane 中的大型 JPanel。当我移动滚动条时,我注意到可见部分不会自行渲染,并且出现故障。而当我调整框架大小时,我可以看到渲染的新可见部分。所以我需要知道在调整框架大小时会触发哪些方法来重新绘制视图。我应该使用什么监听器/方法?

I have a large JPanel embedded in a JScrollPane. When I move the scrollbar, I notice that the visible portion does not render itself and I get glitches. Whereas when I resize the frame, I can see the new visible portions rendered. So I need to know which methods are fired upon frame resize to repaint the view. What listeners/methods should I use?

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

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

发布评论

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

评论(2

↙厌世 2024-11-08 04:56:48

所以我需要知道在调整帧大小时会触发哪些方法

您不需要知道这一点。您需要做的就是更改滚动条的值或视口的位置,并且组件应该正确地重新绘制自身。如果它没有正确绘制,那么你就有其他问题了。也许是

  1. 不正确的自定义绘制代码,
  2. 该代码不会在 EDT 上调用

如果这些建议没有帮助,那么您需要发布正确的 SSCCE 这说明了问题,因为我们不能一直猜测你的代码在做什么。

So I need to know which methods are fired upon frame resize

You don't need to know that. All you need to do is change the value of the scrollbar or the position of viewport and the component should repaint itself properly. If it is not painting properly, then you have a problem with something else. Maybe

  1. incorrect custom painting code
  2. the code is not invoked on the EDT

If those suggestsion doen't help then you need to post a proper SSCCE that demonstrates the problem because we can't keep guessing what your code is doing.

回忆追雨的时光 2024-11-08 04:56:48

您重新验证了面板吗?
您的代码中可能存在某些问题。
我一直在使用大量卷轴,从未遇到过您所描述的问题。
也许显示问题的代码示例会很好。

祝你好运,博罗

Did you revalidate the panel?
It might be that something is not right in the code of yours.
I have been using lots of scrolls and never had an issue as you describe.
Maybe a code sample showing the problem would be nice.

Good luck, Boro

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