【发布时间】:2016-07-12 08:16:31
【问题描述】:
我的问题是默认的Slider 太薄了。
有没有办法让Slider(宽度)变大?
感谢您的建议。
【问题讨论】:
标签: java css javafx slider javafx-8
我的问题是默认的Slider 太薄了。
有没有办法让Slider(宽度)变大?
感谢您的建议。
【问题讨论】:
标签: java css javafx slider javafx-8
在 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;
}
这将产生像这样的水平和垂直Sliders:
无论如何,你可以参考JavaFX 8 default stylesheet (modena.css)和JavaFX CSS Reference Guide。
您还可以使用official tutorial 来了解如何使用 CSS 设置 JavaFX 样式。
【讨论】:
因为我花了很多时间研究一个类似的问题,这里是你如何摆脱轨道和它的“可点击性”:
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();
}
});
【讨论】: