`
yajie
  • 浏览: 206395 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java实现标签云

 
阅读更多

Java实现标签云

博客的标签云功能实现已经很久了,但是只有标签功能,没有云的功能,囧!~~~

标签云主要有以下几点重要的 功能:

能根据标签下面文章的多少来决定标签的显示样式的大小

标签云能实现随机颜色

这样标签云就能云起来了,每个标签的字体大小根据数量来决定,数量越多的字体越大,最小的数量也使用12px字体,这样看起来不会太累,颜色直接随机好了

01 public void tag_cloud(Map<String, Integer> tags) {
02 int maxsize = 38 ; //最大字体大小
03 int minsize = 12 ;
04 List<Integer> list2 = CollectionUtils.toList(tags); //这里是我自己的内库实现的map转换为list
05 int maxval = CollectionUtils.max(list2); //获取标签下文章数量的最大值
06 int minval = CollectionUtils.min(list2); //获取最小值
07 int spread = maxval - minval;
08 int step= 1 ;
09 if (spread!= 0 )
10 step = (maxsize - minsize) / spread;
11 String[] color = new String[] { "#FF0000" , "#FFCC00" , "#FF9900" ,
12         "#0099FF" , "#999999" };
13 Iterator<String> it = tags.keySet().iterator();
14 while (it.hasNext()) {
15 String key = it.next();
16 int val = tags.get(key);
17 int index = RandomUtil.nextInt( 0 , color.length - 1 ); //产生0到数组长度的随机数字,来实现随机颜色
18 int size = Math.round(minsize + ((val - minval) * step));
19 System.out.println( "<a href=\"#\" style=\"font-size:" +size+ "px;color:" +color[index]+ "\">" +key+ "</a>" );
20 }
21 }

使用方法:

01 Map<String, Integer> tags= new HashMap<String, Integer>();
02 tags.put( "java" , 20 );
03 tags.put( "ruby" , 2 );
04 tags.put( "groovy" , 4 );
05 tags.put( "php" , 11 );
06 tags.put( "scala" , 2 );
07 tags.put( "js" , 8 );
08 tags.put( "jquery" , 16 );
09 tags.put( "struts" , 20 );
10 tags.put( "c" , 20 );
11 tags.put( "sql" , 10 );
12 tag_cloud(tags);

原理基本上就这样了。。。,一个简单的标签云功能就出来了,说实话找遍百度和google都没有java 实现标签云的相关文章....最后还是根据一php哥们的思想转换为JAVA的,可惜忘了那兄弟的出处了,再次感谢下这为未知的哥们的无私贡献

上面的代码是我修改过的只是为了更好的演示tags的功能,大家可以修改成自己的POJO 来代替泛型 中的String..

0
2
分享到:
评论
6 楼 泛黄秋颜 2016-09-01  
大神你好,我最近在做云显示,奈何就是不会,能不能麻烦您发我一份源码呢?定将万分感谢
2501915837@qq.com
5 楼 Zhang_amao 2016-06-02  
我的QQ邮箱1101232017@qq.com
4 楼 Zhang_amao 2016-06-02  
您好, 我现在也在研究这一领域,特别需要java版本来生成中文的标签云,能给一份源码吗??将非常感谢
3 楼 mjj 2012-05-07  
兄弟能否抄我一份623333581@qq.com
共进取
2 楼 czg18596 2011-12-14  
老兄你好,能给一下你的源代码吗?谢谢,120940002@qq.com
1 楼 lfsy0 2011-12-05  
你好 ,看到你这个蛮有意思的,能给我源代码吗,1913798942@qq.com

相关推荐

    java制作标签云图与界面展示

    标签云现在用javascript很容易实现,而且效果也很炫,在网络应用中比较多,但是java的桌面应用J2SE却很少,好像很难实现这种,但是最近发现java的图像界面也可以,我用的swt做的,实现用户关键词标签云生成。...

    教你用javascript实现随机标签云效果_附代码

    标签云是一套相关的标签以及与此相应的权重。典型的标签云有30至150个标签。权重影响使用的字体大小或其他视觉效果。...明白了标签云是咋回事儿那么实现起来就简单了,其实就是根据每个标签的不同的重要性设

    2个G的java实例源码以及开源项目源码

    2个G的java实例源码以及开源项目源码,源码难易程度分为初级... zip Java 实现的 EverBox 库Everbox4j. zip Java 数据库连接池 BoneCPjar Java 注册表操作类 jared . tgz Java 转 C ++代码工具J2C. jar OAuth 实现...

    Android实现随机圆形云标签效果

    本文实例为大家分享了Android实现圆形云标签效果展示的具体代码,供大家参考,具体内容如下 下面是实现的效果图: 这个适合用于选择 用户的一些兴趣标签,个性名片等。 代码: Activity package ...

    JAVA语言程序设计【高清版】.pdf

    90 5.7.2 接口的定义 91 5.7.3 接口的实现 91 5.8 Java包 94 5.8.1 Java包的概念 94 5.8.2 import语句 95 5.9 内部类 97 5.9.1 内部类的概念 97 5.9.2 匿名类 99 习题 100 第6章 数组、容器和字符...

    javascript实现动态标签云

    今天上学校的图书馆,看到了一个好玩的东西,特意百度了下,发现叫做“标签球”,效果图为: 直接代码如下: CSS: #div1 {position:relative; width:350px; height:350px; border:1px solid #000; margin: 20px ...

    rosjava_core:支持 Android 的纯 Java ROS 实现

    rosjava 是第一个纯 Java 的 ROS 实现。... 查看 ros-users,使用标签“rosjava”将问题发布到 ,或加入 irc.oftc.net 上的 #ROS。 rosjava的公开宣布。 寻找一个机器人平台来尝试ROS,Android和云机

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    全书分4篇,共24章,其中,第1篇为技能学习篇,主要包括Java Web开发环境、JSP语法、JSP内置对象、Java Bean技术、Servlet技术、EL与JSTL标签库、数据库应用开发、初识Struts2基础、揭密Struts2高级技术、Hib锄劬e...

    Java开源的下一代社区平台Symphony.zip

    2009 年选择了 GAE 作为服务器,并开始实现 Latke 框架来解决跨云平台,直到告别 GAE,不得不感叹技术更迭之快 感受到了自造轮子的优缺点,并且可以肯定一点:对于一个想要长久的产品来说,自制技术框架优势远大于...

    【JavaScript源代码】Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法.docx

     我测试过很多遍,想要通过a标签的形式来直接点击url下载文件并重命名但是都失败了,最终只能下载却不能重命名 所以 换了java后台来修改名字.以下代码 我做的网页是点击文件直接下载 直接下载下来了,一开始的文件名...

    腾讯人脸识别demo

    **图像识别**:鉴黄,标签 **文字识别(OCR)**:身份证,名片,通用,驾驶证行驶证,营业执照,银行卡,车牌号 **人脸识别**:人脸检测,五官定位,个体信息管理,人脸验证,人脸对比及人脸检索 **人脸核身**:...

    毕业设计,基于SpringBoot+MySql+Vue开发的云音乐网站,内含Java完整源代码,数据库脚本及音乐附件如mp3等

    毕业设计,基于SpringBoot+MySql+Vue开发的云音乐网站,内含Java完整源代码,数据库脚本及音乐附件如mp3等 总体设计主要包括系统总体结构设计、系统数据结构设计、系统功能设计和系统安全设计等;详细设计主要包括...

    其他类别Noka tag 软件标签 v3.0-noka3.9.rar

    Noka Tag 软件标签系统是一个为计算机专业人士设计的JSP源码资料包,旨在帮助开发者快速实现标签化管理和内容分类。这个版本是v3.0,文件名为“noka3.9.rar”,它可能包含了一系列的JSP页面、Java类、配置文件、...

    开源 免费 java CMS FreeCMS用户手册1.5

    增加标签infoPreList,infoNextList,实现上一条,下一条功能。 增加标签visit,提取访问统计数据。 标签infoList、infoPage、infoSearch,增加属性newdays,设置几天内的新闻为最新新闻。 标签channel,增加属性...

    Blogger News App v3.0.0博客连接Blogger 安卓应用项目源码java PHP

    它加载所有博客文章,标签,页面和显示在一个美丽的和精心设计的布局。在Android平台下运行,并使用Android Studio与Java编程语言构建,使应用程序原生运行,快速流畅。实现Google Material Design UI,使应用程序在...

    欧朋手机浏览器Opera mini官方Java版

    通过云架构的压缩和转码,欧朋手机浏览器可大大减少页面访问的流量——最高可达90%,让您在手机畅游互联网时无“流量”之忧。 10、超强浏览功能 强大内核,真彩浏览 采用世界领先的浏览器内核,全面支持手机WAP以及...

    Java源码-谦和网络相册

    该平台具有友好的用户界面,支持批量上传、图片编辑、自动标签和云存储等功能。用户可以通过设置权限来控制照片的公开程度,实现私密或公开分享。同时,相册支持社交功能,用户可以对照片进行评论、点赞和转发,加强...

    阿里云javasdk源码-CNIMStudy:即时聊天后台服务端代码

    阿里云java sdk源码 CNIMStudy 即时聊天后台服务端代码 IM知识点(前后端都涉及大) 标签(空格分隔): 开源项目 JAVA后台 Android前端 ##How to use this Project ###IM四大协议 IMPP:即时信息和空间协议 XMPP:可...

    java8源码-mosquito-blog:mosquito-blog是一个用Scala+Play搭建的博客系统

    java8 源码 项目 演示地址: mosquito-blog是一个用Scala+Play搭建的博客系统。...标签云 浏览排行 文章归档 TODO 博客后台 每日心情 导航栏 使用缓存优化性能 使用Ajax、jQuery提升体验 运行 必须安装有Jav

    Java 实时社区论坛.zip

    2009 年选择了 GAE 作为服务器,并开始实现 Latke 框架来解决跨云平台,直到今年告别 GAE,不得不感叹技术更迭之快感受到了自造轮子的优缺点,并且可以肯定一点:对于一个想要长久的产品来说,自制技术框架优势远...

Global site tag (gtag.js) - Google Analytics