我想从组合框中取一个值并将其插入方法中。我的问题是该方法需要采用Node类型的变量。
ShortestPath.computeRoutes(jComboBoxDepFrom.getSelectedItem()的toString());
当我尝试上面的代码时,我收到以下错误:
类busplanner.ShortestPath中的方法computeRoutes不能应用于给定的类型; 必需:busplanner.Node 发现:java.lang.String 原因:实际参数java.lang.String无法通过方法调用转换转换为busplanner.Node
答案 0 :(得分: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不够。