Sun*_*lon 4 java text javafx colors opacity
我需要一个javafx程序将文本设置为随机颜色和不透明度我不知道如何做到这一点?这是我的代码示例
Text text1 = new Text();
text1.setText("Java");
text1.setFont(Font.font("Times New Roman", FontWeight.BOLD, FontPosture.ITALIC, 22));
text1.setRotate(90);
gridpane.add(text1, 3, 1);
Run Code Online (Sandbox Code Playgroud)
您可以使用Math.random()在[0,1)范围内生成Double,因此您需要执行以下操作:
文本.setOpacity(Math.random());
颜色需要更多地挖掘文档,但可以通过以下方式完成:
文本.setFill(Color.color(Math.random(),Math.random(),Math.random());
SetFill来自Shape,Text继承自.SetFill采用Paint,Color是最简单的实现.Color.color(double,double,double)将rgb值与[0,1]范围内的双精度值相乘.
了解如何浏览文档,您将来可以快速找到这些类似的东西!
注意:不透明度/ rgb颜色都采用范围[0,1]的双精度,其中Math.random()在[0,1]范围内产生.如果你不熟悉这种表示法,这意味着Math.random()将永远不会产生1,只有一个小于1的数字可能的准确度.这意味着使用此方法永远不会有100%完全不透明/ r/g/b,但实际上您可能无法区分,因此最好使用不太复杂的方法.
注2:javafx.scene.paint.Color#color实际上提供了一个包含不透明度的四参数构造函数,但我建议将Text节点本身的不透明度设置为上面而不是Paint的不透明度.
| 归档时间: |
|
| 查看次数: |
8792 次 |
| 最近记录: |