前面写了那么多代码,所在这里我想用最少的代码完成这个功能!用一句js脚本,定时请求生成图片的Servlet并将图片更新到页面中,displayMonitorChart.html页页代码如下:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<link rel="stylesheet" type="text/css" href="generic.css" />
<title>网络实时数据流量监控 @NetJava.cn</title>
</head>
<script type="text/javascript">
//默认为未启动
var isStart=false;
//连续请求的标识
var autoRefrehID;
//用户点击启动监控按钮
function startMonitorPage(){
alert("这是留给你的任务!");
}
//自动刷新页面图片的js
function refeshGraph(){
document.all.monitorChart.src="servlet/MonitorChartServlet?daadsf="+new Date();
setTimeout("refeshGraph()",1000);
}
</script>
<!-- 页面装载时即启动图片刷新 -->
<body onload="refeshGraph();">
<!--监控图片 秒/更新一次-->
<div id="monitortCharDisplay">服务器设备在线监控:
<input type="button" id="BTNswitch" value="停 止" onclick="startMonitorPage();"/>
</div>
<hr>
<!--要刷新的图片组件 -->
<img id="monitorChart"></body>
</html>
页面中设定每隔1秒刷新一次图片,这样,用户看到的就是一张时间上连续的图片了;要注意的是,js在请求Servlet中后面附加上了一段参数,这是为了防止浏览器缓存上次图片的结果。请求这个页面,如果你看到动态的图片,那么大功告成了! 怎么?图片不漂亮?这简单,在后台写个方法美化JfreeChart图片://对生成的线图进行美容的方法
public void processChart( JFreeChart jfc) {
try {
//数据区的表示者
LineAndShapeRenderer renderer = new LineAndShapeRenderer();
//折点的可见性
renderer.setShapesVisible(true);
//折点是否为实体
//renderer.setShapesFilled(false);
//线条粗细
renderer.setStroke(new BasicStroke(1f));
renderer.setItemLabelsVisible(true);
renderer.setBaseItemLabelsVisible(true);
//线图上的数据是否可见?
renderer.setSeriesItemLabelGenerator(1,new StandardCategoryItemLabelGenerator());
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
//全图抗锯齿 默认为true 如果为false锐度会高很多
jfc.setAntiAlias(true);
// 只关闭字体的抗锯齿功能
//设置标题字体
jfc.getTitle().setFont(new Font("方正姚体",Font.BOLD,15));
//设置示例图文字大小****
jfc.getLegend().setItemFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT,12));
//设置示例图背景颜色****
jfc.getLegend().setBackgroundPaint(Color.GREEN);
// 图表背景色
jfc.setBackgroundPaint(Color.WHITE);
CategoryPlot plot = (CategoryPlot)jfc.getPlot();
// 数据区的背景透明度(0.0~1.0),白色的就无关了
plot.setBackgroundAlpha(0.8f);
//数据X轴网格线条颜色
plot.setRangeGridlinePaint(Color.orange);
//数据X轴网格线条颜色
plot.setDomainGridlinePaint(new Color(124, 100, 100));
//数据X轴网格线条笔触
plot.setRangeGridlineStroke(new BasicStroke(0.2f));
//数据Y轴网格线条笔触
plot.setDomainGridlineStroke(new BasicStroke(0.1f));
//给数据区增加数据区的表示者
plot.setRenderer(renderer);
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setAxisLineVisible(true);
//设置x轴标题字体
domainAxis.setLabelFont(new Font("宋体", Font.LAYOUT_NO_LIMIT_CONTEXT, 13));
//X轴字体大小 **************
domainAxis.setTickLabelFont(new Font("宋体", Font.LAYOUT_NO_LIMIT_CONTEXT, 10));
plot.setDomainAxis(domainAxis);
ValueAxis rangeAxis = plot.getRangeAxis();
//设置最高的一个 Item 与图片顶端的距离
rangeAxis.setUpperMargin(0.4);
//设置y轴标题字体
rangeAxis.setLabelFont(new Font("宋体",Font.LAYOUT_NO_LIMIT_CONTEXT , 13));
//Y轴字体大小 **********
rangeAxis.setTickLabelFont(new Font("宋体", Font.LAYOUT_NO_LIMIT_CONTEXT, 13));
//设置最低的一个 Item 与图片底端的距离
rangeAxis.setLowerMargin(0.2);
plot.setRangeAxis(rangeAxis);
// 设置柱的透明度
plot.setForegroundAlpha(1f);
plot.setDomainGridlinesVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
在service输出JfreeChart对象前调用这个方法处理一下,现在图片如下:
现在,你可以将图片样式改成你喜欢的样子啦,如果这个你还不满意的话! 还有最后一步,由你来完成吧,将它整合到系统中,也就是说点击树形菜单节点时要载入这个页面;另外,页面上的起动/停止按钮功能要实现----这不算太难吧。
- 描述:
jFreechart+jPcap实现web界面实时网络流量监控图片
- 大小: 971.6 KB
- RealTimeMontier.war.png (2 MB)
- 描述: 可布署的war文件,布署时去掉.png吧。
注意:第一次启动看不到图片,要安装jPcap,并将jpcap.dll复制到tomcat的bin下。在布署后页面中会有说明。
- 下载次数: 5242
分享到:
相关推荐
最后一章可能涵盖一些扩展话题,如与其他数据可视化库的比较、移动设备上的图表展示,或者如何将JFreeChart与其他Java库结合使用。 通过学习《精通Java Web动态图表编程》,读者不仅可以掌握JFreeChart的使用,还...
python基于51job数据可视化图表展示源码,基于51job工作招聘数据可视化图表展示 web 数据挖掘,ECharts可视化。python基于51job数据可视化图表展示源码,基于51job工作招聘数据可视化图表展示 web 数据挖掘,ECharts...
ECharts支持多种图表类型,包括柱状图、折线图、饼图、散点图、地图、仪表盘等,能够满足大数据平台展示的多样化需求。在“HTML5图表框架ECharts实战项目(50套源码)”中,你将获得丰富的实战案例,帮助深入理解和...
在Java Web开发中,资源监控是一项关键任务,它允许开发者实时了解系统运行状态,以便优化性能、检测潜在问题和防止故障。"ResourceMonitorWeb-master.zip" 提供了一个基于Java的Web应用程序,专门用于设备资源监控...
在这个“大数据可视化平台Web页面源码”项目中,我们可以看到一个基于HTML和CSS构建的数据展示平台,其核心目标是为用户提供便捷的数据理解和分析工具。以下是关于这个项目的一些关键知识点: 1. **HTML**: HTML...
这种类型的页面设计通常用于商业报告、数据分析、监控系统或者展览展示等场景,它能够以直观、动态的方式呈现复杂的数据信息,帮助用户快速理解和解读数据。 在HTML中,大屏展示页面的构建通常涉及到以下几个关键...
10. **报表和可视化**:为了便于理解和分析,监控数据需要以图表或报表的形式展示。这可能涉及到如Microsoft Chart Controls这样的库,用于生成图形化数据表示。 11. **定时任务**:系统可能具有计划任务功能,如...
在数据统计图表展示页面中,物联网可能涉及从各种传感器或设备实时获取数据,并将这些数据实时更新到图表上,提供即时的监控和分析。 4. **index.html**:这是网站的入口文件,通常包含HTML代码,定义了页面的基本...
ECharts是一款由百度开发的开源JavaScript图表库,用于在Web页面上进行数据可视化。它支持丰富的图表类型,如柱状图、折线图、饼图、散点图等,能够帮助用户直观地呈现复杂的数据信息。结合HTML,ECharts可以构建出...
该项目是一个基于Python和Web技术的Iat2000实时展示系统,旨在为公司提供每日生产情况的实时图表展示。源码包含51个文件,涉及11个pyc文件、10个Python源文件、7个JPG图片、4个XML配置文件、4个CSS样式表、4个PNG...
"java web图形 源码 好东东有写jfrechar" 提到的"jfrechart"是一个用于Java的开源图表库,它提供了创建各种复杂图表的能力,如柱状图、饼图、线图等,广泛应用于数据可视化和报表生成。 JFreeChart库是Java中非常...
2. **SVG(可缩放矢量图形)**:用于创建高质量、可自适应的图表和图形。 3. **AJAX(异步JavaScript和XML)**:用于动态加载和更新数据,使大屏实时反映系统状态。 4. **Bootstrap** 或 **Flexbox**:提供网格系统...
5. **数据交互与动态更新**:源码中可能包含了实时数据更新和交互功能,如通过Ajax或WebSocket获取实时数据,更新图表,或者通过鼠标悬停、点击等交互方式,展示详细数据信息。 6. **自定义主题与样式**:ECharts...
在现代Web开发中,实时数据可视化是至关重要的,特别是在监控系统、数据分析以及各种实时应用中。AJAX(Asynchronous JavaScript and XML)与SVG(Scalable Vector Graphics)的结合为实现这种实时监控图表提供了一...
总的来说,这个压缩包提供了一个全面的前端解决方案,用于构建一个实时展示全国疫情的监控系统。开发者可以学习并理解如何使用HTML、CSS和JavaScript来实现数据的获取、处理和展示,同时也可以根据需求对其进行定制...
数据可视化大屏是一种将复杂数据以直观、动态的方式呈现出来的方法,常用于企业决策分析、监控中心、展览展示等场景。在这个"数据可视化大屏源码(12套).zip"压缩包中,包含了12个不同的数据可视化大屏的源代码示例,...
你可以根据自己的需求,轻松定制各类图表,实时展示数据动态,让数据更加生动、直观地呈现在观众面前。 此外,这些源码模板还具备高度的可定制性和可扩展性,无论你是技术小白还是资深开发者,都能轻松上手,快速...
通过简单的修改,您就可以快速将模板应用于各种数据可视化场景,如实时监控、业务分析、报告展示等。 HTML作为前端技术的基石,其优势在于高度的兼容性和灵活性。这些源码模板充分利用了HTML的这一特性,使得数据...
基于JAVA开发的血压实时监控app源码+项目说明 毕设:一个血压实时监控app,该app主要功能为与测量设备进行通信,获取测量数据并在客户端进行处理,由服务器进行数据分析,为用户提供健康评估及建议。 蓝牙功能 可以...