Java 中监听组合键
Friday, May 4, 2007 7:50:12 AM
毕业设计中...
现在想模仿 Gajim 发送文本区的处理方法.
就是当发送文本区内有内容的时候, 只要键入 Enter 就能发送信息, 而 Ctrl+Enter 则是换行.
但是 Java 似乎不提供监听组合键的方法, 或许是我没找到.
所以用 "java ctrl enter" 到 Google 搜了一下, 问的人多, 答的人少.
没找着, 算了, 还得自己想. 想了个笨方法, 但还能用...
现在想模仿 Gajim 发送文本区的处理方法.
就是当发送文本区内有内容的时候, 只要键入 Enter 就能发送信息, 而 Ctrl+Enter 则是换行.
但是 Java 似乎不提供监听组合键的方法, 或许是我没找到.
所以用 "java ctrl enter" 到 Google 搜了一下, 问的人多, 答的人少.
没找着, 算了, 还得自己想. 想了个笨方法, 但还能用...
......
entryArea.addKeyListener( new EntryKeyListener() );
......
class EntryKeyListener implements KeyListener {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_CONTROL) {
ctrlIsPressed = true;
}
}
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_CONTROL) {
ctrlIsPressed = false;
}
}
public void keyTyped(KeyEvent e) {
if (e.getKeyChar() == KeyEvent.VK_ENTER) {
if(ctrlIsPressed) { entryArea.append("\n"); }
else { sendHandler(); }
}
}
}
~sisiesisie # Friday, May 4, 2007 9:26:59 AM
火星兔seabean # Friday, May 4, 2007 9:28:56 AM
XieWeixwxw # Friday, May 4, 2007 2:43:34 PM
mg12 # Friday, May 4, 2007 3:24:05 PM