5

JavaFx8 でアプリケーションを作成しましたが、正常に動作していますが、以下に示すように例外が表示されることがあります。なぜこの種の例外が発生するのか理解できません。この例外を追跡する方法はありますか。または、そのような例外に詳しい人。親切に助けてください。

java.lang.NullPointerException
    at com.sun.pisces.PiscesRenderer.fillLCDAlphaMask(PiscesRenderer.java:334)
    at com.sun.prism.sw.SWGraphics.drawStringInternal(SWGraphics.java:776)
    at com.sun.prism.sw.SWGraphics.drawString(SWGraphics.java:732)
    at com.sun.javafx.sg.prism.NGText.renderText(NGText.java:319)
    at com.sun.javafx.sg.prism.NGText.renderContent(NGText.java:277)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
    at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1283)
    at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
    at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
    at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
    at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1283)
    at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
    at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
    at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
    at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1283)
    at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
    at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
    at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
    at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1283)
    at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
    at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
    at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:412)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
    at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1283)
    at com.sun.javafx.sg.prism.NGGroup.renderChildren(NGGroup.java:237)
    at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:203)
    at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:1254)
    at com.sun.javafx.sg.prism.NodeEffectInput.render(NodeEffectInput.java:154)
    at com.sun.javafx.sg.prism.NodeEffectInput.filter(NodeEffectInput.java:84)
    at com.sun.scenario.effect.Merge.filter(Merge.java:161)
    at com.sun.scenario.effect.DelegateEffect.filter(DelegateEffect.java:70)
    at com.sun.scenario.effect.impl.prism.PrEffectHelper.render(PrEffectHelper.java:164)
    at com.sun.javafx.sg.prism.NGNode$EffectFilter.render(NGNode.java:951)
    at com.sun.javafx.sg.prism.NGNode.renderEffect(NGNode.java:701)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:410)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:69)
    at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1283)
    at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:99)
    at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:202)
    at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:95)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
    at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:129)
    at java.lang.Thread.run(Thread.java:724)
4

1 に答える 1

6

以降のビルドで修正される既知の問題

PiscesRendere.java の 334 行目の NullPointerException は既知のバグであり、後のJavaFX 8 ビルドにアップグレードする場合は修正する必要があります。

RT-31384 fx8.0-b96: sw パイプラインの fillLCDAlphaMask での NullPointerException

将来的にそのような問題を自己トラブルシューティングするため

  1. 最新の Java 8 ディストリビューション (最新の JavaFX ディストリビューションを含む)を使用してコードをテストできます。

  2. バグ トラッカーを確認し、バグが存在しない場合はバグを報告できます。環境、再現手順、バグを再現する実行コード サンプルなど、詳細情報を提供する必要があります。

  3. JavaFX ソース コードに基づいて自分で問題をデバッグできます (たとえば、PiscesRenderer.java ソースはこちら)。ビルドに一致する正しいソース タグを選択する必要があることに注意してください。

  4. または、JavaFX を自分でビルドしてパッチを適用することもできます。

于 2013-09-13T10:18:36.487 に答える