JTree实现好友分组示例
简单的好友分组效果展示:
示例代码:
/*** 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实现好友分组示例相关推荐
- Android中使用ExpandableListView实现好友分组
一个视图显示垂直滚动两级列表中的条目.这不同于列表视图,允许两个层次,类似于QQ的好友分组.要实现这个效果的整体思路为: 1.要给ExpandableListView 设置适配器,那么必须先设置数据源 ...
- IOS 实现QQ好友分组展开关闭功能
贴出核心代码 主要讲一下思路. - (void)nameBtnClick:(myButton *)sender { //获取当前点击的分组对应的section self.clickIndex = s ...
- 用ExpandableListView实现好友分组
上篇关于好友分组,采用的是listview,这篇随便写了个demo,用ExpandableListView实现 说到ExpandableListView,其实我们都可以去实现一个相关的adapter, ...
- Qt可拖拽排序表格(类似QQ好友分组排序)
1,简介 为了最佳体验,一个拖拽行排序的功能研究了几个小时.效果参考的QQ好友分组的排序. 网上查了下好像没有人发布QT版类似的代码,于是自己动手 QQ好友分组排序效果: 2,效果 这是最终效果图,有 ...
- QQ好友分组模拟小程序
QQ好友分组:一个好友组里有多个好友,一个好友只能选择一个组,这样好友组和好友之间就是一个一对多的关系.在此程序中封装一个好友类即Buddy类,一个组类即Group类.在Buddy类有有关好友的最基本 ...
- expandableListview的使用,模仿qq好友分组点击收缩扩展
我主要讲述的是用listview实现.模仿qq好友分组点击收缩.扩展功能 这个是对listview的拓展,用法比较相似,还是需要一个适配器 MainActivitypublic class MainA ...
- js实现qq好友分组
qq好友分组 <style>ul,h2 {padding: 0;margin: 0;background-color: wheat;}li {list-style: none;}#list ...
- layim之移动好友分组
Layim 移动好友分组比较简单,但值得注意的是,移动好友之前必须将好友在原来的分组上移除,再追加到新的分组上,否则会提示对方已经是你的好友,无法重新添加到新的分组当中,简单教程如下: 一. 添加右键 ...
- jQuery实现防QQ列表好友分组
1)在显示当前div之前, 先隐藏其他div 2)交替切换被选元素的 隐藏和显示 效果如下: 主要方式是通过jQuery查找点击的标签所属的tr,再找其同级元素,再查找div,并进行隐藏,而点击的对象 ...
最新文章
- 全国知名高校网站挂马现象严重 考生面临安全风险
- python中的format函数_python中的format 函数是什么?如何使用?
- java 的23种设计模式 单例模式
- Web Service 一些对外公开的网络服务接口以及http://www.webxml.com.cn/zh_cn/index.aspx
- 阿里打造全球首个纯机器人送货高校,22个物流机器人进入浙大备战双11
- 解决Mono for android的xml编辑器无法代码完成的问题
- C++ int与string的转化
- POE交换机隐藏指标是什么?
- 九大类背包问题专题1---01背包问题(二维和优化一维法附代码)
- ________________定时器
- Horizon client 连接桌面后显示:USB已禁用/USB重定向功能已禁用
- ROS系统中启用摄像头模块
- Win11怎么设置开机启动项?
- 回归分析beta值的标准_Beta值的基本原理及使用说明
- Dropbox安装包官网下载失败的解决方法
- CUDA-Pinned Host Memory
- tapestry mysql_tapestry与mybatis模块的结合
- 用powershell代码安装Windows软件
- win10重装系统(正版)(好用)(带激活方法)
- (二) DIM-SUM系统环境搭建之编译与调试环境
热门文章
- 【自制】csdn自定义模块栏目 个性化 【美化个人简介】
- 某农商行用户画像项目——用户画像分析部分
- 安卓源码,安卓开发,跑步打卡项目app源码,包括源码和简单文档
- 国外破解软件注册码查找网站收集
- java版京东抢购秒杀商品
- Ubuntu 20.04下bochs安装
- 普中科技手把手教你学ESP32--基于MicroPython-02
- scara机器人动荷载_六款日产SCARA机器人性能数据大比拼
- P4999 烦人的数学作业
- *** stack smashing detected ***: unknown terminated Aborted (core dumped)