下面列出了java.awt.event.KeyEvent#isControlDown() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
void processVTKeyTyped(KeyEvent e){
displayInfo(e);
int keycode = e.getKeyCode();
if (e.isAltDown() ||
e.isShiftDown() ||
e.isControlDown() ||
e.isActionKey() ||
keycode == KeyEvent.VK_CONTROL) {
keyevent = e;
// displayInfo(e,"Released added ");
dialog.setVisible(false);
dialog.dispose();
}
}
@Override
public void keyReleased(KeyEvent event) {
if (event.isControlDown() || event.isMetaDown()) {
switch (event.getKeyCode()) {
case KeyEvent.VK_C:
// Copy
cancelEditing();
XTableUtils.copyToClipboard(table, false);
break;
case KeyEvent.VK_X:
// Cut
cancelEditing();
XTableUtils.copyToClipboard(table, true);
break;
case KeyEvent.VK_V:
// Paste
cancelEditing();
XTableUtils.pasteFromClipboard(table);
break;
default:
break;
}
}
}
/**
* Custom key event processing for command history implementation. Captures
* key up and key down * strokes to call command history and redefines the
* same events with control down to allow caret * vertical shift.
*/
protected void processKeyEvent(KeyEvent e) {
// Id Control key is down, captures events does command history recall
// and inhibits caret vertical shift.
if (e.getKeyCode() == KeyEvent.VK_UP && e.getID() == KeyEvent.KEY_PRESSED
&& !e.isControlDown()) {
recallCommand(true);
} else if (e.getKeyCode() == KeyEvent.VK_DOWN && e.getID() == KeyEvent.KEY_PRESSED
&& !e.isControlDown()) {
recallCommand(false);
}
// If Control key is down, redefines the event as if it where a key up
// or key down stroke without
// modifiers. This allows to move the caret up and down with no command
// history recall.
else if ((e.getKeyCode() == KeyEvent.VK_DOWN || e.getKeyCode() == KeyEvent.VK_UP)
&& e.getID() == KeyEvent.KEY_PRESSED && e.isControlDown()) {
super.processKeyEvent(new KeyEvent((Component) e.getSource(), e.getID(), e.getWhen(),
0, // No modifiers
e.getKeyCode(), e.getKeyChar(), e.getKeyLocation()));
}
// Standard processing for other events.
else {
super.processKeyEvent(e);
}
}
void processVTKeyReleased(KeyEvent e){
displayInfo(e);
if (isLinux && e.getKeyCode() == KeyEvent.VK_ALT_GRAPH) {
isAltGr = false;
}
int keycode = e.getKeyCode();
if (e.isAltDown() ||
e.isShiftDown() ||
e.isControlDown() ||
e.isActionKey() ||
keycode == KeyEvent.VK_CONTROL) {
keyevent = e;
// displayInfo(e,"Released added");
dialog.setVisible(false);
dialog.dispose();
}
}
public KeyStroker(KeyEvent ke, boolean isAltGrDown) {
this.keyCode = ke.getKeyCode();
this.isShiftDown = ke.isShiftDown();
this.isControlDown = ke.isControlDown();
this.isAltDown = ke.isAltDown();
this.isAltGrDown = isAltGrDown;
this.location = ke.getKeyLocation();
hashCode = keyCode +
(isShiftDown ? 1 : 0) +
(isControlDown ? 1 : 0) +
(isAltDown ? 1 : 0) +
(isAltGrDown ? 1 : 0) +
location;
}
@Override
public void keyPressed(KeyEvent e) {
int step = e.isControlDown() ? 50 : e.isAltDown() ? 1 : 5;
switch (e.getKeyCode()) {
case KeyEvent.VK_LEFT:
setLocation(getX() - step, getY());
break;
case KeyEvent.VK_RIGHT:
setLocation(getX() + step, getY());
break;
case KeyEvent.VK_UP:
setLocation(getX(), getY() - step);
break;
case KeyEvent.VK_DOWN:
setLocation(getX(), getY() + step);
break;
case KeyEvent.VK_ESCAPE:
exitAction.actionPerformed(null);
}
}
@Override
public void keyPressed(KeyEvent e) {
int step = e.isControlDown() ? 50 : e.isAltDown() ? 1 : 5;
switch (e.getKeyCode()) {
case KeyEvent.VK_LEFT:
setLocation(getX() - step, getY());
break;
case KeyEvent.VK_RIGHT:
setLocation(getX() + step, getY());
break;
case KeyEvent.VK_UP:
setLocation(getX(), getY() - step);
break;
case KeyEvent.VK_DOWN:
setLocation(getX(), getY() + step);
break;
case KeyEvent.VK_ESCAPE:
exitAction.actionPerformed(null);
}
}
@Override
protected synchronized void doHandleKeyTyped(KeyEvent e) {
if (handler == null) return;
//LOGGER.debug("key typed: " + e.paramString());
final char keyChar = e.getKeyChar();
// Don't type non printable characters.
if (keyChar == KeyEvent.CHAR_UNDEFINED || Character.isWhitespace(keyChar) || Character.isISOControl(keyChar) || Character.isIdentifierIgnorable(keyChar)) {
//LOGGER.debug("non printable {} / {}", Character.isWhitespace(keyChar), Character.isISOControl(keyChar));
return;
}
// Don't type a character, if a modifier key is pressed at the same time.
if (e.isControlDown() || e.isMetaDown() || windowsKeyDown || (!SystemUtils.IS_OS_MAC && e.isAltDown())) {
//LOGGER.debug("modifier {} / {} / {} / {}", e.isControlDown(), e.isAltDown(), e.isMetaDown(), windowsKeyDown);
return;
}
//LOGGER.debug("type character \"{}\" ({})", keyChar, e.getKeyCode());
handler.sendKeyType(keyChar);
e.consume();
}
@Override
public void keyPressed(KeyEvent e) {
int step = e.isControlDown() ? 50 : e.isAltDown() ? 1 : 5;
switch (e.getKeyCode()) {
case KeyEvent.VK_LEFT:
setLocation(getX() - step, getY());
break;
case KeyEvent.VK_RIGHT:
setLocation(getX() + step, getY());
break;
case KeyEvent.VK_UP:
setLocation(getX(), getY() - step);
break;
case KeyEvent.VK_DOWN:
setLocation(getX(), getY() + step);
break;
case KeyEvent.VK_ESCAPE:
exitAction.actionPerformed(null);
}
}
public void setAttributes(KeyEvent ke, boolean isAltGr) {
keyCode = ke.getKeyCode();
isShiftDown = ke.isShiftDown();
isControlDown = ke.isControlDown();
isAltDown = ke.isAltDown();
isAltGrDown = isAltGr;
location = ke.getKeyLocation();
hashCode = keyCode +
(isShiftDown ? 1 : 0) +
(isControlDown ? 1 : 0) +
(isAltDown ? 1 : 0) +
(isAltGrDown ? 1 : 0) +
location;
}
private void tryCloseTab(KeyEvent ke) {
switch (ke.getKeyCode()) {
case KeyEvent.VK_W:
if (!ke.isControlDown())
return;
int ntabs = search_tabs.getTabCount();
if (0 == ntabs) {
instance.destroy();
return;
}
search_tabs.remove(search_tabs.getSelectedIndex());
return;
default:
return;
}
}
/**
* Handles the keys which have the same functionality for all the types
* of labeling.
*/
private void dispatchKeyGeneral(KeyEvent e) {
int eventId = e.getID();
int key = e.getKeyCode();
// the mapping of the keys is based on the default assignment of keys for UGEE graphic tablet
if (eventId == KeyEvent.KEY_PRESSED) {
if (e.isControlDown()) {
handleCtrlKey(key);
} else if (e.isAltDown()) {
handleAltKey(key);
} else {
handleNormalKey(key);
}
}
}
@Override
public boolean handleJavaKeyEvent(KeyEvent e) {
switch (e.getID()) {
case KeyEvent.KEY_TYPED:
if ((e.getKeyChar() == '\n') && !e.isAltDown() && !e.isControlDown()) {
postEvent(new ActionEvent(target, ActionEvent.ACTION_PERFORMED,
getText(), e.getWhen(), e.getModifiers()));
return true;
}
break;
}
return false;
}
@Override
public boolean handleJavaKeyEvent(KeyEvent e) {
switch (e.getID()) {
case KeyEvent.KEY_TYPED:
if ((e.getKeyChar() == '\n') && !e.isAltDown() && !e.isControlDown()) {
postEvent(new ActionEvent(target, ActionEvent.ACTION_PERFORMED,
getText(), e.getWhen(), e.getModifiers()));
return true;
}
break;
}
return false;
}
@Override
public boolean handleJavaKeyEvent(KeyEvent e) {
switch (e.getID()) {
case KeyEvent.KEY_TYPED:
if ((e.getKeyChar() == '\n') && !e.isAltDown() && !e.isControlDown()) {
postEvent(new ActionEvent(target, ActionEvent.ACTION_PERFORMED,
getText(), e.getWhen(), e.getModifiers()));
return true;
}
break;
}
return false;
}
public boolean equals(KeyEvent ke) {
return (keyCode == ke.getKeyCode() &&
isShiftDown == ke.isShiftDown() &&
isControlDown == ke.isControlDown() &&
isAltDown == ke.isAltDown() &&
isAltGrDown == ke.isAltGraphDown() &&
location == ke.getKeyLocation());
}
@Override
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
boolean control = e.isControlDown();
if (control && keyCode == KeyEvent.VK_C) {
if (currentEntity != null) {
GUIFrame.getInstance().copyToClipboard(currentEntity);
}
}
if (control && keyCode == KeyEvent.VK_V) {
GUIFrame.getInstance().pasteEntityFromClipboard();
}
}
/**
* Recebe as teclas do Editor.
*
* @param e
*/
public void ProcesseTeclas(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {
setComando(null);
return;
}
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
InspectorItemBase ppr = getEditor().getInspectorEditor().FindByProperty("setTexto");
if (ppr != null) {
if (getEditor().getInspectorEditor().getSelecionado() == ppr) {
getEditor().getInspectorEditor().PerformSelect(null);
}
getEditor().getInspectorEditor().PerformSelect(ppr);
if (ppr instanceof InspectorItemExtender) {
((InspectorItemExtender) ppr).ExternalRun();
}
}
return;
}
if (itensSelecionados.isEmpty()) {
return;
}
FormaElementar item = itensSelecionados.get(0);
int x = 0, y = 0;
int inc = 3;
if (e.isControlDown()) {
inc = 1;
}
switch (e.getKeyCode()) {
case KeyEvent.VK_LEFT:
x = -inc;
y = 0;
break;
case KeyEvent.VK_RIGHT:
x = inc;
y = 0;
break;
case KeyEvent.VK_UP:
x = 0;
y = -inc;
break;
case KeyEvent.VK_DOWN:
x = 0;
y = inc;
break;
}
if (item.isAncorado()) {
//HidePontosOnSelecao(false);
e.consume();
} else if (x != 0 || y != 0) {
if (e.isShiftDown() && item instanceof Forma) {
Rectangle rec = new Rectangle(0, 0, -x, -y);
((Forma) item).DoFormaResize(rec);
} else {
item.DoRaiseMove(x, y);
}
superAncorador.Posicione(item);
DoBaseReenquadreReposicione();
HidePontosOnSelecao(false);
PerformInspector();
e.consume();
}
}
@Override
public void keyPressed(KeyEvent key) {
switch (key.getKeyCode()) {
case KeyEvent.VK_C:
if (key.isControlDown()) {
key.consume();
append("\n");
append(prompt.getPrompt());
setCaretPosition(getText().length());
cp = getCaretPosition();
}
break;
case KeyEvent.VK_UP:
String prev = history.prev();
if (prev != null) {
replaceRange(prev, cp, getText().length());
}
key.consume();
break;
case KeyEvent.VK_DOWN:
String next = history.next();
if (next != null) {
replaceRange(next, cp, getText().length());
}
key.consume();
break;
case KeyEvent.VK_LEFT:
case KeyEvent.VK_BACK_SPACE:
if (cp == getCaretPosition()) {
key.consume();
}
break;
case KeyEvent.VK_ENTER:
key.consume();
String t = getText();
append("\n");
if (cmd != null) {
String c = t.substring(cp);
if (!c.isEmpty()) {
append(cmd.handle(c));
history.appendCommand(c);
}
}
append(prompt.getPrompt());
setCaretPosition(getText().length());
cp = getCaretPosition();
}
}
protected void displayInfo(KeyEvent e, String s) {
String charString, keyCodeString, modString, tmpString, isString;
char c = e.getKeyChar();
int keyCode = e.getKeyCode();
int modifiers = e.getModifiers();
if (Character.isISOControl(c)) {
charString = "key character = "
+ "(an unprintable control character)";
} else {
charString = "key character = '"
+ c + "'";
}
keyCodeString = "key code = " + keyCode
+ " ("
+ KeyEvent.getKeyText(keyCode)
+ ")";
if (keyCode == KeyEvent.VK_PREVIOUS_CANDIDATE) {
keyCodeString += " previous candidate ";
}
if (keyCode == KeyEvent.VK_DEAD_ABOVEDOT ||
keyCode == KeyEvent.VK_DEAD_ABOVERING ||
keyCode == KeyEvent.VK_DEAD_ACUTE ||
keyCode == KeyEvent.VK_DEAD_BREVE ||
keyCode == KeyEvent.VK_DEAD_CIRCUMFLEX
) {
keyCodeString += " dead key ";
}
modString = "modifiers = " + modifiers;
tmpString = KeyEvent.getKeyModifiersText(modifiers);
if (tmpString.length() > 0) {
modString += " (" + tmpString + ")";
} else {
modString += " (no modifiers)";
}
isString = "isKeys = isActionKey (" + e.isActionKey() + ")" +
" isAltDown (" + e.isAltDown() + ")" +
" isAltGraphDown (" + e.isAltGraphDown() + ")" +
" isAltGraphDownLinux (" + isAltGr + ")" +
" isControlDown (" + e.isControlDown() + ")" +
" isMetaDown (" + e.isMetaDown() + ")" +
" isShiftDown (" + e.isShiftDown() + ")";
String newline = "\n";
System.out.println(s + newline
+ " " + charString + newline
+ " " + keyCodeString + newline
+ " " + modString + newline
+ " " + isString + newline);
}