Shr*_*ave 5 nullpointerexception java-8 javafx-8
我在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)
Run Code Online (Sandbox Code Playgroud)
在以后的版本中修复的已知问题
PiscesRendere.java第334行的NullPointerException是一个已知的错误,如果升级到以后的JavaFX 8版本,应该修复它.
RT-31384 fx8.0-b96:sw管道中fillLCDAlphaMask中的NullPointerException
在将来自我解决此类问题
您可以使用最新的Java 8发行版(包括最新的JavaFX发行版)来测试您的代码.
如果错误不存在,您可以检查错误跟踪器并提交错误.您需要提供更多信息,例如您的环境,复制步骤和可重现错误的可执行代码示例.
您可以根据JavaFX源代码自行调试问题(例如PiscesRenderer.java源代码在这里).请注意,您需要选择正确的源标记以匹配您的构建.
或者您可以自己构建和修补JavaFX.