0

コンボ ボックスから値を取得し、メソッドに挿入したいと考えています。私の問題は、メソッドがノード型の変数を取る必要があることです。

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 に答える