无法获取LineChartBuilder进行编译

时间:2012-12-13 22:27:23

标签: javafx-2

我正在创建一个使用JavaFX 2.2的应用程序并遇到了问题。我正在尝试使用LineChartBuilder,如下所示:

LineChart<Number, Number> chart = LineChartBuilder.<Number, Number>
        create()
        .XAxis(NumberAxisBuilder.create().label("X axis").build())
        .YAxis(NumberAxisBuilder.create().label("Y axis").build())
        .build();

但是,我收到以下编译器错误:

java: reference to create is ambiguous, both method create() in 
javafx.scene.layout.RegionBuilder and method <X,Y>create() in 
javafx.scene.chart.LineChartBuilder match

java: cannot find symbol
  symbol:   method XAxis(javafx.scene.chart.NumberAxis)
  location: class javafx.scene.layout.RegionBuilder<capture#1 of ?>

我知道第一个错误意味着LineChartBuilderRegionBuilder下降并且都定义了create()方法,第二个意味着假设该方法来自RegionBuilder,因此不能找到XAxis方法。我甚至尝试过它,

LineChart<Number, Number> chart = 
        ((LineChartBuilder<Number, Number, ?>) 
        LineChartBuilder.<Number, Number>create())....

但是我得到了相同的编译器错误。

我的问题是,这是LineChartBuilder中的错误还是我使用错了?也许甚至有一种解决方法?

1 个答案:

答案 0 :(得分:0)

您确定使用的是JavaFX 2.2而不是JDK8预发布吗?

JDK8将为使用JavaFX 2.2编码的构建器遇到这些问题:请参阅RT-24272

解决方法是使用new LineChart(xaxis, yaxis)。另请参阅此问题的Oracle forum thread帖子。