public void keyPressed(KeyEvent ke) { if (ke.getKeyCode() == ke.VK_TAB) { int x = ((JTable) ke.getSource()).getSelectedColumn(); int y = ((JTable) ke.getSource()).getSelectedRow(); int maxX = ((JTable) ke.getSource()).getColumnCount(); int maxY = ((JTable) ke.getSource()).getRowCount(); TableModel tm = ((JTable) ke.getSource()).getModel(); if (x == maxX - 1 && y == maxY - 1) { ((DefaultTableModel) tm).addRow(new Object[maxX]); } } }
public void keyTyped(KeyEvent e) { if (!enabled) return; TextComponent input = (TextComponent) e.getSource(); String strContent = input.getText(); char c = e.getKeyChar(); if (!isModifier(c)) return; int pos = input.getCaretPosition(); if (pos <= 0) return; int idx = pos - 1; // position of the character to be modified char last = strContent.charAt(idx); char newVal = last; if (isCircumflex(c, last)) newVal = encoding.addCircumflex(last); else if (isBreve(c, last)) newVal = encoding.addBreveHorn(last); else if (isHorn(c, last)) newVal = encoding.addBreveHorn(last); else if (isStroke(c, last)) newVal = encoding.addStroke(last); else if (isToneMark(c)) { idx = indexOfToneCarrier(pos, strContent); if (idx < 0) return; last = strContent.charAt(idx); newVal = encoding.modifyTone(last, getToneMarkId(c)); } if (last != newVal) { input.setCaretPosition(idx); TextField txt; // input.moveCaretPosition(idx+1); // input.replaceSelection("" + newVal); input.setCaretPosition(pos); e.consume(); } }
/** * If a key is being grabbed, this method should be called with * the appropriate key event. It executes the grab action with * the typed character as the parameter. */ protected void handleGrabAction(KeyEvent evt) { // Clear it *before* it is executed so that executeAction() // resets the repeat count ActionListener _grabAction = grabAction; grabAction = null; executeAction(_grabAction,evt.getSource(), String.valueOf(evt.getKeyChar())); }
@Override public void keyPressed(KeyEvent e) { // Accept "copy" key strokes KeyStroke ks = KeyStroke.getKeyStroke(e.getKeyCode(), e.getModifiers()); JComponent comp = (JComponent) e.getSource(); for (int i = 0; i < 3; i++) { InputMap im = comp.getInputMap(i); Object key = im.get(ks); if (defaultEditorKitCopyActionName.equals(key) || transferHandlerCopyActionName.equals(key)) { return; } } // Accept JTable navigation key strokes if (!tableNavigationKeys.contains(e.getKeyCode())) { e.consume(); } }