css - 前景色和其他的 JavaFX CSS 属性?

标签 css javafx

我正在尝试用类似这样的东西覆盖表格行的前景色

.table-row-cell:odd {
    -fx-text-fill: blue;
    -fx-background-color: lightblue;
}

.table-row-cell:even {
    -fx-text-fill: red;
    -fx-background-color: lightpink;
}

我明白了,背景颜色有效,而前景无效:

enter image description here

示例代码如下:

**
 * Checking how to override foreground color
 */
public class TableViewCSS2 extends Application {

   private static String[][] names = new String[][]{
      {"Julius", "Caesar"},
      {"Wolfgang", "Mozart"},
      {"William", "Shakespeare"},
      {"Napoleon", "Bonaparte"},
      {"Isaac", "Newton"},
      {"Albert", "Einstein"},
      {"Christopher", "Columbus"},
      {"Johann", "Bach"},
      {"Ludwig", "Beethoven"},
      {"Gautama", "Buddha"},
      {"Martin", "Luther"},
      {"Galileo", "Galilei"},
      {"Karl", "Marx"},
      {"Marco", "Polo"},
      {"Immanuel", "Kant"}
   };




   BorderPane root;
   {
      BorderPane ans = new BorderPane();
      root = ans;
   }


   TableView<String[]> table;
   {
      TableView<String[]> ans = new TableView<String[]>();
      root.setCenter(ans);

      table = ans;
   }

   TableColumn<String[],String> firstNameCol;
   {
      TableColumn<String[],String> ans = new TableColumn<String[], String>("First Name");
      ans.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<String[], String>, ObservableValue<String>>() {
         public ObservableValue<String> call(final TableColumn.CellDataFeatures<String[], String> param) {
            return new ObservableValueBase<String>() {
               public String getValue() {
                  return param.getValue()[0];
               }
            };
         }
      });
      table.getColumns().add(ans);

      firstNameCol = ans;
   }


   TableColumn<String[],String> secondNameCol;
   {
      TableColumn<String[],String> ans = new TableColumn<String[], String>("Second Name");
      ans.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<String[], String>, ObservableValue<String>>() {
         public ObservableValue<String> call(final TableColumn.CellDataFeatures<String[], String> param) {
            return new ObservableValueBase<String>() {
               public String getValue() {
                  return param.getValue()[1];
               }
            };
         }
      });
      table.getColumns().add(ans);

      secondNameCol = ans;
   }


   private ObservableList<String[]> namesList;
   {

      ObservableList<String[]> ans = FXCollections.observableArrayList();

      for(int i=0; i<names.length; ++i) {
         ans.add( names[i] );
      }
      table.setItems(ans);

      namesList = ans;
   }



   @Override
   public void start(Stage primaryStage) throws Exception {

      Scene scene = new Scene(root, 800, 600);
      scene.getStylesheets().add("/sample2.css");

      primaryStage.setTitle("TableViewCSS2");
      primaryStage.setScene(scene);
      primaryStage.show();
   }




}

更新 2

添加重要!没有帮助。

最佳答案

以下 CSS 有效:

.table-row-cell:odd {

    -fx-background-color: lightblue;
}

.table-row-cell:odd > .table-cell{
    -fx-text-fill: blue;
}

.table-row-cell:even {
    -fx-background-color: lightpink;

}

.table-row-cell:even > .table-cell{
    -fx-text-fill: red;
}

关于css - 前景色和其他的 JavaFX CSS 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37202014/

相关文章:

android - 可能使用 javacv/ffmpeg 将 h264 流式传输到 javafx

css - IE9圆 Angular 和透明背景问题

html - 针对 css3 排除的目标 webkit 浏览器

java - macOS 下 JavaFX WebView 的显示不正确

JavaFX 在窗口右上角添加一个按钮

css 不适用于表格 View 的选定行以更改文本颜色

css - 使我的 css 框的高度液化

jquery - 将 tbody 限制在最大高度?

javascript - 保持 Logo 图像纵横比的灵活标题

按钮悬停时的 JavaFX 动画