0

我想从组合框中获取一个值并将其插入方法中。我的问题是该方法需要采用 Node 类型的变量。

ShortestPath.computeRoutes(jComboBoxDepFrom.getSelectedItem().toString());

当我尝试上面的代码时,我收到以下错误:

类 busplanner.ShortestPath 中的方法 computeRoutes 不能应用于给定类型;必需:busplanner.Node 找到:java.lang.String 原因:实际参数java.lang.String 无法通过方法调用转换转换为busplanner.Node

4

1 回答 1

2

您可以将节点放在组合框中,并为每个节点的文本使用渲染器。

jComboBoxDepFrom.setRenderer(new BasicComboBoxRenderer() {

    @Override
    public Component getListCellRendererComponent(JList list,
                                               Object value,
                                               int index,
                                               boolean isSelected,
                                               boolean cellHasFocus) {
        Node node = (Node)value;
        return super.getListCellRendererComponent(list, node.getText(),
                index, isSelected, cellHasFocus);
    };
});

如果 Node.toString 不够。

于 2012-04-23T11:51:21.473 回答