如果你想在java中编写一个程序,使用一个JFrame来使用ascii字符串字符来模拟矩阵电影中的下降绿色代码,那么它看起来就像这个php示例
http://mgccl.com/2007/03/30/simple-version-matrix-like-animated-dropping-character-effect-in-php
最好的方法是什么?标签,drawString?等...
我知道在for循环中你可以使用整数值i来减小y轴值,使颜色变暗setColor(new Color(255,255 - (i * 5),255));
但我不知道你将如何留下“印记”。
感谢
答案 0 :(得分:2)
此example显示了如何使用Alpha透明度淡化文本,而此example说明了如何通过改变颜色饱和度来淡化文本。
附录:
使用最好的gui布局是什么?
我会在单个柱状JPanel
中解决问题,该问题与选定的Font
一样宽,并且任意高。使用javax.swing.Timer
来控制动画。然后使用new GridLaylout(1, 0)
将任意数量的此类列包含为单行。
答案 1 :(得分:0)
一旦你的i达到0,你就开始对另外两个频道做同样的事情,所以它会逐渐变黑或消失。
setColor(new Color(255 - (i * 5), 0, 255 - (i * 5)));
长度取决于步长(在您的情况下为5,因此印记的长度为51)。所以,如果你想要简短的印记,你必须做numSteps = 255 / length
的印记(圆角问题不应该被忽略):
i = numSteps..0
setColor(new Color(255 - (i * step), 0, 255 - (i * step)));