基本上,我通过添加如下样式类来更改 javafx 中文本字段的 css:
textfield.getStyleClass().add("textfieldstyle");
但后来我希望能够将其恢复到原来的样子。但由于本例中的原始外观是 JavaFX 的默认外观,因此我找不到文本字段的原始布局。我找到了 textfieldskin 属性here http://grepcode.com/file/repo1.maven.org/maven2/net.java.openjfx.backport/openjfx-78-backport/1.8.0-ea-b96.1/com/sun/javafx/scene/control/skin/TextFieldSkin.java,但它是一个丛林,我找不到任何关于 -fx-control-inner-background、-fx-text-box-border 和 -fx-focus-color 颜色的信息,这就是我想知道的。
我试过了textfield.getStyleClass().remove("textfieldstyle");
并认为这确实删除了新的CSS,但它不会再次应用旧的CSS。
感谢@UlukBiy 和@varren 的评论,我解决了这个问题。System.out.println(textfield.getStyleClass());
很有用,因为它允许我检查默认情况下在文本字段上应用了哪些样式类。正如评论中指出的那样text-input
and text-field
.
因此,要将文本字段的 css 恢复为其默认值,我刚刚执行了以下操作:
textfield.getStyleClass().clear();
textfield.getStyleClass().addAll("text-field", "text-input");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)