void (final ListTable table, final int row, final int column) { final ListSelectionModel selectionModel = table.getSelectionModel(); selectionModel.setSelectionInterval(row, row); EventQueue.invokeLater(() -> { final ListWrappingTableModel tableModel = table.getModel(); IdeFocusManager.getGlobalInstance().doWhenFocusSettlesDown(() -> IdeFocusManager.getGlobalInstance().requestFocus(table, true)); final Rectangle rectangle = table.getCellRect(row, column, true); table.scrollRectToVisible(rectangle); table.editCellAt(row, column); final TableCellEditor editor = table.getCellEditor(); final Component component = editor.getTableCellEditorComponent(table, tableModel.getValueAt(row, column), true, row, column); IdeFocusManager.getGlobalInstance().doWhenFocusSettlesDown(() -> IdeFocusManager.getGlobalInstance().requestFocus(component, true)); }); }