Как вставить jcombobox в строку jtable для нескольких значений

#java #swing #collections

#java #swing #Коллекции

Вопрос:

Hashmap содержит ключ и значение (результат синтаксического анализа XML). Hashmap содержит элементы таким образом, что ключ является строкой, а значение — вектором. Ключ может иметь единственное значение в векторе или несколько значений в векторе. Эта хэш-карта должна быть помещена в jtable таким образом, чтобы, если ключ имеет единственное значение, поместить его в текстовое поле. Если он имеет несколько значений, вставьте combobox в таблицу.

Вы можете изменить код.

 hashmap.put(nodeList.item(j).getNodeName(), nodeValueList);
Set keys = PropertyIMPL.hashmap.keySet();
Iterator iteratorKeys = keys.iterator();

while (iteratorKeys.hasNext()) {
    String key = (String) iteratorKeys.next();
    if (nodeValueList.size() > 1) {
        tablemodel.insertRow(0, new Object[]{key});
        String[] ss = (String[]) nodeValueList.toArray(
            new String[nodeValueList.size()]);
        TableColumn col = table.getColumnModel().getColumn(1);
        col.setCellEditor(new MyComboBoxEditor(ss));
    } else {
        tablemodel.insertRow(0, new Object[]{key, nodeValueList});
    }
}

keys.clear();
  

Комментарии:

1. примите некоторые ответы на ваши вопросы. Плюс четко сформулируйте, в чем проблема в каждом вопросе.

Ответ №1:

Короткий ответ заключается в том, что вам нужно переопределить метод getCellEditor (…) в JTable.