Java Swing 统计图建立指南

Java Swing 是 Java 语言提供的一个用于构建图形用户界面的工具包,它可以帮助开发者创建出具有丰富交互功能的桌面应用程序,在许多应用场景中,统计图是展示数据趋势和分布的重要工具,本文将介绍如何使用 Java Swing 建立统计图。
所需环境
- Java 开发环境:如 IntelliJ IDEA、Eclipse 等。
- Java Swing 库:JDK 1.8 或更高版本自带 Swing 库。
- 绘图库:如 JFreeChart 或 JFreeChartX。
选择绘图库
Java Swing 本身并不包含绘图功能,因此需要引入第三方绘图库,以下是两种常用的绘图库:
- JFreeChart:一个开源的 Java 绘图库,支持多种图表类型,如柱状图、折线图、饼图等。
- JFreeChartX:基于 JFreeChart 的扩展库,提供了更多图表类型和功能。
本文以 JFreeChartX 为例进行讲解。
创建统计图

创建项目并引入 JFreeChartX 库
在开发工具中创建一个新的 Java Swing 项目,并将 JFreeChartX 库添加到项目的依赖中。
创建统计图界面
在主界面中添加一个 JFreeChart 组件,用于显示统计图,以下是一个简单的示例代码:
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;
import javax.swing.*;
import java.awt.*;
public class StatisticsChartExample extends JFrame {
public StatisticsChartExample() {
setTitle("Java Swing 统计图示例");
setSize(800, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
// 创建统计图
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(10, "类别1", "数据1");
dataset.addValue(20, "类别1", "数据2");
dataset.addValue(30, "类别2", "数据1");
dataset.addValue(40, "类别2", "数据2");
JFreeChart chart = ChartFactory.createBarChart(
"统计图示例",
"类别",
"值",
dataset
);
// 创建图表面板并添加到窗口
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(500, 400));
add(chartPanel);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
new StatisticsChartExample().setVisible(true);
});
}
}
运行程序
编译并运行程序,即可在窗口中显示统计图。

扩展功能
-
修改图表类型:JFreeChartX 提供了多种图表类型,如折线图、饼图、散点图等,可以通过修改
ChartFactory.createBarChart方法中的ChartFactory.create...方法参数来选择不同的图表类型。 -
添加交互功能:JFreeChartX 支持鼠标悬停、点击等交互事件,可以通过实现
ChartMouseListener接口来添加自定义交互功能。 -
动态更新数据:可以通过修改
DefaultCategoryDataset中的数据来动态更新图表。
通过以上步骤,您可以使用 Java Swing 建立一个简单的统计图,在实际应用中,可以根据需求进行扩展和优化。


















