简单的好友分组效果展示:

示例代码:

/*** Title: Friend* Description:  好友* @author Herrona*/
public class Friend {int id;String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return  name ;}}
/*** Title: Group* Description: 分组 * @author Herrona*/
public class Group {int id;String name;List<Friend> friendList = new ArrayList<>();public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public List<Friend> getFriendList() {return friendList;}public void setFriendList(List<Friend> friendList) {this.friendList = friendList;}@Overridepublic String toString() {return name;}}
/*** Title: TreeFrame * Description:* @author Herrona*/
public class TreeFrame extends JFrame {List<Group> grpList = new ArrayList<Group>();public TreeFrame() {initFrame();initList();initComponent();}/*** 初始化数据*/private void initList() {for (int i = 1; i <= 10; i++) {Group grp = new Group();grp.setId(i);grp.setName("分组" + i);List<Friend> list = grp.getFriendList();for (int j = 1; j <= 10; j++) {Friend friend = new Friend();friend.setId(j);friend.setName("Herrona" + j);list.add(friend);}grp.setFriendList(list);this.grpList.add(grp);}}/*** 初始化窗口*/private void initFrame() {this.setTitle("树");this.setSize(300, 500);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}/*** 初始树*/private void initComponent() {DefaultMutableTreeNode root = new DefaultMutableTreeNode("我的好友");DefaultTreeModel model = new DefaultTreeModel(root);JTree tree = new JTree(model);for (Group grp : grpList) {DefaultMutableTreeNode grpNode = new DefaultMutableTreeNode(grp);List<Friend> list = grp.getFriendList();for (Friend friend : list) {DefaultMutableTreeNode friNode = new DefaultMutableTreeNode(friend);grpNode.add(friNode);}root.add(grpNode);}tree.setRowHeight(35);JScrollPane pane = new JScrollPane(tree);this.add(pane);}public static void main(String[] args) throws UnsupportedLookAndFeelException {UIManager.setLookAndFeel(new NimbusLookAndFeel());TreeFrame frame = new TreeFrame();frame.setVisible(true);}
}

JTree实现好友分组示例相关推荐

  1. Android中使用ExpandableListView实现好友分组

    一个视图显示垂直滚动两级列表中的条目.这不同于列表视图,允许两个层次,类似于QQ的好友分组.要实现这个效果的整体思路为: 1.要给ExpandableListView 设置适配器,那么必须先设置数据源 ...

  2. IOS 实现QQ好友分组展开关闭功能

    贴出核心代码  主要讲一下思路. - (void)nameBtnClick:(myButton *)sender { //获取当前点击的分组对应的section self.clickIndex = s ...

  3. 用ExpandableListView实现好友分组

    上篇关于好友分组,采用的是listview,这篇随便写了个demo,用ExpandableListView实现 说到ExpandableListView,其实我们都可以去实现一个相关的adapter, ...

  4. Qt可拖拽排序表格(类似QQ好友分组排序)

    1,简介 为了最佳体验,一个拖拽行排序的功能研究了几个小时.效果参考的QQ好友分组的排序. 网上查了下好像没有人发布QT版类似的代码,于是自己动手 QQ好友分组排序效果: 2,效果 这是最终效果图,有 ...

  5. QQ好友分组模拟小程序

    QQ好友分组:一个好友组里有多个好友,一个好友只能选择一个组,这样好友组和好友之间就是一个一对多的关系.在此程序中封装一个好友类即Buddy类,一个组类即Group类.在Buddy类有有关好友的最基本 ...

  6. expandableListview的使用,模仿qq好友分组点击收缩扩展

    我主要讲述的是用listview实现.模仿qq好友分组点击收缩.扩展功能 这个是对listview的拓展,用法比较相似,还是需要一个适配器 MainActivitypublic class MainA ...

  7. js实现qq好友分组

    qq好友分组 <style>ul,h2 {padding: 0;margin: 0;background-color: wheat;}li {list-style: none;}#list ...

  8. layim之移动好友分组

    Layim 移动好友分组比较简单,但值得注意的是,移动好友之前必须将好友在原来的分组上移除,再追加到新的分组上,否则会提示对方已经是你的好友,无法重新添加到新的分组当中,简单教程如下: 一. 添加右键 ...

  9. jQuery实现防QQ列表好友分组

    1)在显示当前div之前, 先隐藏其他div 2)交替切换被选元素的 隐藏和显示 效果如下: 主要方式是通过jQuery查找点击的标签所属的tr,再找其同级元素,再查找div,并进行隐藏,而点击的对象 ...

最新文章

  1. 全国知名高校网站挂马现象严重 考生面临安全风险
  2. python中的format函数_python中的format 函数是什么?如何使用?
  3. java 的23种设计模式 单例模式
  4. Web Service 一些对外公开的网络服务接口以及http://www.webxml.com.cn/zh_cn/index.aspx
  5. 阿里打造全球首个纯机器人送货高校,22个物流机器人进入浙大备战双11
  6. 解决Mono for android的xml编辑器无法代码完成的问题
  7. C++ int与string的转化
  8. POE交换机隐藏指标是什么?
  9. 九大类背包问题专题1---01背包问题(二维和优化一维法附代码)
  10. ________________定时器
  11. Horizon client 连接桌面后显示:USB已禁用/USB重定向功能已禁用
  12. ROS系统中启用摄像头模块
  13. Win11怎么设置开机启动项?
  14. 回归分析beta值的标准_Beta值的基本原理及使用说明
  15. Dropbox安装包官网下载失败的解决方法
  16. CUDA-Pinned Host Memory
  17. tapestry mysql_tapestry与mybatis模块的结合
  18. 用powershell代码安装Windows软件
  19. win10重装系统(正版)(好用)(带激活方法)
  20. (二) DIM-SUM系统环境搭建之编译与调试环境

热门文章

  1. 【自制】csdn自定义模块栏目 个性化 【美化个人简介】
  2. 某农商行用户画像项目——用户画像分析部分
  3. 安卓源码,安卓开发,跑步打卡项目app源码,包括源码和简单文档
  4. 国外破解软件注册码查找网站收集
  5. java版京东抢购秒杀商品
  6. Ubuntu 20.04下bochs安装
  7. 普中科技手把手教你学ESP32--基于MicroPython-02
  8. scara机器人动荷载_六款日产SCARA机器人性能数据大比拼
  9. P4999 烦人的数学作业
  10. *** stack smashing detected ***: unknown terminated Aborted (core dumped)