Java TableView-行上的fx文本填充
根据,要么是高特异性要么是Java TableView-行上的fx文本填充,java,javafx,javafx-2,javafx-8,Java,Javafx,Javafx 2,Javafx 8,根据,要么是高特异性要么是!重要信息标签应用于更改非常“隐藏”的选择器 但是,我似乎无法更改表格行的-fx文本填充 我宁愿解决这个问题,也不愿在行工厂中使用setTextFill SSCCE tableviewtester.css位于tableviewtester类的旁边,它包含: .myrow { -fx-selection-bar-text: red; -fx-text-fill: red; } 请注意-fx选择栏文本正在工作 import javafx.applic
!重要信息
标签应用于更改非常“隐藏”的选择器
但是,我似乎无法更改表格行
的-fx文本填充
我宁愿解决这个问题,也不愿在行工厂中使用setTextFill
SSCCE
tableviewtester.css
位于tableviewtester
类的旁边,它包含:
.myrow {
-fx-selection-bar-text: red;
-fx-text-fill: red;
}
请注意
-fx选择栏文本
正在工作
import javafx.application.Application;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableColumn.CellDataFeatures;
import javafx.scene.control.TableRow;
import javafx.scene.control.TableView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.util.Callback;
/**
*
* @author ggrec
*
*/
public class TableViewTester extends Application
{
// ==================== 3. Static Methods ====================
public static void main(final String[] args)
{
launch(args);
}
// ==================== 4. Constructors ====================
@Override
public void start(final Stage primaryStage) throws Exception
{
final Scene scene = new Scene(createContents());
scene.getStylesheets().add(this.getClass().getResource("tableviewtester.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
}
// ==================== 5. Creators ====================
private StackPane createContents()
{
final StackPane pane = new StackPane();
final TableView<String> table = new TableView<>();
table.setRowFactory(new TableRowFactory());
final TableColumn<String, String> column = new TableColumn<>("Color");
column.setCellValueFactory(new TableCellValueFactory());
column.prefWidthProperty().setValue(300);
// Add Columns
table.getColumns().setAll(FXCollections.observableArrayList(column));
// Add Items
table.setItems(FXCollections.observableArrayList("Green", "Red", "Blue"));
pane.getChildren().setAll(table);
return pane;
}
// =======================================================
// 19. Inline Classes
// =======================================================
private class TableCellValueFactory implements Callback<CellDataFeatures<String, String>, ObservableValue<String>>
{
@Override
public ObservableValue<String> call(final CellDataFeatures<String, String> cellWrapper)
{
return new SimpleStringProperty(cellWrapper.getValue());
}
}
private class TableRowFactory implements Callback<TableView<String>, TableRow<String>>
{
@Override
public TableRow<String> call(final TableView<String> arg0)
{
final TableRow<String> row = new TableRow<String>() {
@Override protected void updateItem(final String line, final boolean empty)
{
super.updateItem(line, empty);
this.getStyleClass().add("myrow");
}
};
return row;
}
}
}
导入javafx.application.application;
导入javafx.beans.property.SimpleStringProperty;
导入javafx.beans.value.observeValue;
导入javafx.collections.FXCollections;
导入javafx.scene.scene;
导入javafx.scene.control.TableColumn;
导入javafx.scene.control.TableColumn.CellDataFeatures;
导入javafx.scene.control.TableRow;
导入javafx.scene.control.TableView;
导入javafx.scene.layout.StackPane;
导入javafx.stage.stage;
导入javafx.util.Callback;
/**
*
*@author ggrec
*
*/
公共类TableViewTester扩展了应用程序
{
//============================3.静态方法====================
公共静态void main(最终字符串[]args)
{
发射(args);
}
//===============================4.施工人员====================
@凌驾
public void start(final Stage primaryStage)引发异常
{
最终场景=新场景(createContents());
scene.getStylesheets().add(this.getClass().getResource(“tableviewtester.css”).toExternalForm());
初级阶段。场景(场景);
primaryStage.show();
}
//===============================5.创作者====================
私有StackPane createContents()
{
最终堆栈窗格=新堆栈窗格();
最终的TableView表格=新的TableView();
table.setRowFactory(新TableRowFactory());
最终表列=新表列(“颜色”);
column.setCellValueFactory(新表CellValueFactory());
column.prefWidthProperty().setValue(300);
//添加列
table.getColumns().setAll(FXCollections.observableArrayList(column));
//添加项目
表.setItems(FXCollections.observableArrayList(“绿色”、“红色”、“蓝色”));
pane.getChildren().setAll(表);
返回窗格;
}
// =======================================================
//19.内联类
// =======================================================
私有类TableCellValueFactory实现回调
{
@凌驾
公共observeValue调用(最终CellDataFeatures cellWrapper)
{
返回新的SimpleStringProperty(cellWrapper.getValue());
}
}
私有类TableRowFactory实现回调
{
@凌驾
公共TableRow调用(最终TableView arg0)
{
最终TableRow行=新TableRow(){
@覆盖受保护的void updateItem(最终字符串行,最终布尔值为空)
{
super.updateItem(行,空);
this.getStyleClass().add(“myrow”);
}
};
返回行;
}
}
}
-fx text inner color
是正确的属性,而不是-fx fill color