在本文中,我将介绍 JSci.swing包并向您展示如何使用它的类和方法创建条形图、饼形图和折线图。我们将首先看一下组成包的核心的类。
Java 2D 可能是在 Java 程序中编写 2D 图形程序的最显著的解决方案,但它不是唯一的一个。在本文中,Java 开发者 John Carr 提出了一种优秀的备用方案 — “Java 科学对象”(Java Objects for Science(JSci)),一个开放源代码的包,它使您能够在 Swing 中创建 2D 条形图、饼形图和折线图。请在Javascript:void%20forumWindow()">讨论论坛与本文作者和其他读者分享您对本文的心得。
对于大多数 Java 开发者,任何类型的图形开发在本质上都与 Java 2D 和 3D API 以及 Java.awt.Graphics 有紧密联系。虽然 Java 2D 和 3D API 为在 Swing 中创建图形提供优秀的工具,但您并非只可以任意使用它们,当然它们也不是最容易学的。对于那些没有时间、需要或有兴趣熬夜深刻了解 Java.awt.Graphics 的人,我向您推荐一个开放源代码的备用方案:JSci。
Java 科学对象(JSci)开放源代码项目是 Durham(英国 Durham)大学粒子理论中心的三年级研究生 Mark Hale 创立的。JSci 是一个包集合,包含数学和科学类。 在撰写本文时,JSci 的版本是 .87,运行在 Java 1.1.8、1.2.x 或 1.3.x 上,但将来可能为 Java 1.4 写更新版本的 JSci。这个项目的目的是以可能有助于基于科学的软件开发的最自然方式封装科学方法和原则。支持 JSci 的设计哲学是基于这样一种思想 — “直接从黑板到代码”。也就是,数学概念和构造应该以某种方式封装在代码中。在某种程度上,JSci 作为对象设计实验与作为数学库差不多。
使用 JSci,您既可以在 AWT 中也可以在 Swing 中创建简单的条形图、折线图和饼形图。JSci.swing.JBarGraph、 JSci.swing.JPieChart 和 JSci.swing.JLineGraph API 组件设计得也很好,这些组件和 AWT 绘图类都遵守 MVC 体系结构。
JSci.swing包
用于在 Swing 中创建图形的类位于 JSci.swing包中。JSci.swing包中的类,除 JImageCanvas 之外,都从 JDoubleBufferedComponent 继承。注意:JDoubleBufferedComponent 和 JImageCanvas 都是从 Javax.swing.JComponent 继承的。
【编辑推荐】