Для JFXTreeTableColumn я написал собственную фабрику ячеек в качестве обратного вызова.Код работает нормально, но что, если я хочу передать разные Generics?
Я уже пытался передать Generics как?или T, S, но я определенно сделал что-то не так
public class CallbackImpl implements Callback<TreeTableColumn<Order, String>, TreeTableCell<Order, String>> {
private final ObservableList<String> paymentData;
public CallbackImpl(ObservableList<String> paymentData) {
this.paymentData = paymentData;
}
@Override
public TreeTableCell<Order, String> call(TreeTableColumn<Order, String> tc) {
ComboBox<String> combo = new ComboBox<>();
combo.getItems().addAll(paymentData);
JFXTreeTableCell<Order, String> cell = new JFXTreeTableCell<Order, String>() {
@Override
protected void updateItem(String payment, boolean empty) {
super.updateItem(payment, empty);
if (empty) {
setGraphic(null);
} else {
combo.setValue(payment);
setGraphic(combo);
}
}
};
return cell ;
}
}
Я хочу передать таблицу с <DifferentClass, String>
или даже <DifferentClass, Integer>
(я знаю, что мне нужно изменить код, чтобы Integer работал),
Использование в контроллере FXML: col.setCellFactory(new CallbackImpl(paymentData));