我想知道,是否有可能在JavaFX TableView中呈现简单的HTML标签(b,i,下标,下标).在我的代码片段中,我使用了默认的cellValueFactory,但是也许有人可以告诉我是否存在任何允许我显示html的单元格工厂.
来自代码:
class Data{
private String row = " Sample data"
public String getRow(){
return row;
}
TableView tableView = new TableView();
TableColumn column = new TableColumn("Sample Column");
column.setCellValueFactory(new PropertyValueFactory("row"));
tableView.getColumns().addAll(column);
我希望我可以在表格中以粗体显示示例数据.提前致谢!
-更新
允许我查看HTML但重新调整表格单元格大小的代码,WebView的大小将被忽略并且没有紧缩
private class HTMLCell extends TableCell {
@Override
protected void updateItem(Component item, boolean empty) {
super.updateItem(item, empty);
if (!empty) {
WebView webView = new WebView();
webView.setMaxWidth(200);
webView.setMaxHeight(50);
WebEngine engine = webView.getEngine();
// setGraphic(new Label("Test"));
setGraphic(webView);
String formula = item.getFormula();
engine.loadContent(formula);
}
}
}
TableColumn formulaColumn = new TableColumn<>("Formula");
formulaColumn.setMinWidth(300);
formulaColumn.setCellFactory(new Callback, TableCell>() {
@Override
public TableCell call(TableColumn param) {
return new HTMLCell();
}
});
formulaColumn.setCellValueFactory(new Callback, ObservableValue>() {
@Override
public ObservableValue call(CellDataFeatures param) {
return new SimpleObjectProperty(param.getValue());
}
});