1

JavaFX 2.2 を使用するアプリケーションを作成していますが、問題が発生しました。私は次のLineChartBuilderように a を使用しようとしています:

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 ?>

最初のエラーは、メソッドのLineChartBuilder派生元でRegionBuilderあり、両方がメソッドを定義しているcreate()ことを意味し、2 番目のエラーは、メソッドが由来していると想定しているRegionBuilderため、メソッドが見つからないことを意味しますXAxis。投げてみたりもしましたが、

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

しかし、同じコンパイラ エラーが発生します。

私の質問は、これは間違いですか、LineChartBuilderそれとも間違って使用していますか? 多分回避策もありますか?

4

1 に答える 1

0

JDK8プレリリースではなく、JavaFX 2.2で実行していますか?

JDK8 では、JavaFX 2.2 用にコーディングされたビルダーでこれらの問題が発生します: RT-24272を参照してください。

回避策は、 を使用することnew LineChart(xaxis, yaxis)です。この問題に関するOracle フォーラムのスレッド投稿も参照してください。

于 2012-12-13T23:59:02.023 に答える