用JFreeChart画仪表盘

简介:
DefaultValueDataset data = new DefaultValueDataset(32.0);
MeterPlot plot = new MeterPlot(data);
plot.setDialShape(DialShape.CHORD);
plot.setDialBackgroundPaint(Color.WHITE);
plot.setRange(new Range(0, 120));
plot.setDialOutlinePaint(Color.GRAY);
plot.setNeedlePaint(Color.BLACK);
plot.setTickLabelsVisible(true);
plot.setTickLabelPaint(Color.BLACK);
plot.setTickPaint(Color.GRAY);
plot.setTickLabelFormat(NumberFormat.getNumberInstance());
plot.setTickSize(10);
plot.setValuePaint(Color.BLACK);
plot.addInterval(new MeterInterval("Low", new Range(0, 70), null, null,new Color(128, 255, 128,90) ));
plot.addInterval(new MeterInterval("Normal", new Range(70, 100), null, null, new Color(255, 255, 128,90)));
plot.addInterval(new MeterInterval("High", new Range(100, 120), null, null, new Color(255, 128, 128,90)));

//创建chart,最后一个参数决定是否显示图例
final JFreeChart chart = new JFreeChart("Meter Chart", JFreeChart.DEFAULT_TITLE_FONT, plot, false);

//放到SWT的Composite里,以前介绍过这个方法
Composite drawarea = new Composite(tabFolder, SWT.EMBEDDED);
drawarea.setLayout(new FillLayout());
Frame canvasFrame = SWT_AWT.new_Frame(drawarea);
java.awt.Canvas canvas = new java.awt.Canvas() {
    public void paint(Graphics g) {
        super.paint(g);
        if (chart != null)
            chart.draw((Graphics2D) g, getBounds());
    }
};
TabItem tab = new TabItem(tabFolder, SWT.NONE);
tab.setControl(drawarea);
tab.setText("Meter");
canvasFrame.add(canvas);

本文转自博客园八进制的博客,原文链接:用JFreeChart画仪表盘,如需转载请自行联系原博主。

相关文章
|
10月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的高校共享单车管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的高校共享单车管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
236 0
|
10月前
|
安全 Java 数据安全/隐私保护
推荐一款加密工具: 加密jar包+设置机器码+使用demo
推荐一款加密工具: 加密jar包+设置机器码+使用demo
1645 0
|
数据采集 算法 开发者
如何使用Python爬虫处理多种类型的滑动验证码
如何使用Python爬虫处理多种类型的滑动验证码
|
7月前
|
数据采集 人工智能 数据可视化
Python selenium爬虫被检测到,该怎么破?
Python selenium爬虫被检测到,该怎么破?
1117 8
|
前端开发 Java Maven
SpringBoot2.x系列教程09--SpringBoot中支持jsp页面
前言 在上一章节中,壹哥 跟大家讲过现在项目比较流行的开发模式,稍微大点的项目一般都是采用前后端分离的开发模式。如果我们的项目采用的是前后端不分离的模式,在SpringBoot中推荐我们使用Themeleaf模板来作为页面。 但是咱们都知道,Spring MVC中是支持JSP的,但是在Spring Boot中,其实不建议我们使用JSP。因为SpringBoot自带的嵌入式servlet容器对jsp的解析有使用限制,而且jsp的本质是Servlet,每个页面的加载都需要先进行编译,所以jsp的效率相对于html或Themeleaf都比较低。 但是如果你非要在Spring Boot中使用jsp
476 0
IntelliJ IDEA自动生成自定义的类注释和方法注释
IntelliJ IDEA自动生成自定义的类注释和方法注释
538 0
IntelliJ IDEA自动生成自定义的类注释和方法注释
|
Java Spring
@Autowired报错的4种解决方案和原因分析!(3)
@Autowired报错的4种解决方案和原因分析!(3)
363 0
@Autowired报错的4种解决方案和原因分析!(3)
|
SQL 关系型数据库 MySQL
出现mysql max-connections问题解决解决办法
查看变量: mysql -p show variables; 或者 mysql -uroot -p variables |grep max_connections 显示当前运行的Query:mysql> show processlist; 显示当前状态:mysql> show status;
362 0
|
Java Linux Windows
请慎用java的File#renameTo(File)方法(转)
以前我一直以为File#renameTo(File)方法与OS下面的 move/mv 命令是相同的,可以达到改名、移动文件的目的。不过后来经常发现问题:File#renameTo(File)方法会返回失败(false),文件没有移动,又查不出原因,再后来干脆弃用该方法,自己实现一个copy方法,问题倒是再也没有出现过。
2493 0
|
移动开发 编解码 Windows
NSIS常用代码整理
原文 NSIS常用代码整理 这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用。不定期更新哦~~~  1 ;获取操作系统盘符 2 ReadEnvStr $R0 SYSTEMDRIVE 3 ;创建log文件夹 ...
1390 0