XMPP通讯开发-弹出好友通信对话框的逻辑设计
来源:互联网 发布:maya中文mac 编辑:程序博客网 时间:2024/05/18 15:52
在QQ里面我们要跟好友进行通信,选择好友所在的组,双击好友选项,弹出聊天的对话框,这里我们就要实现这个步骤,在之前显示好友列表的功能里面我使用的是JTree组件,所以我们显示的也就是一个树形结构,分为根节点,枝节点,叶节点,而要弹出框的节点就是叶节点,所有当我们双击功能的时候,要进行判断。
tree = new JTree(top); tree.addMouseListener(new MouseAdapter(){ @Override public void mouseClicked(MouseEvent e) { if(e.getClickCount() == 2){ DefaultMutableTreeNode note=(DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); if(note.isRoot()){ System.out.println("root "+note.toString()); }else if(note.isLeaf()){ System.out.println("叶节点 "+note.toString()); }else{ System.out.println("枝节点 "+note.toString()); } } super.mouseClicked(e); //To change body of generated methods, choose Tools | Templates. } });
我给JTree添加了一个双击鼠标事件,看一下上面的代码的实现效果:
run:root 好友root 好友枝节点 客户叶节点 袁莉叶节点 克旗从上面我们可以看到叶节点就是我们想要的,当用户双击枝节点的时候,我们需要创建一个对话框,在对话框里面使用JPanel设计布局,当双击好友的时候,弹出聊天对话框,我们在上面的代码里面在补充一个对话框功能,
tree = new JTree(top); tree.addMouseListener(new MouseAdapter(){ @Override public void mouseClicked(MouseEvent e) { if(e.getClickCount() == 2){ DefaultMutableTreeNode note=(DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); if(note.isRoot()){ System.out.println("root "+note.toString()); }else if(note.isLeaf()){ System.out.println("叶节点 "+note.toString()); ChatPanel chatPanel = new ChatPanel(); JDialog chatDialog = new JDialog(); chatDialog.setContentPane(chatPanel); chatDialog.setSize(501, 512); chatDialog.setVisible(true); }else{ System.out.println("枝节点 "+note.toString()); } } super.mouseClicked(e); //To change body of generated methods, choose Tools | Templates. } });效果图如下:
当然现在的效果只是一个框框,如果要实现通信我们需要自己重写这个JDialog,将需要的参数传递给JDialog才行,这个我们放在下面一章里面。
- XMPP通讯开发-弹出好友通信对话框的逻辑设计
- XMPP通讯开发-好友通信实现
- XMPP通讯开发-好友文件传输
- XMPP通讯开发-好友获取界面设计
- XMPP通讯开发-服务器好友获取以及监听状态变化
- XMPP通讯开发-仿QQ显示好友列表和用户组
- XMPP通讯开发-服务器连接
- xmpp 及时通讯客户端开发
- XMPP开发之获取好友列表
- 【总结】开发基于XMPP协议的通讯工具
- 工程开发的程序设计与逻辑设计
- 如何弹出QQ临时对话框,实现不添加好友的在线交谈效果。
- XMPP通讯环境的搭建
- 仿微信/QQ 开发基于XMPP的iPhone/iOS聊天客户端(一)好友资料
- Delphi XMPP 通信客户端开发
- iOS开发-即时通信XMPP
- xmpp 好友列表,删除好友
- 基于XMPP开发学习------(3)好友列表、发送消息
- VC下连接SQLserver2005
- [JS & JQUERY] 82个Javascript免豆资料下载地址汇总
- 一些好玩的简单网页技术
- [shell学习积累] 环境配置
- Android 自定义控件build时提示Custom view * is not using the 2- or 3-argument View constructors; XML attribut
- XMPP通讯开发-弹出好友通信对话框的逻辑设计
- itoa
- [转]Linux 下编译、安装、配置 QT
- [JS & JQUERY] 39个jQvery免豆资料地址汇总
- 好玩的简单网页技术
- unity 锯齿
- [JS & JQUERY] 60个JSP免豆资料(教程+源码)下载地址汇总
- 线上Java应用排查和诊断规范
- 谈一谈Cocos2d-x中的某些“大小”