我的问题是默认Slider
太薄了。
有没有办法让Slider
(宽度)更大?
感谢您的建议。
答案 0 :(得分:6)
在JavaFX中,大多数样式都可以通过CSS完成。
您可以在CSS文件中使用.slider .track
和.slider .thumb
样式类。在此样式类中,您可以使用-fx-pref-width
和-fx-pref-height
属性:
.slider .track {
-fx-pref-height:20;
}
.slider:vertical .track {
-fx-pref-width:20;
}
.slider .thumb {
-fx-pref-height: 30;
-fx-pref-width: 30;
}
或者您可以使用-fx-padding
属性:
.slider .track {
-fx-padding: 10;
}
.slider .thumb {
-fx-padding: 15;
}
这将生成横向和纵向Slider
,如下所示:
在任何情况下,您都可以参考JavaFX 8 default stylesheet (modena.css)和JavaFX CSS Reference Guide。
您还可以使用official tutorial关于使用CSS设置JavaFX样式。
答案 1 :(得分:1)
因为我花了很多时间来研究类似的问题,所以这就是你如何摆脱轨道,它是“可点击性”:
CSS:
.slider .track {
visibility: hidden;
}
// You'll probably want this in the code also to swallow all keyboard events:
slider.addEventFilter(KeyEvent.ANY, new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
System.out.println("KeyEvent NO!");
event.consume();
}
});