Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何完全重写FXML中的样式类?_Java_Css_Javafx 8_Fxml - Fatal编程技术网

Java 如何完全重写FXML中的样式类?

Java 如何完全重写FXML中的样式类?,java,css,javafx-8,fxml,Java,Css,Javafx 8,Fxml,我试图使用fxml中的css设计一些按钮的样式,但下面的标记似乎只是将新类添加到已经分配给控件的内容中,而不是完全覆盖所有内容 <Button styleClass="my-button" /> 我发现了这个bug报告@,开发者建议应该支持覆盖和添加两种方案。但是现在,在JavaFX8中,我找不到覆盖样式类的方法。有没有一种方法不必使用Java代码来解决这个问题?如何覆盖modena css中定义的css属性以覆盖所有必要的属性?这是一个好主意,但我觉得很奇怪,当我们试图通过FXM

我试图使用fxml中的css设计一些按钮的样式,但下面的标记似乎只是将新类添加到已经分配给控件的内容中,而不是完全覆盖所有内容

<Button styleClass="my-button" />

我发现了这个bug报告@,开发者建议应该支持覆盖和添加两种方案。但是现在,在JavaFX8中,我找不到覆盖样式类的方法。有没有一种方法不必使用Java代码来解决这个问题?

如何覆盖modena css中定义的css属性以覆盖所有必要的属性?这是一个好主意,但我觉得很奇怪,当我们试图通过FXML编写干净的代码时,我们不得不做那么多样板工作,而您只需要Java中的一行代码。。。部分违背了FXML的目的。此外,这不是未来的证明。在未来的JavaFX版本中,默认样式可能会被更改为modena以外的其他样式,就像JavaFX2和8之间已经发生的那样……据我所知,在FXML中无法做到这一点。我真的认为FXML是用来定义布局的——在任何实际应用程序中,您都需要一个控制器类来定义事件处理,并且在大多数情况下,还需要进行一些初始化工作。想要用自己的样式表替换所有的默认样式是非常不寻常的,所以我对没有FXML支持并不感到惊讶。只需添加一个fx:id并执行myButton.getStyleClass.setAllmy-button;在initialize方法中。我明白了。你证实了我的想法和最终的行动。我仍然觉得这个解决方案是一个解决办法,虽然。。。