我可以获得对JAVA中行的呈现方式的精细控制吗?

时间:2017-10-12 03:10:55

标签: java javafx tableview

我正在JAVA中构建一个表,但有些行需要与大多数行基于选项完全不同。

在PHP中,我可以循环数据集并应用IF语句并更改在网页中重新排列行的方式

TableView<StatuTable> table = new TableView();

TableColumn<StatuTable, String> statusColumn = new TableColumn<>("Status");
statusColumn .setCellValueFactory(new PropertyValueFactory<>("status"));

TableColumn<StatuTable, String> noteColumn = new TableColumn<>("Note");
noteColumn .setCellValueFactory(new PropertyValueFactory<>("note"));

//loop the statusGroup defined elsewhere
    ObservableList<StatusTable> statusList = FXCollections.observableArrayList();
    for (Status status: statusGroup.getStatusRows()){
        Can I alter the table row here:
        if (status.getStatusType.equals("good")){
             //make a different kind of row.
        }
        statusList.add(status);
    }

    table .setItems(statusList);

    //this part is black magic as far as i am concerned
    scheduleTable.getColumns().addAll(statusColumn, noteColumn);

我只知道在JAVA中呈现表的一种方法:

Ctrl + P

1 个答案:

答案 0 :(得分:0)

借用此答案(https://stackoverflow.com/a/16864130/866021)中的示例,您可以通过getStyleClass()上的TableRow功能执行此操作。

为您的行添加合适的样式类:

nameRow.getStyleClass().add("italic");

在场景中添加一个样式表,用于定义表格单元格的斜体样式:

.italic.table-cell { -fx-font-style: italic; }