Createing ContextMenu outside of FX thread
Kevin Rushforth
kevin.rushforth at oracle.com
Tue Apr 24 16:22:12 PDT 2012
This is a known bug in JavaFX: http://javafx-jira.kenai.com/browse/RT-17716
-- Kevin
Werner Lehmann wrote:
> Hi,
>
> I just noticed that I cannot create a ContextMenu in the Swing EDT.
> The following fails in the build method:
>
> ContextMenu cm = ContextMenuBuilder.create()
> .items(
> new MenuItem("item"))
> .build();
>
> I was under the impression that adding to a scene graph must be done
> in the FX thread but I am not doing that here. Although the trace says
> different:
>
>> Exception in thread "AWT-EventQueue-0"
>> java.lang.IllegalStateException: Not on FX application thread;
>> currentThread = AWT-EventQueue-0
>> at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:235)
>> at
>> com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:393)
>>
>> at javafx.scene.Scene.<init>(Scene.java:265)
>> at javafx.scene.Scene.<init>(Scene.java:177)
>> at javafx.stage.PopupWindow.<init>(PopupWindow.java:102)
>> at javafx.scene.control.PopupControl.<init>(PopupControl.java:101)
>> at javafx.scene.control.ContextMenu.<init>(ContextMenu.java:129)
>> at
>> javafx.scene.control.ContextMenuBuilder.build(ContextMenuBuilder.java:75)
>>
>
> So, I expected that setting the contextmenu on a button or something
> which was already part of a scene would require the FX thread context
> - but not building it. Is ContextMenu special because it is a
> PopupWindow and not a Node, or is this a misconception on my part?
>
> Werner
More information about the openjfx-dev
mailing list