我一直在搜索互联网并寻求许多人的帮助来解决这个问题。我正在尝试为嵌套在 Girdpane 内、嵌套在 TitledPane 内、嵌套在 Javafx 手风琴内的 Text 组件设置“-fx-text-fill”。我想为文本(和其他东西,如标签组件)设置样式,因为手风琴是一个动态更新的列表。我所做的一切都不起作用。
我尝试使用以下方法编辑样式表: text.setStyle(); 我已经尝试将 css 添加到正确链接的 css 文件中。
用于填充手风琴的 Java 代码:
private void populateAccordion(){
final String[] imageNames = new String[]{"Discord 1", "Discord 2", "Discord 3"};
final TitledPane[] tps = new TitledPane[imageNames.length];
for (int i = 0; i < imageNames.length; i++) {
GridPane grid = new GridPane();
grid.setVgap(4);
grid.setPadding(new Insets(5, 5, 5, 5));
Text infractions = new Text("Infractions: ");
Text zero = new Text("0");
zero.setStyle("-fx-text-fill: white");
grid.add(infractions, 0, 0);
grid.add(zero, 1, 0);
grid.add(new Label("Cc: "), 0, 1);
grid.add(new TextField(), 1, 1);
grid.add(new Label("Subject: "), 0, 2);
grid.add(new TextField(), 1, 2);
System.out.println("Printing css of grid");
grid.getStyleClass().forEach(System.out::println);
System.out.println("All done!");
tps[i] = new TitledPane(imageNames[i],grid);
tps[i].getChildrenUnmodifiable().forEach(child -> {
System.out.print(child.getId());
});
}
用于在手风琴中设置文本样式的 CSS 代码:
.accordion > .titled-pane > .content > GridPane{
-fx-text-fill: white;
}
.scroll-pane > .accordion > .titled-pane > .content > GridPane{
-fx-text-fill: white;
}
.titled-pane > .content > GridPane{
-fx-text-fill: white;
}
结果: https ://gyazo.com/225a65f0123e82a3b6e818d47afc760c
预期结果:“infractions: 0”、“cc”和“subject”的文本应该是白色的 我想知道是否有专门展示 JavaFX 元素结构的网站,以便我可以轻松查看这些元素的结构并相应地设置它们的样式。我试过关注这个网站: https : //docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-files/cssref.html#labeled 以及默认使用的modena.css : https ://gist.githubusercontent.com/maxd/63691840fc372f22f470/raw/e526d5c54bd145c58409ad3a2b8acb77d90dcbe5/modena.css