at sun.awt.windows.Win32OffScreenSurfaceData.initDDraw(Native Method)
at sun.awt.windows.Win32OffScreenSurfaceData.<clinit>
(Win32OffScreenSurfaceData.java:141)
at sun.awt.Win32GraphicsDevice.<clinit>(Win32GraphicsDevice.java:58)
at
sun.awt.Win32GraphicsEnvironment.makeScreenDevice(Win32GraphicsEnvironment.java:1
68)
at
sun.java2d.SunGraphicsEnvironment.getScreenDevices(SunGraphicsEnvironment.java:24
0)
at sun.awt.Win32GraphicsEnvironment.getDefaultScreenDevice
(Win32GraphicsEnvironment.java:61)
at java.awt.Window.init(Window.java:224)
at java.awt.Window.<init>(Window.java:268)
at java.awt.Frame.<init>(Frame.java:398)
at javax.swing.JFrame.<init>(JFrame.java:198)
at org.jfree.chart.demo.JFreeChartDemo.<init>(JFreeChartDemo.java:148)
at org.jfree.chart.demo.JFreeChartDemo.main(JFreeChartDemo.java:285)
Exception in thread "main"
这个错误是由于新版的 Swing 大量的使用了微软的 DirectDraw 的技术来提高画图的性能,
而可能你的显卡在这时候会跟你闹点情绪或者显卡本身并不支持这样的一个技术。难道就没
有办法了嘛?要解决这个问题也非常简单,我们可以屏蔽掉 DirectDraw,不让 Swing 使用
该技术就可以了。在运行这些代码时给虚拟机指定参数 -Dsun.java2d.noddraw 即可。
这时可能你又该纳闷了,不说是基于 Web 的图表嘛,怎么又扯到 Swing 上了?这是因为
为了使开发者容易上手,无需配置任何运行环境,所以这些例子都是基于 GUI 方式的用于
展现给开发者如果生成一个图表,我们要学习的也就是如何利用这个引擎生成图表而不是怎
么来显示一个图表。当我们把生成的图表对象 Export 到一个图像文件即可在 Web 上发布。
下面我们来介绍 JFreeChart 中几个核心的对象类:
图表对象,任何类型的图表的最终表现形式都是在该对象进行一些属
性的定制。JFreeChart 引擎本身提供了一个工厂类用于创建不同类型
的图表对象
数据集对象,用于提供显示图表所用的数据。根据不同类型的图表对
应着很多类型的数据集对象类
图表区域对象,基本上这个对象决定着什么样式的图表,创建该对象
的时候需要 Axis、Renderer 以及数据集对象的支持
评论0
最新资源