在XMPP通讯开发-服务器连接 中我们成功连接到服务器上面,然后进入到主界面,接下来就是获取好友列表,这里我们分段开发,首先就是界面的设计,这里仿照QQ好友界面,里面的数据先是用模拟的,下一章获取服务器上面的信息然后在替换,先看一下界面效果

其实界面设计很简单,主要用到JTabbedPane,然后使用JTree将数据添加进来,最后在把JTree添加到JTabbedPane中,代码如下:

 /*** 添加好友列表的功能:模拟数据*/private void initFriends(){
//        Container contentPane = friendsString[] zu = {"朋友", "客户"};String[] friends = {"张三","汪小明","泰勒"};String[] customer = {"慧明", "菲菲"};Hashtable hashtable = new Hashtable();hashtable.put(zu[0], friends);hashtable.put(zu[1], customer);JTree tree = new JTree(hashtable);JScrollPane scrollPane = new JScrollPane();scrollPane.setViewportView(tree);jTabbedPane.addTab("好 友", scrollPane);}

当然用过用户多的话会进行滚动的,这里我只是添加了一个而已。

源码项目:https://github.com/jwzhangjie/IChat_PC.git

转载于:https://www.cnblogs.com/pangblog/p/3341932.html

XMPP通讯开发-好友获取界面设计相关推荐

  1. 蓝牙聊天App设计1:Android Studio制作蓝牙聊天通讯软件(UI界面设计)

    前言:蓝牙聊天App设计全部有三篇文章(一.UI界面设计,二.蓝牙搜索配对连接实现,三.蓝牙连接聊天),这篇文章是一.UI界面设计 课程1:Android Studio小白安装教程,以及第一个Andr ...

  2. Android开发——APP门户界面设计

    AS开发--APP门户界面设计01 内容简介 需求分析 UI设计 top content bottom 后端功能设计 top content bottom 代码模块讲解 layout activity ...

  3. WP7应用开发笔记(3) 界面设计

    界面设计 回顾一下按钮清单: 播放控制 播放/暂停 Space   停止 F4   快进 Right   快退 Left   快进X2 Control+Right   快退X2 Control+Lef ...

  4. im即时通讯开发:IM通信协议设计详解

    本文要谈的IM通信协议指的是应用层通信"语言",并非指传输层协议(如TCP.UDP).IM通信协议的制定是IM开发中起点,也是贯穿设计.开发.运维始终的核心所在,通信协议设计的好坏 ...

  5. 【Qt设计开发】GUI界面设计开发

    文章目录 一.Qt简介和下载安装 二.Qt入门 2.1 创建第一个项目 2.2 快捷键和命名规范 2.3 Qt项目和VS2022项目相互转换 三.Qt基础 3.1 Qt对象树和窗口坐标系概念 3.2 ...

  6. 基于C#的AE二次开发之主界面设计

    上篇文章介绍了AE的安装与配置,下面介绍在VS2012中AE的简单主界面设计方法. 一.项目创建 1.打开VS2012建立项目 在打开界面后,点击新建项目,在弹出的界面中选择Visual C#--Ar ...

  7. Android UI开发——Material Design界面设计【详细】

    转自:http://colachan.com/post/3416 找了很多Material Design的资料,终于找到一篇比较靠谱的.能看懂的,我认为非常有用的学习资料,就像他们说的,只要你按Mat ...

  8. 安卓移动开发技术--微信界面设计

    1.内容:请根据课程实现App门户界面框架设计,至少包含4个tab页,能实现tab页之间的点击切换: 2.技术:使用布局和分段,对控件进行点击监听 实现界面展示: 一.界面布局分析 1.先对butto ...

  9. 使用 Dev-C++开发windows程序界面设计

    很多年前学过C++,但没有怎么使用过.最近有时间,准备重新学起来,以便可以编写自己喜欢的程序. 关于C++编译器,讨论文章已经很多.详细对比的文章也很多,我只是说说我一个初学者的感受. 就我自己而言, ...

最新文章

  1. 【STL源码剖析读书笔记】【第5章】关联式容器之hashtable
  2. Tomcat版本不同,功能区别也是很大!
  3. 分享Kali Linux 2016.2第47周镜像
  4. 翻译连载 | JavaScript轻量级函数式编程-第7章: 闭包vs对象 |《你不知道的JS》姊妹篇...
  5. oracle数据block默认是,oracleBLOCK(数据块)
  6. ITK:图像的区域最大值
  7. 十大滤波算法程序大全
  8. python null怎么表示_[Python] @NotNull装饰器如何写比较好?
  9. Flume1.6.0之Error-protobuf-This is supposed to be overridden by subclasses
  10. ALive:淘宝双11直播,技术同学却可以“偷懒”?
  11. 数字孪生|成熟度评价
  12. 【CSS】文字超过三行显示省略号...
  13. python爬表格数据_python爬虫,爬取表格数据
  14. python爬取学校题库_Python爬虫实战-获取某网站题库
  15. 外包公司值不值得去?
  16. 大数据领域的性能测试Benchmark介绍
  17. Ubuntu20.04下安装 R 及 CRAN 软件包(命令行操作)
  18. 开车,开车,裤子里穿丝袜是什么感觉?
  19. R语言之plot()画图
  20. unity3d 非运行模式下执行脚本

热门文章

  1. 将文件上传至ftp服务器,FTP文件上传工具类,将文件上传至服务器指定目录
  2. 2022-2028年全球与中国生物质燃料粒行业市场智研瞻分析报告
  3. java操作跨页的word cell,“excle如何打印不出现断行“EXCEL中,如何不跨页断行打印或显示,谢谢...
  4. 提高班第三周周记(中秋第二天)
  5. 大三Java后端暑期实习面经总结——JVM篇
  6. TensorFlow+TVM优化NMT神经机器翻译
  7. MegEngine 框架设计
  8. OFRecord 数据集加载
  9. TensorFlow编程结构
  10. nvGRAPH API参考分析(二)