I'm trying to create a float TableColumn but keep getting errors... Can you help ? Thanks
public class DoctorsController implements Initializable
{
@FXML private Button back;
@FXML private Button quit;
@FXML private TableView table;
@FXML private TableColumn<ObservableList,String> name;
@FXML private TableColumn<ObservableList,String> fname;
@FXML private TableColumn<ObservableList,String> address;
@FXML private TableColumn<ObservableList,Float> pop;
@FXML private TableColumn<ObservableList,String> work;
private ObservableList<ObservableList> data;
private Model model;
private DoctorsModel doctorsModel;
@FXML
public void handleButtonAction(ActionEvent event) throws IOException
{
if(event.getSource()==back)
{
Stage stage = (Stage)back.getScene().getWindow();
Parent root = FXMLLoader.load(getClass().getResource("view/MenuView.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
else if(event.getSource()==quit)
{
System.exit(0);
}
}
@Override
public void initialize(URL url, ResourceBundle rb)
{
model = Model.getInstance();
doctorsModel = model.getDoctorsModel();
name.setCellValueFactory((TableColumn.CellDataFeatures<ObservableList, String> cdf)->
new SimpleStringProperty(cdf.getValue().get(0).toString()));
fname.setCellValueFactory((TableColumn.CellDataFeatures<ObservableList, String> cdf)->
new SimpleStringProperty(cdf.getValue().get(1).toString()));
address.setCellValueFactory((TableColumn.CellDataFeatures<ObservableList, String> cdf)->
new SimpleStringProperty(cdf.getValue().get(2).toString()));
pop.setCellValueFactory((TableColumn.CellDataFeatures<ObservableList, Float> cdf)->
new SimpleFloatProperty((float)cdf.getValue().get(3)));
work.setCellValueFactory((TableColumn.CellDataFeatures<ObservableList, String> cdf)->
new SimpleStringProperty(cdf.getValue().get(4).toString()));
data = doctorsModel.result();
for (int i=0; i<data.size();i++)
{
ObservableList row = FXCollections.observableArrayList(data.get(i));
table.getItems().add(row);
}
}
}
On the line where I define pop, it tells me "incompatible parameter types in lambda expression". I've had this error before and I solved it myself but here I don't know what to do... All the other columns are String, but this one, for sorting purpose, I need to be float or double.