我正在工作,TreeTable
当更换电池工厂时,需要通过一个
Callback<TreeTableColumn<A, capture of ?>, TreeTableCell<A, capture of ?>>
A是我正在使用的课程,但我不知道如何处理“捕获?”
我试图创
new Callback<TreeTableColumn<A, ?>, TreeTableCell<A, ?>>
但IDEA显示出警告
setCellFactory(Callback<TreeTableColumn<A, capture<?>>, TreeTableCell<A, capture<?>>>) in TreeTableColumn cannot be applied to (anonymous Callback<TreeTableColumn<A, ?>, TreeTableCell<A, ?>>)
发布于 2018-08-31 11:43:27
试试以下的解决方法:
public static <S> Callback<TableColumn<S,String>, TableCell<S,String>> forTableColumn() {
return forTableColumn(new DefaultStringConverter());
}
或类似的东西,取决于你想要给Cell的内
setCellFactory(TextFieldTableCell.<DataModel, Integer>forTableColumn(new IntegerStringConverter()));
发布于 2018-08-31 12:41:06
通配符捕获是将通配符类型的值绑定到新类型变量的过程。例如:
List<?> list = ...;
shuffle(list);
<T> void shuffle(List<T> list) {
...
}
正在尝试调用方法
<S,T> setCellFactory(Callback<TreeTableColumn<S,T>, TreeTableCell<S,T>> factory);
Callback<TreeTableColumn<S,?>, TreeTableCell<S, ?>> factory;
可以使用通配符捕获引入一个:
setCellFactory(newFactory());
<S,T> Callback<TreeTableColumn<S,T>, TreeTableCell<S,T>> newFactory() {
return new Callback<TreeTableColumn<S,T>, TreeTableCell<S,T>> {
...
}
}
https://stackoverflow.com/questions/-100006091
复制相似问题