1

我有现有的 java-mybatis 应用程序。我已经用 combobox 创建了 javafx 场景。Combox 显示了 ObservableList 的值列表。我已修改 DAO 类以返回 ObservableList。但是它抛出运行时异常是因为 mybatis 返回了一个 List。
线程“主”org.apache.ibatis.reflection.ReflectionException 中的异常:使用无效类型 () 或值 () 实例化接口 javafx.collections.ObservableList 时出错。原因:java.lang.NoSuchMethodException:javafx.collections.ObservableList.()

我放了下面的代码来将 mybatis resultmap 转换为 ObservableList。JavaFX Combobox 填充有值。

Gates mapper = session.getMapper(Gates.class);
List<GateVO> gateVOs = mapper.getGates();
ObservableList<String> gates = FXCollections.observableArrayList();
if (gateVOs != null && !gateVOs.isEmpty()) {
    for (GateVO gateVO : gateVOs) {
        gates.add(gateVO.getGateNo());
    }
}

难道我们不能直接使用mybatis的结果来绑定javafx控件吗?有没有替代方法?

4

1 回答 1

2

你有没有尝试过

ObservableList<GateVO> gates = FXCollections.observableArrayList(gateVOs);
于 2013-10-18T13:39:52.837 回答