今天练习了一个小的聊天程序,实现客户端与服务器端相互发送消息,仿照的例子中是点击发送button实现发送消息,我忽然想到了QQ中常设的Ctrl+Enter组合键发送消息,快捷又方便,就试着改了下,原来java自身就有几乎对应的方法,于是往消息输入框添加按键监听,很容易地就实现了该功能,哈哈,舒服。。。。。。关键设置如下
/**
* 初始化消息输入框
*
* @return javax.swing.JTextArea
*/
private JTextArea getInputArea() {
if (inputArea == null) {
inputArea = new JTextArea();
// 对inputArea添加按键监听,当指定键按下触发
inputArea.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent arg0) {
// 关键设置,当Ctrl+Enter组合键按下时响应
if ((arg0.getKeyCode() == KeyEvent.VK_ENTER)
&& (arg0.isControlDown())) {
// 调用消息发送方法,将发信者信息发出
messageManager.sendMessage(userName, inputArea
.getText());
// 消息发送完毕,将输入域置空
inputArea.setText("");
}
}
});
}
return inputArea;
}