本帖最后由 theape 于 2016-8-13 13:46 编辑
java讲到网络编程,老师个讲了个聊天小程序Chat,发送消息都是通过按钮来完成的,可不可以添加个快捷键监听实现Ctrl+Enter发送。开始发代码[Java] 纯文本查看 复制代码
sendText.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
// 这个用不到,不用管
}
@Override
public void keyPressed(KeyEvent e) { //按键按下事件的方法
// TODO Auto-generated method stub
if (e.isControlDown() && e.getKeyCode() == KeyEvent.VK_ENTER) {
// 如果按下了Ctrl键盘 并且 按下了Enter键(键码是KeyEvent.VK_ENTER=13)
sendText.setEditable(false); //此时不能让sendText接收输入的任何字符,否则Enter释放时会多出空行
try {
send(); //这是发送消息的方法,此处省略
}catch(Exception ex) {
ex.getStackTrace();
}
}
}
@Override
public void keyReleased(KeyEvent e) { //按键释放事件的方法
// TODO Auto-generated method stub
if (e.isControlDown() && e.getKeyCode() == KeyEvent.VK_ENTER) {
sendText.setEditable(true); // Enter释放以后再允许sendText接收输入字符
// sendText.setText(""); //清空输入框,send()方法已有,此处忽略
}
}
});
|