javafx.embed.singleThread=true not working
Hi, I’m currently trying the experimental support of the javafx.embed.singleThread flag to mix the EDT and JFX Application Thread. Therefore I created a demo application. But when I start the app the following exception is thrown: Exception in thread AWT-EventQueue-0 java.lang.IllegalStateException: Not on FX application thread; currentThread = AWT-EventQueue-0 I think I’m doing something wrong but currently I have no idea why this is not working. Any ideas? I’m using the folioing JavaFX version: java version 1.8.0-ea Java(TM) SE Runtime Environment (build 1.8.0-ea-b123) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b65, mixed mode) Here is the code of the demo application: public class JFXPanelDemo1 { private static JButton swingButton; private static Button jfxButton; public static void main(String[] args) { SwingUtilities.invokeLater(() - { JFrame swingFrame = new JFrame(Integrate JavaFX in Swing); swingFrame.getContentPane().setLayout(new BorderLayout()); swingButton = new JButton(I'm a Swing button); swingFrame.getContentPane().add(BorderLayout.NORTH, swingButton); swingButton.addActionListener((e) - { jfxButton.setDisable(!jfxButton.isDisable()); }); JFXPanel jfxPanel = new JFXPanel(); swingFrame.getContentPane().add(BorderLayout.CENTER, jfxPanel); jfxButton = new Button(I'm a JavaFX button); StackPane jfxPane = new StackPane(jfxButton); Scene jfxScene = new Scene(jfxPane); jfxPanel.setScene(jfxScene); jfxButton.setOnAction((e) - { swingButton.setEnabled(!swingButton.isEnabled()); }); swingFrame.setVisible(true); } ); } }
Re: javafx.embed.singleThread=true not working
Hi, Hendrik, please, try adding the following line to the very beginning of the main() method: PlatformImpl.startup(() - {}); PlatformImpl is an internal class from com.sun.javafx.application, so it is not an official way to do the job, it's just a workaround. Another option is to wrap all the code after JFXPanel.init() into additional invokeLater(). By the time when JFXPanel constructor is finished, FX has already set up single threaded event dispatching mechanism, so all the subsequent Swing events (including invokeLater() calls) are executed on the right thread. Thanks, Artem On 2/3/2014 3:16 PM, Hendrik Ebbers wrote: Hi, I’m currently trying the experimental support of the javafx.embed.singleThread flag to mix the EDT and JFX Application Thread. Therefore I created a demo application. But when I start the app the following exception is thrown: Exception in thread AWT-EventQueue-0 java.lang.IllegalStateException: Not on FX application thread; currentThread = AWT-EventQueue-0 I think I’m doing something wrong but currently I have no idea why this is not working. Any ideas? I’m using the folioing JavaFX version: java version 1.8.0-ea Java(TM) SE Runtime Environment (build 1.8.0-ea-b123) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b65, mixed mode) Here is the code of the demo application: public class JFXPanelDemo1 { private static JButton swingButton; private static Button jfxButton; public static void main(String[] args) { SwingUtilities.invokeLater(() - { JFrame swingFrame = new JFrame(Integrate JavaFX in Swing); swingFrame.getContentPane().setLayout(new BorderLayout()); swingButton = new JButton(I'm a Swing button); swingFrame.getContentPane().add(BorderLayout.NORTH, swingButton); swingButton.addActionListener((e) - { jfxButton.setDisable(!jfxButton.isDisable()); }); JFXPanel jfxPanel = new JFXPanel(); swingFrame.getContentPane().add(BorderLayout.CENTER, jfxPanel); jfxButton = new Button(I'm a JavaFX button); StackPane jfxPane = new StackPane(jfxButton); Scene jfxScene = new Scene(jfxPane); jfxPanel.setScene(jfxScene); jfxButton.setOnAction((e) - { swingButton.setEnabled(!swingButton.isEnabled()); }); swingFrame.setVisible(true); } ); } }
[8u] Review request: RT-35570,[Touch] JVM irreversible state, Too many touchpoints
Anthony, please review: https://javafx-jira.kenai.com/browse/RT-35570 http://cr.openjdk.java.net/~msladecek/rt-35570/webrev.00/ Thanks, -Martin
hg: openjfx/8u-dev/rt: RT-35570 [Touch] JVM irreversible state, Too many touchpoints
Changeset: 0d152c5d27cb Author:Martin Sladecek martin.slade...@oracle.com Date: 2014-02-03 13:20 + URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/0d152c5d27cb RT-35570 [Touch] JVM irreversible state, Too many touchpoints Reviewed by: anthony ! modules/graphics/src/main/java/com/sun/glass/ui/TouchInputSupport.java
hg: openjfx/8u-dev/rt: NETBEANS ONLY: fix IDE files to see new java8 source folder, fix module references
Changeset: 9625e5b8f3b9 Author:snorthov Date: 2014-02-03 14:46 -0500 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/9625e5b8f3b9 NETBEANS ONLY: fix IDE files to see new java8 source folder, fix module references ! netbeans/base/nbproject/build-impl.xml ! netbeans/base/nbproject/genfiles.properties ! netbeans/base/nbproject/project.properties ! netbeans/base/nbproject/project.xml ! netbeans/buildSrc/nbproject/project.properties ! netbeans/builders/nbproject/build-impl.xml ! netbeans/builders/nbproject/genfiles.properties ! netbeans/builders/nbproject/project.properties ! netbeans/builders/nbproject/project.xml ! netbeans/controls/nbproject/project.properties ! netbeans/designTime/nbproject/project.properties ! netbeans/fxml/nbproject/project.properties ! netbeans/fxpackager/nbproject/project.properties ! netbeans/graphics/nbproject/build-impl.xml ! netbeans/graphics/nbproject/genfiles.properties ! netbeans/graphics/nbproject/project.properties ! netbeans/graphics/nbproject/project.xml ! netbeans/jmx/nbproject/project.properties ! netbeans/media/nbproject/project.properties ! netbeans/native-iio/nbproject/Makefile-Debug.mk ! netbeans/native-iio/nbproject/Makefile-Release.mk ! netbeans/native-iio/nbproject/Makefile-variables.mk ! netbeans/native-iio/nbproject/Package-Release.bash ! netbeans/native-prism/nbproject/Makefile-Debug.mk ! netbeans/native-prism/nbproject/Makefile-Release.mk ! netbeans/native-prism/nbproject/Makefile-variables.mk ! netbeans/native-prism/nbproject/Package-Release.bash ! netbeans/swing/nbproject/project.properties ! netbeans/swt/nbproject/project.properties ! netbeans/systemTests/nbproject/project.properties ! netbeans/web/build.xml ! netbeans/web/nbproject/build-impl.xml ! netbeans/web/nbproject/genfiles.properties ! netbeans/web/nbproject/project.properties ! netbeans/web/nbproject/project.xml
hg: openjfx/8u-dev/rt: 4 new changesets
Changeset: 0745342829aa Author:jgiles Date: 2014-02-03 14:24 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/0745342829aa RT-34407:[TableView, TreeView, TreeTableView] shift+PgUp/Down deselection is incorrect. ! modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/ListViewBehavior.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/TableViewBehaviorBase.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/TreeViewBehavior.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ListViewSkin.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TableViewSkinBase.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TreeViewSkin.java ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/VirtualFlow.java ! modules/controls/src/test/java/javafx/scene/control/ListViewKeyInputTest.java ! modules/controls/src/test/java/javafx/scene/control/TableViewKeyInputTest.java ! modules/controls/src/test/java/javafx/scene/control/TreeTableViewKeyInputTest.java ! modules/controls/src/test/java/javafx/scene/control/TreeViewKeyInputTest.java Changeset: a649f412d78b Author:jgiles Date: 2014-02-04 11:12 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/a649f412d78b RT-34446: TableView -fx-alignment: center-left in TableCell doesn't work Thanks to David for the StyleOrigin pointer! ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TableRowSkinBase.java Changeset: 9ee9a265338c Author:jgiles Date: 2014-02-04 11:41 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/9ee9a265338c RT-34920: [Ensemble] PillButton button can be deselected using the keyboard ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/button/pillbutton/PillButtonApp.java Changeset: fdc40e3e56d2 Author:jgiles Date: 2014-02-04 11:50 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/fdc40e3e56d2 Add cssref.html references to image-view and media-view style classes recently added as part of RT-35423 ! modules/graphics/src/main/docs/javafx/scene/doc-files/cssref.html
hg: openjfx/8/graphics/rt: 7 new changesets
Changeset: 3e1c456afa4c Author:hudson Date: 2014-01-17 21:38 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/3e1c456afa4c Added tag 8.0-b124 for changeset 8d28332831a4 ! .hgtags Changeset: a9a442d98304 Author:hudson Date: 2014-01-22 08:44 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/a9a442d98304 Added tag 8.0-b125 for changeset 3e1c456afa4c ! .hgtags Changeset: b26eb0be433e Author:mv157916 Date: 2014-01-23 15:51 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/b26eb0be433e RT-35511: Change the milestone of Java FX 8 Master to fcs from ea for b126. Reviewed Felipe Heidrich. ! build.properties Changeset: ab4da0281165 Author:hudson Date: 2014-01-24 17:15 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/ab4da0281165 Added tag 8.0-b126 for changeset b26eb0be433e ! .hgtags Changeset: 9eb5b65d3caa Author:hudson Date: 2014-01-30 08:29 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/9eb5b65d3caa Added tag 8.0-b127 for changeset ab4da0281165 ! .hgtags Changeset: 63bcbc815b29 Author:hudson Date: 2014-02-01 23:29 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/63bcbc815b29 Added tag 8.0-b128 for changeset 9eb5b65d3caa ! .hgtags Changeset: 968fc7f8426c Author:kcr Date: 2014-02-03 14:21 -0800 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/968fc7f8426c Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt - apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/DocumentWindow.css - apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/info/InfoPanel.css - apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/selectionbar/SelectionBar.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/InsertAsSubComponentAndRelocateJob.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanel.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssPanel.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/css/images/arrow-right.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableView.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeView.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/Inspector.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/images/ap-constraint-h-off.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/images/ap-constraint-h-on.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/images/ap-constraint-v-off.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/images/ap-constraint-v-on.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/images/button-minus.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/images/button-plus.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/images/button-pulldown.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/images/rotate-handle.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/images/values-link-hover.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/images/values-link.png - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanel.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/search/Search.css - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/ArrayPropertyMetadata.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/BorderPropertyMetadata.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/TransformPropertyMetadata.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/BackgroundFillPropertyMetadata.java - apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/metadata/property/value/background/BackgroundImagePropertyMetadata.java -
hg: openjfx/8u-dev/rt: Fixing build failure.
Changeset: 98eeb59705c5 Author:jgiles Date: 2014-02-04 12:35 +1300 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/98eeb59705c5 Fixing build failure. ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/controls/button/pillbutton/PillButtonApp.java