I'm using JDK 8 on Mac OS X Yosemite.
When I call new JFXPanel();
(to initialize JavaFX), app crashes with this stacktrace:
Prism pipeline init order: sw
Using native-based Pisces rasterizer
Using dirty region optimizations
Not using texture mask for primitives
Not forcing power of 2 sizes for textures
Using hardware CLAMP_TO_ZERO mode
Opting in for HiDPI pixel scaling
*** Fallback to Prism SW pipeline
Prism pipeline name = com.sun.prism.sw.SWPipeline
(X) Got class = class com.sun.prism.sw.SWPipeline
Initialized prism pipeline: com.sun.prism.sw.SWPipeline
Dec 1 09:27:04 Mac-mini.local java[824] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
Dec 1 09:27:04 Mac-mini.local java[824] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
Dec 1 09:27:04 Mac-mini.local java[824] <Warning>: CGSConnectionByID: 0 is not a valid connection ID.
Dec 1 09:27:04 Mac-mini.local java[824] <Warning>: Invalid Connection ID 0
RenderJob.run: internal exception
java.lang.ArrayIndexOutOfBoundsException: 0
at java.util.Arrays$ArrayList.get(Arrays.java:3841)
at java.util.Collections$UnmodifiableList.get(Collections.java:1309)
at com.sun.glass.ui.Screen.getMainScreen(Screen.java:61)
at com.sun.prism.sw.SWPipeline.getDefaultResourceFactory(SWPipeline.java:82)
at com.sun.prism.GraphicsPipeline.getDefaultResourceFactory(GraphicsPipeline.java:120)
at com.sun.javafx.tk.quantum.QuantumRenderer.lambda$createResourceFactory$414(QuantumRenderer.java:161)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
at java.lang.Thread.run(Thread.java:745)
I'm using -Dprism.order=sw
. What can I do now? Thank you.
In Windows, the same code works okay.
I'm using Spring, then initialize JavaFX with:
@PostConstruct
public void postConstruct() {
new JFXPanel();
}
There app crashes.