如何在TableView JavaFX中为某些行设置粗体true
我有如何在TableView JavaFX中为某些行设置粗体true,javafx,Javafx,我有TableView电视和专栏 tc_name.setCellValueFactory(new PropertyValueFactory<>("name")); 当我打开应用程序时,需要的行是粗体的,但当我滚动时,一些不同的行是粗体的。您需要删除项目名称以开头的行的样式。。(注意,您还需要调用super.updateItem(…)): 或者,等效地(但代码较少): 现在JavaFX11.0.2似乎打破了这一点——有人能证实吗? tv.setRowFactory(new Callb
TableView电视和专栏
tc_name.setCellValueFactory(new PropertyValueFactory<>("name"));
当我打开应用程序时,需要的行是粗体的,但当我滚动时,一些不同的行是粗体的。您需要删除项目名称以开头的行的样式。
。(注意,您还需要调用super.updateItem(…)
):
或者,等效地(但代码较少):
现在JavaFX11.0.2似乎打破了这一点——有人能证实吗?
tv.setRowFactory(new Callback<TableView<TypeReport>, TableRow<TypeReport>>() {
@Override
public TableRow<TypeReport> call(TableView<TypeReport> param) {
return new TableRow<TypeReport>() {
@Override
protected void updateItem(TypeReport item, boolean empty) {
if (item==null) {
setStyle("");
} else {
String res=item.getName();
if (res.startsWith(" ")){}
else
setStyle("-fx-font-weight: bold");
}
}
};
}
});
@Override
protected void updateItem(TypeReport item, boolean empty) {
super.updateItem(item, empty);
if (item==null) {
setStyle("");
} else {
String res=item.getName();
if (res.startsWith(" ")) {
setStyle("");
} else
setStyle("-fx-font-weight: bold");
}
}
@Override
protected void updateItem(TypeReport item, boolean empty) {
super.updateItem(item, empty);
if (item==null || item.getName().startsWith(" ")) {
setStyle("");
} else {
setStyle("-fx-font-weight: bold");
}
}