猿问

Java Swing中的字幕效果

如何在Java Swing中实现字幕效果



一只甜甜圈
浏览 641回答 3
3回答

MYYA

我知道这是一个较晚的答案,但我刚刚看到另一个有关选取框已关闭的问题,因为它被认为是该答案的重复。因此,我想我要添加我的建议,该建议所采用的方法与此处建议的其他答案不同。该MarqueePanel面板不只是文字上滚动部件。因此,这使您可以充分利用任何Swing组件。通过添加带有文本的JLabel可以使用简单的字幕。选框可能会使用带有HTML的JLabel,因此您可以为文本使用不同的字体和颜色。您甚至可以在图像中添加第二个组件。

蝴蝶刀刀

基本的答案是将文本/图形绘制到位图中,然后实现一个将位图偏移量绘制为一定数量的组件。通常,字幕/行情指示器向左滚动,因此偏移量增加,这意味着位图在-offset处绘制。您的组件运行一个计时器,该计时器定期触发,增加偏移量并使自身无效,以便重新绘制。诸如包装之类的东西要处理起来稍微复杂一些,但相当简单。如果偏移量超过位图宽度,则将其重置为0。如果偏移量+组件宽度>位图宽度,则从位图的开头开始绘制其余分量。不错的行情收录器的关键是使滚动尽可能平滑和无闪烁。因此,可能有必要考虑对结果进行双重缓冲,首先将滚动位绘制为位图,然后一次性渲染而不是直接绘制到屏幕中。
随时随地看视频慕课网APP

相关分类

Java
我要回答