/** Create a new component. */ public ParameterTable() { super(new ParameterTableModel()); final JTable table = this.getTable(); this.model = (ParameterTableModel) this.getModel(); DefaultCellEditor textEditor = new DefaultCellEditor(new JTextField()); textEditor.setClickCountToStart(1); table.setDefaultEditor(String.class, textEditor); TableColumn nameColumn = table.getColumnModel().getColumn(this.model.getIndex(Column.NAME)); nameColumn.setCellEditor(textEditor); TableColumn typeColumn = table.getColumnModel().getColumn(this.model.getIndex(Column.TYPE)); typeColumn.setCellEditor(new DefaultCellEditor(new JComboBox<Type>(Type.values()))); // commit editor on focus lost this.getTable().putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); }