java - java Layered Panes中的滚动条问题

标签 java user-interface scrollbar

我一直在尝试构建这个小型 Java 应用程序。我发现用 Java 设计 UI 非常困难,看似非常简单的任务变得复杂,并且会发生所有这些奇怪的错误行为。在我的应用程序中,我创建了一个包含两层的 JLayeredPane。一个在另一个之上,它们都包含滚动条。 下面是对这两层的解释:

第 1 层: 类似于滚动 Pane 的非常大的图像。图像是可滚动的。

第 2 层: 一个 graphics2d 对象,这个对象绘制一个图像。一旦图像达到一定长度,该层就会获得一个滚动 Pane ,该滚动 Pane 会随着时间的推移而前进。

我想连接两层。我想让第二层更新第一层的滚动条。意思是一旦达到一定长度,两个滚动条就会一起前进。当我尝试这样做时,两个滚动条确实向前移动,但是 ( !) 这种奇怪的闪烁发生了。我不明白闪烁的原因是什么。有没有其他方法可以简单地实现这一点?我必须将第二层放在第一层之上(在图像之上绘制)

因为我不能开专帖来感谢论坛的好人,我就在这里开吧。谢谢你,你帮了大忙。我希望这个问题也能解决。

最佳答案

听起来您每次都在以某种昂贵的方式重新绘制整个组件 - 您可以尝试绘制到 BufferedImage 以保存图像,而不是每次都重新生成它。或者您可以尝试弄乱重绘的处理方式。我建议这个 article还有这个page on Sun's website - 都讨论了表演绘画实践。

关于java - java Layered Panes中的滚动条问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1392664/

相关文章:

java - 从 jersey 1.x 迁移到 jersey 2.x ( 2.8 ) 时出现 NoClassDefFoundError ProcessingException

java - 如何使用 Apache HTTP 客户端将复杂参数传递给 POST 请求?

css - 我的 CSS 菜单在 Wordpress 中出现 Overflow-X

javascript - 我们如何限制用户一次可以滚动的数量?

java - 将 Windows 证书导入 Java

java - Spring 异常评估 SpringEL 表达式

java - 在Java中单击按钮创建菜单

Java在设置组件大小时重用Dimension对象

java - GWT - 当选中另一个 CheckboxCell 时,如何以编程方式取消选中一个 CheckboxCell?

javascript - 滚动条显示且不起作用