Java自动化邮件中发送图表(四)之javafx Chart

本文详细介绍了JavaFX支持的各种图表类型,包括饼图、折线图、面积图等,并提供了在JavaFX中导出图表为图片的示例代码。文章适合JavaFX开发者学习图表应用与图片导出技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Javafx Chart

JavaFX支持各种饼图和XY图表。在XY平面上表示的图表包括AreaChart,BarChart,BubbleChart,LineChart,ScatterChart,StackedAreaChart,StackedBarChart等。

注意:在Server JRE和无法初始化Javafx Toolkit的环境,无法导出图片。

 

二、Chart类型

(1)PieChart

(2)LineChart

(3)AreaChart

(4)BubbleChart

(5)BarChart

(6)ScatterChart

(7)StackedAreaChart

(8)StackedBarChart

 

三、Chart导出图片

import com.sun.javafx.application.PlatformImpl;
import java.io.File;
import javafx.embed.swing.SwingFXUtils;
import javafx.scene.Scene;
import javafx.scene.SnapshotParameters;
import javafx.scene.chart.Chart;
import javafx.scene.image.WritableImage;
import javax.imageio.ImageIO;

public class ChartTest {

    public static void export() {

        //creating the chart
        final Chart chart = createChart();
        //防止坐标刻度不显示
        chart.setAnimated(false);
        //必须添加到场景,否则图表不绘制
        Scene scene = new Scene(chart, 800, 600);
        WritableImage writableImage = new WritableImage(800, (int) 600);
        chart.snapshot(new SnapshotParameters(), writableImage);

        File fileA = new File("./chart.png");
        try {
            ImageIO.write(SwingFXUtils.fromFXImage(writableImage, null), "png", fileA);
        } catch (Exception s) {
            s.printStackTrace();
        }

    }

    public static Chart createChart(){
          Chart chart = null;
          //build chart
          return chart;
    }
    public static void main(String[] args) throws InterruptedException {

        PlatformImpl.startup(() -> {
            export();
            System.err.println("finish");
            System.exit(0);//退出程序
        });

    }
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值