JavaFX – 更改特定于滑块的颜色
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaFX – 更改特定于滑块的颜色,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1897字,纯文字阅读大概需要3分钟。
内容图文
![JavaFX – 更改特定于滑块的颜色](/upload/InfoBanner/zyjiaocheng/820/b3408d2bec754e68a48d38ddafadcbf7.jpg)
所以我要在我的gui应用程序中添加一个密码生成器,我想添加一个滑块来选择密码的安全性.我可以改变所有刻度的颜色,但我希望第一个为红色,第二个为黄色,最后一个刻度为绿色.
这是用于更改所有主要刻度的颜色的css代码. (摘自Changing the colour of slider ticks)
.slider .axis .axis-tick-mark {
-fx-fill: null;
-fx-stroke: red;
}
解决方法:
首先,让我们创建一个像你提议的滑块,有三个主要的标记:
@Override
public void start(Stage primaryStage) {
Slider slider = new Slider(0, 10, 5);
slider.setMajorTickUnit(5);
slider.setMinorTickCount(0);
slider.setShowTickMarks(true);
slider.setSnapToTicks(true);
StackPane root = new StackPane(slider);
root.getStyleClass().add("pane");
Scene scene = new Scene(root, 300, 250);
scene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
style.css包含哪里:
.pane {
-fx-background-color: #dcdcdc;
-fx-padding: 10;
}
.slider .axis .axis-tick-mark {
-fx-fill: null;
-fx-stroke: red;
}
现在让我们检查轴刻度标记是如何创建的以及它们是什么类型的节点.为此,您可以选择以下任何选项:
>看看源代码
>使用查找
>使用ScenicView
此时查找更快.显示舞台后添加呼叫:
primaryStage.show();
System.out.println("Axis-Tick-Mark: " + slider.lookup(".axis-tick-mark"));
它会打印出来:
Axis-Tick-Mark: Path[elements=[MoveTo[x=0.0, y=0.0], LineTo[x=0.0, y=5.0], MoveTo[x=132.0, y=0.0], LineTo[x=132.0, y=5.0], MoveTo[x=264.0, y=0.0], LineTo[x=264.0, y=5.0]], fill=null, fillRule=NON_ZERO, stroke=0xff0000ff, strokeWidth=1.0]
你去了,轴刻度标记是Path,一个节点.这意味着你不能获得任何线条和不同的样式.
但是,如果使用渐变修改笔触属性,则没有任何东西可以阻止您对整个路径进行样式设置.
所以让我们根据你的颜色添加一个线性渐变:
.slider .axis .axis-tick-mark {
-fx-fill: null;
-fx-stroke-width: 2;
-fx-stroke: linear-gradient(to right, red, yellow, green);
}
这将按预期工作:
显然你可以将它扩展到不同的设置(超过三个刻度),垂直方向,更多或不同的颜色……
内容总结
以上是互联网集市为您收集整理的JavaFX – 更改特定于滑块的颜色全部内容,希望文章能够帮你解决JavaFX – 更改特定于滑块的颜色所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。