Component (JTable table, Object value, boolean isSelected, int row, int column) { final List<Pair<String, Icon>> list = myDataFactory.create(); myData = new HashMap<>(); final JComboBox<Pair<String, Icon>> comboBox = (JComboBox<Pair<String, Icon>>)editorComponent; comboBox.removeAllItems(); if (myNullable) { comboBox.addItem(EMPTY); } for (final Pair<String, Icon> pair : list) { myData.put(pair.first, pair.second); comboBox.addItem(pair); } final Pair<Object, Icon> pair = Pair.create(value, myData.get(value)); comboBox.setEditable(true); super.getTableCellEditorComponent(table, pair, isSelected, row, column); comboBox.setEditable(false); return comboBox; }