如何在Java Swing中实现字幕效果
3 回答
MYYA
TA贡献1868条经验 获得超4个赞
我知道这是一个较晚的答案,但我刚刚看到另一个有关选取框已关闭的问题,因为它被认为是该答案的重复。
因此,我想我要添加我的建议,该建议所采用的方法与此处建议的其他答案不同。
该MarqueePanel面板不只是文字上滚动部件。因此,这使您可以充分利用任何Swing组件。通过添加带有文本的JLabel可以使用简单的字幕。选框可能会使用带有HTML的JLabel,因此您可以为文本使用不同的字体和颜色。您甚至可以在图像中添加第二个组件。
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
基本的答案是将文本/图形绘制到位图中,然后实现一个将位图偏移量绘制为一定数量的组件。通常,字幕/行情指示器向左滚动,因此偏移量增加,这意味着位图在-offset处绘制。您的组件运行一个计时器,该计时器定期触发,增加偏移量并使自身无效,以便重新绘制。
诸如包装之类的东西要处理起来稍微复杂一些,但相当简单。如果偏移量超过位图宽度,则将其重置为0。如果偏移量+组件宽度>位图宽度,则从位图的开头开始绘制其余分量。
不错的行情收录器的关键是使滚动尽可能平滑和无闪烁。因此,可能有必要考虑对结果进行双重缓冲,首先将滚动位绘制为位图,然后一次性渲染而不是直接绘制到屏幕中。
添加回答
举报
0/150
提交
取消