样本可以使用Math.random()
产生一个双范围在[0,1),所以你需要做的:
文本。 setOpacity(Math.random());
颜色率先通过了文档多一点挖,但可以实现:
文本。 ()Math.random(),Math.random(),Math.random());
SetFill来自Shape,Text继承自SetFill需要一个Paint,其中Color是最简单的实现。 Color.color(double,double,double)在rgb值范围[0,1]范围内加倍。
了解如何浏览文档,您将能够在您的文档中找到这些类型的内容自己很快就会在将来!
注意:opacity/rgb颜色全部取双倍范围[0,1] Math.random()产生范围[0,1)。如果你不熟悉这个符号,这意味着Math.random()永远不会产生1,只有一个小于1的数字可能的准确性。这意味着你不会有这种方法100%完全不透明/ r/g/b,但实际上你可能无法区分这种差异,所以最好使用不那么复杂的方法。
注2:javafx.scene.paint.Color#color
实际上提供了一个包含不透明度的四参数构造函数,但是我建议将Text节点本身的不透明度设置为上面的而不是Paint的不透明度。
因为我通常使用Label而不是Text,下面是讨论何时使用其中一个的链接:http://stackoverflow.com/questions/24374867/label-and-text-differences-in-javafx – CAD97
Thanks for尖端不透明工作,但颜色仍然给我一个不适合的构造错误。我曾尝试math.random之前,但没有知道你需要它3次 –
这是我在阅读文档时的错误。构造函数需要(double r,double g,double b,double alpha)。我已经改变了现在使用'Color.color'的答案,它有rgb的选项。您需要三个随机数,因为该方法有三个值。 – CAD97