JavaFX StackedBarChart负条形图未显示

JavaFX StackedBarChart负条形图未显示,java,javafx,Java,Javafx,带有负值的bBar不会显示在图表上。有解决办法吗 import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.chart.*; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class ColoredStackBarChart extends Application { private

带有负值的bBar不会显示在图表上。有解决办法吗

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.*;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class ColoredStackBarChart extends Application {

    private BarChart<String, Number> chart;

    @Override
    public void start(Stage primaryStage) throws Exception {
        final CategoryAxis xAxis = new CategoryAxis();
        final NumberAxis yAxis = new NumberAxis();
        this.chart = new BarChart<>(xAxis,yAxis);
        this.chart.setAnimated(false);

        this.chart.setBarGap(0);
        this.chart.setCategoryGap(0);

        StackedBarChart<String, Number> chart = new StackedBarChart(xAxis, yAxis);
        chart.setLegendVisible(false);

        xAxis.getCategories().addAll("A", "B");

        XYChart.Series<String, Number> series1 = new XYChart.Series();
        XYChart.Data aBar = new XYChart.Data("A", 100);
        series1.getData().add(aBar);

        XYChart.Series<String, Number> series2 = new XYChart.Series();
        XYChart.Data bBar = new XYChart.Data("B", -100);
        series2.getData().add(bBar);

        chart.getData().addAll(series1, series2);

        // NOTE can only set colors after they have been added to the chart.
        aBar.getNode().setStyle("-fx-background-color: green");
        bBar.getNode().setStyle("-fx-background-color: red");


        VBox vbox = new VBox(this.chart);
        Scene scene = new Scene(vbox, 400, 200);
        primaryStage.setScene(scene);
        primaryStage.setHeight(600);
        primaryStage.setWidth(400);
        primaryStage.show();
    }

    public static void main(String[] args) {
        Application.launch(args);
    }
}
导入javafx.application.application;
导入javafx.scene.scene;
导入javafx.scene.chart.*;
导入javafx.scene.layout.VBox;
导入javafx.stage.stage;
公共类ColoredStackBarChart扩展了应用程序{
私人柱状图;
@凌驾
public void start(Stage primaryStage)引发异常{
最终CategoryAxis xAxis=新CategoryAxis();
最终数字axis yAxis=新数字axis();
this.chart=新条形图(xAxis,yAxis);
this.chart.setAnimated(false);
此.chart.setBarGap(0);
这个.chart.setCategoryGap(0);
StackedBarChart图表=新的StackedBarChart(xAxis,yAxis);
图表。setLegendVisible(假);
getCategories().addAll(“A”、“B”);
XYChart.Series系列1=新的XYChart.Series();
XYChart.Data aBar=新的XYChart.Data(“A”,100);
series1.getData().add(aBar);
XYChart.Series系列2=新的XYChart.Series();
XYChart.Data bBar=新的XYChart.Data(“B”,-100);
series2.getData().add(bBar);
chart.getData().addAll(series1、series2);
//注意:只有将颜色添加到图表后,才能设置颜色。
aBar.getNode().setStyle(“-fx背景色:绿色”);
bBar.getNode().setStyle(“-fx背景色:红色”);
VBox VBox=新的VBox(this.chart);
场景=新场景(vbox,400200);
初级阶段。场景(场景);
初生阶段。设定高度(600);
初生阶段:坐骨宽度(400);
primaryStage.show();
}
公共静态void main(字符串[]args){
应用程序启动(args);
}
}

隐约记得这是一个bug(可能是最近修复的)-我见过黑客(可能是在第三方框架中),一些研究可能会发现:)我不知道这是否有帮助,但隐约记得这是一个bug(可能是最近修复的)-我见过黑客(可能是在第三方框架中),一点研究可能会让他们想到:)我不知道这是否会有任何帮助,但调查一下