我需要从数据库中获取一些信息,并将其放在表中。我不能将两个文本放在一行中。请帮我。 I wont to create TableView like this image. anyone has idea ??
答案 0 :(得分:0)
当我正确获得链接的图像时,您要么需要垂直“拆分”表格行的一个单元格,要么分别为TabelView实现“行跨度”之类的东西– TableView不支持这两种功能-box –或者您需要创建一个CellFactory来生成一个自定义TableCell,例如,在VBox中呈现两个标签。 不知道您所拥有的数据是什么样的,方法可能是:
theTableColumn.setCellFactory(column -> {
return new TableCell<YourDataClass, YourDataFieldType>() {
private VBox vbox;
private Label upperLabel = new Label();
private Label lowerLabel = new Label();
{
vbox = new VBox(upperLabel, lowerLabel);
this.setGraphic(this.vbox);
this.setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
}
@Override
protected void updateItem(YourDataFieldType item, boolean empty) {
super.updateItem(item, empty);
if (item == null || empty) {
upperLabel.setText(null);
lowerLabel.setText(null);
} else {
upperLabel.setText("Here goes the upper text (row)");
lowerLabel.setText("Here goes the lower text (row)");
}
}
};
});
这只是我通常如何在TableView中解决特殊渲染任务的快速方法,请以scetch或伪代码的形式阅读它。背后的想法是:
我希望这会有所帮助–请随时询问是否还有其他问题。