如何设置特定颜色作为JavaFX图表的背景?

设置背景图像和颜色-

  • JavaFX CSS的-fx-background-color类用于为图表设置彩色背景。

  • JavaFX CSS的-fx-background-color(属于region chart-plot-background)类用于设置背景色。

  • JavaFX Scene类具有一个可观察的列表,用于保存所有必需的样式表。您可以使用getStylesheets()方法获取此列表。

要将图像设置为图表的背景-

  • 在项目表的当前包中创建一个CSS文件(例如LineChart.css)。

  • 使用-fx-background-color CSS类将背景图像设置为-

.chart-plot-background {

   -fx-background-color: DIMGRAY;

}

  • 使用-fx-background-color CSS类将绘图颜色设置为透明-

.chart-plot-background {

   -fx-background-color: transparent;

}

  • 在程序中,使用getStylesheets()方法获取样式表的可观察列表。

  • 使用add()方法将创建的CSS文件添加到列表中。

示例

color.CSS-

.chart {

   -fx-padding: 10px;

   -fx-background-color: DIMGRAY;

}

.chart-plot-background {

   -fx-background-color: transparent;

}

.chart-vertical-grid-lines {

   -fx-stroke: #dedddc; -fx-stroke-width: 2;

}

.chart-horizontal-grid-lines {

   -fx-stroke: #dedddc; -fx-stroke-width: 2;

}

JavaFX程序-

import javafx.application.Application;

import javafx.scene.Scene;

import javafx.scene.chart.AreaChart;

import javafx.scene.chart.CategoryAxis;

import javafx.stage.Stage;

import javafx.scene.chart.NumberAxis;

import javafx.scene.chart.XYChart;

import javafx.scene.layout.StackPane;

public class AreaChartExample extends Application {

   public void start(Stage stage) {

      //定义X和Y轴

      CategoryAxis xAxis = new CategoryAxis();

      NumberAxis yAxis = new NumberAxis();

      //将标签设置到轴

      xAxis.setLabel("Months");

      yAxis.setLabel("Rainfall (mm)");

      //创建面积图

      AreaChart<String, Number> areaChart = new AreaChart(xAxis, yAxis);

      //准备面积图的数据

      XYChart.Series series = new XYChart.Series();

      series.getData().add(new XYChart.Data("Jan", 13.2));

      series.getData().add(new XYChart.Data("Feb", 7.9));

      series.getData().add(new XYChart.Data("Mar", 15.3));

      series.getData().add(new XYChart.Data("Apr", 20.2));

      series.getData().add(new XYChart.Data("May", 35.7));

      series.getData().add(new XYChart.Data("June", 103.8));

      series.getData().add(new XYChart.Data("July", 169.9));

      series.getData().add(new XYChart.Data("Aug", 178.7));

      series.getData().add(new XYChart.Data("Sep", 158.3));

      series.getData().add(new XYChart.Data("Oct", 97.2));

      series.getData().add(new XYChart.Data("Nov", 22.4));

      series.getData().add(new XYChart.Data("Dec", 5.9));

      //将名称设置为行(系列)

      series.setName("Rainfall In Hyderabad");

      //将数据设置为面积图

      areaChart.getData().addAll(series);

      //创建一个堆栈窗格来保存图表

      StackPane pane = new StackPane(areaChart);

      //设置场景

      Scene scene = new Scene(pane, 595, 300);

      stage.setTitle("Area Chart");

      stage.setScene(scene);

      scene.getStylesheets().add("javafx_transformastions/color.css");

      stage.show();

   }

   public static void main(String args[]){

      launch(args);

   }

}

输出结果


以上是 如何设置特定颜色作为JavaFX图表的背景? 的全部内容, 来源链接: utcz.com/z/345574.html

回到顶部