如何在JavaFx TableView中设置项目样式

时间:2014-05-19 09:53:18

标签: java css javafx tableview

我有一个TableView列设置如下,Text节点中有一些文本。我想对文本进行样式化,但唯一获取的css属性是 斜体 。如何将文本与其他属性相关联,例如颜色

我已经尝试了text.getStyleClass().add("table-text-allign-top-left");,但只有斜体被拾起。

我还想添加某种间距,例如 padding ,但我不知道如何将其添加到TableCell中的项目。 另一个问题是如何对齐项:在TableCell的左侧'。

如果有人能提供帮助,我会非常感激。提前谢谢大家。

这是TableView的摘录:

clientNames.setCellFactory(new Callback<TableColumn<NewClientPOJO, String>, TableCell<NewClientPOJO, String>>() {
            @Override
            public TableCell<NewClientPOJO, String> call(TableColumn<NewClientPOJO, String> param) {
                final TableCell<NewClientPOJO, String> cell = new TableCell<NewClientPOJO, String>() {
                    private Text text;
                    private Text emails;
                    private Text emails2;

                    @Override
                    public void updateItem(String item, boolean empty) {
                        super.updateItem(item, empty);
                        if (!isEmpty()) {
                            text = new Text(item.toString());

                            // Setting the wrapping width to the Text
                            text.setWrappingWidth(410);
                            text.getStyleClass().add("table-text-allign-top-left");

                            emails = new Text("Good DW TV");
                            emails.getStyleClass().add("lower");

                            emails2 = new Text("Scandinavia - Lines cold weather");
                            emails2.getStyleClass().add("lower");

                            VBox vbTable = new VBox();
                            vbTable.getChildren().add(text);
                            vbTable.getChildren().add(emails);
                            vbTable.getChildren().add(emails2);

                            setGraphic(vbTable);
                        }
                    }
                };
                return cell;
            }
        });

1 个答案:

答案 0 :(得分:0)

感谢brian的回复。我通过将Node从Text更改为Label来实现它。 Label选择了样式类。