@Override public boolean editCellAt(final int row, final int column, final EventObject event) { final boolean editingStarted = super.editCellAt(row, column, event); if (editingStarted) { final CellEditor cellEditor = getCellEditor(); try { final Object o = cellEditor.getClass().getMethod("getComponent").invoke(cellEditor); if (o instanceof Component) { ((Component) o).requestFocusInWindow(); } } catch (final Exception e) { // ignore } } return editingStarted; }
public void actionPerformed(ActionEvent e) { JGrid grid = (JGrid) e.getSource(); if (!grid.hasFocus()) { CellEditor cellEditor = grid.getCurrentCellEditor(); if (cellEditor != null && !cellEditor.stopCellEditing()) { return; } grid.requestFocus(); } SelectionModel selectionModel = grid.getSelectionModel(); int anchorRow = selectionModel.getAnchorRow(); int anchorColumn = selectionModel.getAnchorColumn(); grid.editCellAt(anchorRow, anchorColumn, null); Component editorComp = grid.getEditorComponent(); if (editorComp != null) { editorComp.requestFocus(); } }
public void actionPerformed(ActionEvent e) { JListMutable list = (JListMutable) e.getSource(); if (!list.hasFocus()) { CellEditor cellEditor = list.getListCellEditor(); if (cellEditor != null && !cellEditor.stopCellEditing()) { return; } list.requestFocus(); return; } ListSelectionModel rsm = list.getSelectionModel(); int anchorRow = rsm.getAnchorSelectionIndex(); list.editCellAt(anchorRow, null); Component editorComp = list.getEditorComponent(); if (editorComp != null) { editorComp.requestFocus(); } }
public void actionPerformed(ActionEvent e) { JTable table = (JTable) e.getSource(); if (!table.hasFocus()) { CellEditor cellEditor = table.getCellEditor(); if (cellEditor != null && !cellEditor.stopCellEditing()) { return; } table.requestFocus(); return; } ListSelectionModel rsm = table.getSelectionModel(); int anchorRow = rsm.getAnchorSelectionIndex(); table.editCellAt(anchorRow, PropertySheetTableModel.VALUE_COLUMN); Component editorComp = table.getEditorComponent(); if (editorComp != null) { editorComp.requestFocus(); } }
public void mouseDragged(MouseEvent e) { if (shouldIgnore(e)) { return; } repostEvent(e); CellEditor editor = grid.getCurrentCellEditor(); if (editor == null || editor.shouldSelectCell(e)) { Point p = e.getPoint(); int row = grid.rowAtPoint(p); int column = grid.columnAtPoint(p); // The autoscroller can generate drag events outside the Table's range. if ((column == -1) || (row == -1)) { return; } grid.changeSelection(row, column, false, true); } }
/** @see javax.swing.CellEditor#getCellEditorValue() */ public Object getCellEditorValue() { if (lastEditor != null) { return lastEditor.getCellEditorValue(); } return null; }