421
422 public EditFocusAdapter(CellEditor editor) {
423 this.editor = editor;
424 }
425
426 @Override
427 public void focusLost(FocusEvent e) {
428 editor.stopCellEditing();
429 }
430 }
431
432 public static class CopyKeyAdapter extends KeyAdapter {
433 private static final String defaultEditorKitCopyActionName =
434 DefaultEditorKit.copyAction;
435 private static final String transferHandlerCopyActionName =
436 (String) TransferHandler.getCopyAction().getValue(Action.NAME);
437 @Override
438 public void keyPressed(KeyEvent e) {
439 // Accept "copy" key strokes
440 KeyStroke ks = KeyStroke.getKeyStroke(
441 e.getKeyCode(), e.getModifiers());
442 JComponent comp = (JComponent) e.getSource();
443 for (int i = 0; i < 3; i++) {
444 InputMap im = comp.getInputMap(i);
445 Object key = im.get(ks);
446 if (defaultEditorKitCopyActionName.equals(key) ||
447 transferHandlerCopyActionName.equals(key)) {
448 return;
449 }
450 }
451 // Accept JTable navigation key strokes
452 if (!tableNavigationKeys.contains(e.getKeyCode())) {
453 e.consume();
454 }
455 }
456
457 @Override
458 public void keyTyped(KeyEvent e) {
459 e.consume();
460 }
461 }
|
421
422 public EditFocusAdapter(CellEditor editor) {
423 this.editor = editor;
424 }
425
426 @Override
427 public void focusLost(FocusEvent e) {
428 editor.stopCellEditing();
429 }
430 }
431
432 public static class CopyKeyAdapter extends KeyAdapter {
433 private static final String defaultEditorKitCopyActionName =
434 DefaultEditorKit.copyAction;
435 private static final String transferHandlerCopyActionName =
436 (String) TransferHandler.getCopyAction().getValue(Action.NAME);
437 @Override
438 public void keyPressed(KeyEvent e) {
439 // Accept "copy" key strokes
440 KeyStroke ks = KeyStroke.getKeyStroke(
441 e.getKeyCode(), e.getModifiersEx());
442 JComponent comp = (JComponent) e.getSource();
443 for (int i = 0; i < 3; i++) {
444 InputMap im = comp.getInputMap(i);
445 Object key = im.get(ks);
446 if (defaultEditorKitCopyActionName.equals(key) ||
447 transferHandlerCopyActionName.equals(key)) {
448 return;
449 }
450 }
451 // Accept JTable navigation key strokes
452 if (!tableNavigationKeys.contains(e.getKeyCode())) {
453 e.consume();
454 }
455 }
456
457 @Override
458 public void keyTyped(KeyEvent e) {
459 e.consume();
460 }
461 }
|