diff --git a/platform/platform-api/src/com/intellij/openapi/ui/ComboBoxTableRenderer.java b/platform/platform-api/src/com/intellij/openapi/ui/ComboBoxTableRenderer.java index fe30148b7c7d..f52e5b13e2f7 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/ComboBoxTableRenderer.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/ComboBoxTableRenderer.java @@ -25,6 +25,7 @@ import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; import javax.swing.*; +import javax.swing.border.EmptyBorder; import javax.swing.event.CellEditorListener; import javax.swing.event.ChangeEvent; import javax.swing.event.EventListenerList; @@ -54,6 +55,7 @@ public class ComboBoxTableRenderer extends JLabel implements TableCellRendere public ComboBoxTableRenderer(final T[] values) { myValues = values; setFont(UIUtil.getButtonFont()); + setBorder(new EmptyBorder(0, 5, 0, 5)); } @Override diff --git a/platform/platform-api/src/com/intellij/ui/components/editors/JBComboBoxTableCellEditorComponent.java b/platform/platform-api/src/com/intellij/ui/components/editors/JBComboBoxTableCellEditorComponent.java index 417b2c460360..1e9485f6517b 100644 --- a/platform/platform-api/src/com/intellij/ui/components/editors/JBComboBoxTableCellEditorComponent.java +++ b/platform/platform-api/src/com/intellij/ui/components/editors/JBComboBoxTableCellEditorComponent.java @@ -16,6 +16,7 @@ package com.intellij.ui.components.editors; import com.intellij.openapi.ui.popup.JBPopupFactory; +import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.text.StringUtil; import com.intellij.ui.TableUtil; import com.intellij.ui.awt.RelativePoint; @@ -150,7 +151,14 @@ public class JBComboBoxTableCellEditorComponent extends JBLabel { myTable.setValueAt(myValue, myRow, myColumn); // on Mac getCellEditorValue() called before myValue is set. myTable.tableChanged(new TableModelEvent(myTable.getModel(), myRow)); // force repaint } - }) + }) + .setCancelCallback(new Computable() { + @Override + public Boolean compute() { + TableUtil.stopEditing(myTable); + return true; + } + }) .createPopup() .show(new RelativePoint(myTable, point)); }