Javafx 如何处理StackedAreaChart渲染错误

Javafx 如何处理StackedAreaChart渲染错误,javafx,javafx-2,javafx-8,Javafx,Javafx 2,Javafx 8,我经常在StackedAreaChart中遇到一个非常麻烦的bug。而不是 我明白了 当每个显示像素的数据点密度很高(虽然不是特别高)、非线性和/或连续数据系列的x分量未对齐时,该缺陷似乎经常出现。例如,上面的两个图像是同一窗口的,只是调整了大小 以下是在Windows 7 32位和64位平台上重现该错误的代码: public class ChartTest extends Application { @Override public void start(Stage primarySta

我经常在StackedAreaChart中遇到一个非常麻烦的bug。而不是

我明白了

当每个显示像素的数据点密度很高(虽然不是特别高)、非线性和/或连续数据系列的x分量未对齐时,该缺陷似乎经常出现。例如,上面的两个图像是同一窗口的,只是调整了大小

以下是在Windows 7 32位和64位平台上重现该错误的代码:

public class ChartTest extends Application {

@Override
public void start(Stage primaryStage) {

    NumberAxis xAxis = new NumberAxis(0, 100, 10);
    NumberAxis yAxis = new NumberAxis(0, 100, 10);
    StackedAreaChart<Number,Number> chart;
    chart = new StackedAreaChart(xAxis,yAxis);
    chart.setLegendVisible(false);
    chart.setCreateSymbols(false);
    chart.getData().add(genSeries(0));
    chart.getData().add(genSeries(1));

    StackPane root = new StackPane();
    root.getChildren().add(chart);

    Scene scene = new Scene(root, 300, 250);

    primaryStage.setScene(scene);
    primaryStage.show();
}

private Series<Number,Number> genSeries(int a){
    Series<Number,Number> s = new Series<>();
    ObservableList<XYChart.Data<Number, Number>> d = s.getData();
    for(int i=0; i<50; i++){
        double x = Math.sqrt(2*i+a);
        d.add(new XYChart.Data<>(x, i));
    }
    return s;
}

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    launch(args);
}

}
公共类ChartTest扩展应用程序{
@凌驾
公共无效开始(阶段primaryStage){
NumberAxis xAxis=新的NumberAxis(0,100,10);
NumberAxis-yAxis=新的NumberAxis(0,100,10);
斯塔克哈特图表;
图表=新的StackedAreChart(xAxis,yAxis);
图表。setLegendVisible(假);
chart.setCreateSynumbles(false);
chart.getData().add(genSeries(0));
chart.getData().add(genSeries(1));
StackPane root=新的StackPane();
root.getChildren().add(图表);
场景=新场景(根,300,250);
初级阶段。场景(场景);
primaryStage.show();
}
专用系列发电机组(int a){
系列s=新系列();
ObservableList d=s.getData();

对于(inti=0;我可以在jdk8u20中复制,jdk8u40b23中的工作表单-因此看起来像是在emeantime@kleopatra谢谢!这个版本也适用于我。问题(或类似问题)在jdk8u60中似乎又回到了一个较小的范围。不幸的是,这次要制作一个简单的程序来复制它似乎并不容易。