我期待设置单元格列以接收来自observableList中来自数据库的值的替换对象圆。值填充在该列中,以反映另一列(让我们说列A和B(从左到右) - 它们基本上包含相同的信息,除了 - 我想列B改变来表示圆对象。这里是我的代码到目前为止请告知,如果您有任何建议。javafx表列单元格更改
status.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<ObservableList, Circle>, ObservableValue<Circle>>() {
@Override
public ObservableValue<Circle> call(TableColumn.CellDataFeatures<ObservableList, Circle> param) {
String c = (String) param.getValue().get(2); //getting all data in column 2 of the row
System.out.println(c);
switch(c){
case "High":
circle.setFill(Color.GREEN);
healthstatus.setStyle("-fx-alignment: CENTER;");
break;
case "Medium":
circle.setFill(Color.YELLOW);
healthstatus.setStyle("-fx-alignment: CENTER;");
break;
case "Low":
circle.setFill(Color.RED);
healthstatus.setStyle("-fx-alignment: CENTER;");
break;
default:
circle.setFill(Color.BLUEVIOLET);
}
return new SimpleObjectProperty(circle);
}
});
我宁愿继续与我的代码,而无需创建响应类设置的值。
我已经附上图片,以显示我的结果为止
在此先感谢! Image
如果两列包含相同的信息,但他们是如何显示它不同,使用两个相同的'cellValueFactory'。使用不同的'cellFactory'来改变数据的显示方式。 –