A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© theape 中级黑马   /  2016-8-13 13:44  /  1289 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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()方法已有,此处忽略
                                        
                                }
                        }
                        
                });

3 个回复

正序浏览
还是不懂
回复 使用道具 举报
今天刚学习网编,表示还没研究明白
回复 使用道具 举报
sendText.addKeyListener(KeyListener i);
// new KeyListener 必须重写所有方法// new KeyAdapter  不必重写所有方法


public interface KeyListener extends EventListener
public abstract class KeyAdapter extends Object implements KeyListener
是否必须重写所有方法,这个不太懂,谁能给解释一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马