Как вставить jcombobox в строку jtable для нескольких значений - PullRequest
1 голос
/ 17 мая 2011

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

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

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 голос
/ 17 мая 2011

Короткий ответ: вам нужно переопределить метод getCellEditor (...) JTable.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...