【发布时间】:2014-12-11 10:07:52
【问题描述】:
我正在尝试设置我的 JavaFX 面积图的样式,但找不到任何方法将颜色设置为特定系列。我知道,我可以通过 CSS 设置样式,但我也想在代码中实现。
我该怎么做? 1.) 如何使用内联样式为面积图设置颜色?
感谢您的帮助。
@何塞:
我以前是这样弄的,但是对我不起作用!
@Override
public void start(Stage primaryStage)
{
final AreaChart<String, Number> areaChart = new AreaChart<>(new CategoryAxis(), new NumberAxis());
ObservableList<XYChart.Data<String, Integer>> xyList = FXCollections.observableArrayList(
new XYChart.Data<>("P1", 30),
new XYChart.Data<>("P2", 40),
new XYChart.Data<>("P3", 30));
XYChart.Series series = new XYChart.Series(xyList);
areaChart.getData().addAll(series);
Button button = new Button("Change style");
button.setOnAction(new EventHandler<ActionEvent>()
{
@Override
public void handle(ActionEvent arg0)
{
int redColor = 0, greenColor = 127, blueColor = 195;
double opacity = 0.3;
areaChart.setStyle("CHART_COLOR_1: rgb(" + redColor + "," + greenColor + "," + blueColor + "); "
+ "CHART_COLOR_1_TRANS_20: rgba(" + redColor + "," + greenColor + "," + blueColor + "," + opacity + ");");
}
});
VBox root = new VBox();
root.getChildren().addAll(button, areaChart);
Scene scene = new Scene(root, 400, 300);
primaryStage.setScene(scene);
primaryStage.show();
}
【问题讨论】:
-
你已经有一个answer。
-
@JoséPereda 你可以为我再次制作那个示例文件,而不需要任何 Java8 函数等等吗?我无法使用它,因为我使用的是 Java7!它以前对我也不起作用。如果您可以制作一个完整的类来处理它,那就太好了(仅 Java7 函数-> 没有 Lambda 表达式等等=
-
@JoséPereda 我也只想更改意甲的颜色,而不是完整图表。
标签: java css charts javafx styles