Java netbeans表单 - 从组合框中获取值

时间:2012-04-23 11:39:37

标签: java string swing netbeans jcombobox

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

  

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

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

  

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

1 个答案:

答案 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不够。