根据this Link javaFX 8u45微调器,可以通过样式类以多种方式设置样式。我知道如何通过代码来实现它。
例如:
x86
,或者
spinner.getStyleClass().add(Spinner.STYLE_CLASS_SPLIT_ARROWS_HORIZONTAL);
然而,不是通过fxml。我试过这个,但它没有用。我是通过scenebuilder版本8完成的。
spinner.getStyleClass().add("split-arrows-horizontal");
答案 0 :(得分:1)
我不确定为什么,但在FXML中定义outside: function(ctx, s, cx, cy) {
ctx.lineTo(cx + s * .34, cy);
ctx.bezierCurveTo(cx + s * .86, cy, cx + s * .4, cy + s * -.15, cx + s * .4, cy + s * -.15);
ctx.bezierCurveTo(cx + s * .3, cy + s * -.3, cx + s * .5, cy + s * -.3, cx + s * .5, cy + s * -.3);
ctx.bezierCurveTo(cx + s * .7, cy + s * -.3, cx + s * .6, cy + s * -.15, cx + s * .6, cy + s * -.15);
ctx.bezierCurveTo(cx + s * .5, cy, cx + s * .65, cy, cx + s * .65, cy);
ctx.lineTo(cx + s, cy)
},
inside: function(ctx, s, cx, cy) {
ctx.lineTo(cx + s * .35, cy);
ctx.bezierCurveTo(cx + s * .505, cy + .05, cx + s * .405, cy + s * .155, cx + s * .405, cy + s * .1505);
ctx.bezierCurveTo(cx + s * .80, cy + s * .80, cx + s * .5, cy + s * .3, cx + s * .5, cy + s * .3);
ctx.bezierCurveTo(cx + s * .7, cy + s * .29, cx + s * .6, cy + s * .15, cx + s * .6, cy + s * .15);
ctx.bezierCurveTo(cx + s * .5, cy, cx + s * .65, cy, cx + s * .65, cy);
ctx.lineTo(cx + s, cy)
},
,如
styleClass
不会导致将该样式添加到styleClass列表。您可以通过
进行检查<Spinner fx:id="spn" styleClass="split-arrows-horizontal"/>
然而,在FXML中将其定义为
@FXML private Spinner spn;
@Override
public void initialize( URL url, ResourceBundle rb )
{
System.out.println( "getStyleClass: " + spn.getStyleClass() );
}
按预期工作。