From ooo_saturn7 at mail.ru Mon May 4 13:56:42 2015 From: ooo_saturn7 at mail.ru (=?UTF-8?B?0JDQu9C10LrRgdCw0L3QtNGAINCh0LLQuNGA0LjQtNC+0LI=?=) Date: Mon, 04 May 2015 16:56:42 +0300 Subject: =?UTF-8?B?SmF2YUZYOiBXZWJWaWV3L1dlYkVuZ2luZSBkb2Vzbid0IHdvcmsgd2l0aCBP?= =?UTF-8?B?U0dJ?= Message-ID: <1430747802.184393166@f316.i.mail.ru> I have two boxes - Centos 7.1 64 and Windows 7 32. Both of them have jre 8.0.60. And I have two javafx projects - osgi and not osgi. Not OSGI: public class MainApp extends Application { ??? @Override ??? public void start(Stage stage) throws Exception { ??????? WebView browser = new WebView(); ??????? WebEngine webEngine = browser.getEngine(); ??????? webEngine.load("http://google.com"); ??????? Scene scene= new Scene(browser,700,500); ??????? stage.setTitle("JavaFX and Maven"); ??????? stage.setScene(scene); ??????? stage.show(); ??? } ??? public static void main(String[] args) { ??????? launch(args); ??? } } This project work at both boxes - one window is created and inside I see google site. Now, OSGI project: I have two classes - activator and program view: public class Activator implements BundleActivator { ??? public void start(BundleContext context) throws Exception { ???????? System.out.println("Hello I am Activator"); ??????? javafx.application.Application.launch(MyProgramView.class); ??? } ??? public void stop(BundleContext context) throws Exception { ??? } } public class MyProgramView extends Application { ??? @Override ??? public void start(Stage primaryStage) throws IOException { ??????? WebView browser = new WebView(); ??????? WebEngine webEngine = browser.getEngine(); ??????? webEngine.load("http://mail.ru"); ??????? Scene scene= new Scene(browser,700,500); ??????? primaryStage.setTitle("JavaFX and Maven"); ??????? primaryStage.setScene(scene); ??????? primaryStage.show(); ??? } } This is OUTPUT: Hello I am Activator Prism pipeline init order: es2 sw Using java-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 Prism pipeline name = com.sun.prism.es2.ES2Pipeline Loading ES2 native library ... prism_es2 ?? ?succeeded. GLFactory using com.sun.prism.es2.X11GLFactory (X) Got class = class com.sun.prism.es2.ES2Pipeline Initialized prism pipeline: com.sun.prism.es2.ES2Pipeline Maximum supported texture size: 8192 Maximum texture size clamped to 4096 Non power of two texture support = true Maximum number of vertex attributes = 16 Maximum number of uniform vertex components = 16384 Maximum number of uniform fragment components = 16384 Maximum number of varying components = 60 Maximum number of texture units usable in a vertex shader = 16 Maximum number of texture units usable in a fragment shader = 16 Graphics Vendor: nouveau ?????? Renderer: Gallium 0.4 on NVAA ??????? Version: 3.0 Mesa 10.2.7 ?vsync: true vpipe: true ES2ResourceFactory: Prism - createStockShader: Solid_TextureRGB.frag ES2ResourceFactory: Prism - createStockShader: FillPgram_Color.frag A window is created, its title = "JavaFX and Maven" but inside nothing - I mean a empty white area. I checked at both boxes. What's wrong and how to solve it? From tom.schindl at bestsolution.at Mon May 4 14:13:00 2015 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Mon, 04 May 2015 16:13:00 +0200 Subject: JavaFX: WebView/WebEngine doesn't work with OSGI In-Reply-To: <1430747802.184393166@f316.i.mail.ru> References: <1430747802.184393166@f316.i.mail.ru> Message-ID: <55477E6C.2000105@bestsolution.at> This most likely is not the problem but I wanted to point out that launching a JavaFX application this way in the Activator is a bad idea because you activator#start does not finish and so the bundle will never get into the active state! I've not yet run e(fx)clipse on u60 builds (so maybe the webkit changes broke it) but only on u40 where webview works ok in (Equinox) OSGi and the way e(fx)clipse integrates JavaFX into OSGi. Does it work on u40 for you? Tom On 04.05.15 15:56, ????????? ???????? wrote: > I have two boxes - Centos 7.1 64 and Windows 7 32. Both of them have jre 8.0.60. > > And I have two javafx projects - osgi and not osgi. > > Not OSGI: > public class MainApp extends Application { > @Override > public void start(Stage stage) throws Exception { > WebView browser = new WebView(); > WebEngine webEngine = browser.getEngine(); > webEngine.load("http://google.com"); > Scene scene= new Scene(browser,700,500); > stage.setTitle("JavaFX and Maven"); > stage.setScene(scene); > stage.show(); > } > > public static void main(String[] args) { > launch(args); > } > } > This project work at both boxes - one window is created and inside I see google site. Now, OSGI project: I have two classes - activator and program view: > > public class Activator implements BundleActivator { > public void start(BundleContext context) throws Exception { > System.out.println("Hello I am Activator"); > javafx.application.Application.launch(MyProgramView.class); > } > > public void stop(BundleContext context) throws Exception { > } > } > > public class MyProgramView extends Application { > @Override > public void start(Stage primaryStage) throws IOException { > WebView browser = new WebView(); > WebEngine webEngine = browser.getEngine(); > webEngine.load("http://mail.ru"); > Scene scene= new Scene(browser,700,500); > primaryStage.setTitle("JavaFX and Maven"); > primaryStage.setScene(scene); > primaryStage.show(); > } > } > > This is OUTPUT: > Hello I am Activator > Prism pipeline init order: es2 sw > Using java-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 > Prism pipeline name = com.sun.prism.es2.ES2Pipeline > Loading ES2 native library ... prism_es2 > succeeded. > GLFactory using com.sun.prism.es2.X11GLFactory > (X) Got class = class com.sun.prism.es2.ES2Pipeline > Initialized prism pipeline: com.sun.prism.es2.ES2Pipeline > Maximum supported texture size: 8192 > Maximum texture size clamped to 4096 > Non power of two texture support = true > Maximum number of vertex attributes = 16 > Maximum number of uniform vertex components = 16384 > Maximum number of uniform fragment components = 16384 > Maximum number of varying components = 60 > Maximum number of texture units usable in a vertex shader = 16 > Maximum number of texture units usable in a fragment shader = 16 > Graphics Vendor: nouveau > Renderer: Gallium 0.4 on NVAA > Version: 3.0 Mesa 10.2.7 > vsync: true vpipe: true > ES2ResourceFactory: Prism - createStockShader: Solid_TextureRGB.frag > ES2ResourceFactory: Prism - createStockShader: FillPgram_Color.frag > > A window is created, its title = "JavaFX and Maven" but inside nothing - I mean a empty white area. I checked at both boxes. What's wrong and how to solve it? > -- Thomas Schindl, CTO BestSolution.at EDV Systemhaus GmbH Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck http://www.bestsolution.at/ Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck From kevin.rushforth at oracle.com Mon May 4 20:04:39 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 04 May 2015 13:04:39 -0700 Subject: 8u-dev and 9-dev unlocked following sanity testing Message-ID: <5547D0D7.4040801@oracle.com> From chien.yang at oracle.com Mon May 4 23:05:12 2015 From: chien.yang at oracle.com (Chien Yang) Date: Mon, 04 May 2015 16:05:12 -0700 Subject: Code Review For RT-39755: ScrollPane introduces distortions when scrolling up & down Message-ID: <5547FB28.7080504@oracle.com> Hi Kevin, Please review the proposed fix: JIRA: https://javafx-jira.kenai.com/browse/RT-39755 Webrev: http://cr.openjdk.java.net/~ckyang/RT-39755/webrev.00/ - Chien From vadim.pakhnushev at oracle.com Wed May 6 10:42:28 2015 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Wed, 06 May 2015 13:42:28 +0300 Subject: [8u60, 9] Review request for RT-28705: JNI warnings in javafx-iio Message-ID: <5549F014.8080309@oracle.com> Kevin, Could you please review the fix: https://javafx-jira.kenai.com/browse/RT-28705 http://cr.openjdk.java.net/~vadim/RT-28705/webrev.00/ Thanks, Vadim From webczat_200 at poczta.onet.pl Wed May 6 23:39:18 2015 From: webczat_200 at poczta.onet.pl (=?UTF-8?B?TWljaGHFgiBaZWdhbg==?=) Date: Thu, 07 May 2015 01:39:18 +0200 Subject: slightly ot: java9 runtime images Message-ID: <554AA626.3060307@poczta.onet.pl> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello. Sorry for asking it here, but I have too many lists I subscribed to and I don't want to join a new one just to ask this one question: I heard that java9 will (or might) make it possible to create a runtime image of an application consisting of all modules that it needs including parts of the standard library, and also the virtual machine. If what I've heard is right, what form will those images have? executable programs, or zip/tar/whatever archives containing all components, or native installers? -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBAgAGBQJVSqYkAAoJEHb1CzgxXKwYEHIP/jLUVuLDZ7v73lupaTb8/eV3 m4/PhJYpTLS5pH1sa3tmIfrt45d8kEsFCEW9GNphu0U7NYVHRySO65i1Fr1T6DjK nzW3yJBIaJsC2RH0wsJuA8KIyvxbVwkQCtLS2p4Qqn0JI4FJuybz9ruSeWxbqpUh F99RFTCczHOlMfETOLq385ySCdZhFjLjcRCOeNCztHHr2UD6HEqDNxjMf3R4i37J lL1NZzN5CCNcbtOnxok9LqLNPHKhbVJQi46kQCBZCz14l9rioB5VTLJ+2XQF9iXr OYLvrI/5MqppzqSMFm2c2hBKF27QqiFKSOhR9cHoRlppCbr+aFccjvDPYqQ1GOom 07fx84hDo8EsyzgxVL/QdVHWdurxo6AoKTkVuYYAaXpkmvSQMqaHmkEt5yTnf+FU 4rH66DAx2sOkhYTOQmCYaV3ooX4gyO40CkEz23MjtaBTGm0GTZlObAAsIIihMVL6 VdWv9m29bxYLbVwuOlnI8FFMZg5kKK8ww5hrr8MrBCCohQ3xbdf8nD+KYq6Tb/CD E5ppAIblbiUPqxfCldeUXq79Gua4sKsuHIbhLYKXwY+NJ9HiZmGYHsigeNIUJg/H octepDQ9QNPELg74VbPqU5kNrzf8KKN76nhDB9O8AIRqz6XHMTmjV4i/7uAk6nyD BTNqknDDIrI0QbQJRaUx =x1GO -----END PGP SIGNATURE----- From chien.yang at oracle.com Wed May 6 23:57:49 2015 From: chien.yang at oracle.com (Chien Yang) Date: Wed, 06 May 2015 16:57:49 -0700 Subject: Code Review Request For RT-39418: [Mac,Retina,3D] Lighting is wrong (too dark, incorrect highlight) with pixel scaling Message-ID: <554AAA7D.4030208@oracle.com> Hi Kevin and Jim, Please review the proposed fix, and detail information is in the JIRA: JIRA: https://javafx-jira.kenai.com/browse/RT-39418 Webrev: http://cr.openjdk.java.net/~ckyang/RT-39418/webrev.00/ - Chien From danno.ferrin at oracle.com Thu May 7 00:15:19 2015 From: danno.ferrin at oracle.com (Danno Ferrin) Date: Wed, 6 May 2015 18:15:19 -0600 Subject: slightly ot: java9 runtime images In-Reply-To: <554AA626.3060307@poczta.onet.pl> References: <554AA626.3060307@poczta.onet.pl> Message-ID: <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> > On May 6, 2015, at 5:39 PM, Micha? Zegan wrote: > > Hello. > > Sorry for asking it here, but I have too many lists I subscribed to > and I don't want to join a new one just to ask this one question: > I heard that java9 will (or might) make it possible to create a > runtime image of an application consisting of all modules that it > needs including parts of the standard library, and also the virtual > machine. What you are describing is the Jigsaw project, which has been demoed at several JavaOnes. Some of the process bits can be found on this website: http://openjdk.java.net/projects/jigsaw/ > If what I've heard is right, what form will those images have? Right now it looks suspiciously similar to what a Java 8 runtime image looks like. But there are already some major differences. JEP 201 and JEP 220 cover most of those changes at the moment. > executable programs, or zip/tar/whatever archives containing all > components, or native installers? You can already do some of that today with Java 8 and the Java Packager. You can create a file tree that can be zipped up that includes the runtime and all of the application files, as well as native installers for windows, linux, and mac that will install this file tree (or ?image?). We haven?t announced many public plans for Java 9 yet (since many parts are still TBD) so I cannot comment on how jigsaw and java packager will integrate, but I would expect that they will work together in some fashion. From vadim.pakhnushev at oracle.com Thu May 7 11:37:01 2015 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Thu, 07 May 2015 14:37:01 +0300 Subject: [8u60, 9] Review request for RT-40482: The image in application rotates only 1 time, but the image in browser rotates all the time. Message-ID: <554B4E5D.5090806@oracle.com> Jim, Could you please review the fix: https://javafx-jira.kenai.com/browse/RT-40482 The patch is inline in JIRA. Thanks, Vadim From tbee at tbee.org Thu May 7 12:27:03 2015 From: tbee at tbee.org (Tom Eugelink) Date: Thu, 07 May 2015 14:27:03 +0200 Subject: slightly ot: java9 runtime images In-Reply-To: <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> Message-ID: <554B5A17.20305@tbee.org> On 7-5-2015 02:15, Danno Ferrin wrote: > You can already do some of that today with Java 8 and the Java Packager. You can create a file tree that can be zipped up that includes the runtime and all of the application files, as well as native installers for windows, linux, and mac that will install this file tree (or ?image?). > > We haven?t announced many public plans for Java 9 yet (since many parts are still TBD) so I cannot comment on how jigsaw and java packager will integrate, but I would expect that they will work together in some fashion. > From all the documentation I find, I understand that even though with Java packager you can create an executable including the (required parts of the) JVM, you still need to unpack and repack all the jars into a single jar. This has the problem of breaking signed jars. Classloader based solutions like onejar get into all kind of conflicts with possible other classloaders in the application. It would be a major improvement (not only for JavaFX applications, but also standalone servers) if it would become possible to create a truly single distributable, without having to repack the jars. So either by automatic unpacking to a tmp and setting the classpath prior to stating java (cleaning up afterwards), or allowing jars-in-jars or jars-in-distributable. Just my 2 cents, Tom From danno.ferrin at oracle.com Thu May 7 13:52:12 2015 From: danno.ferrin at oracle.com (Danno Ferrin) Date: Thu, 7 May 2015 07:52:12 -0600 Subject: slightly ot: java9 runtime images In-Reply-To: <554B5A17.20305@tbee.org> References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> <554B5A17.20305@tbee.org> Message-ID: <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> > On May 7, 2015, at 6:27 AM, Tom Eugelink wrote: > > On 7-5-2015 02:15, Danno Ferrin wrote: >> You can already do some of that today with Java 8 and the Java Packager. You can create a file tree that can be zipped up that includes the runtime and all of the application files, as well as native installers for windows, linux, and mac that will install this file tree (or ?image?). >> >> We haven?t announced many public plans for Java 9 yet (since many parts are still TBD) so I cannot comment on how jigsaw and java packager will integrate, but I would expect that they will work together in some fashion. >> > > From all the documentation I find, I understand that even though with Java packager you can create an executable including the (required parts of the) JVM, you still need to unpack and repack all the jars into a single jar. This has the problem of breaking signed jars. Classloader based solutions like onejar get into all kind of conflicts with possible other classloaders in the application. > I don?t know where you got your information, it has never been the case for as long as i?ve used it and worked on it before my employ at Oracle that you have to rely on a single jar for Java Packager. Repacking jars is completely unneeded and the Java Packager takes the library jars you provide without alteration, preserving external signatures and structure essential to stuff like OSGi. In fact, you can provide assets that are not jars and you can set the class path to only include certain jars, no need to unpack jars at runtime. > It would be a major improvement (not only for JavaFX applications, but also standalone servers) if it would become possible to create a truly single distributable, without having to repack the jars. So either by automatic unpacking to a tmp and setting the classpath prior to stating java (cleaning up afterwards), or allowing jars-in-jars or jars-in-distributable. > In 8u40 we added an option to install your application as service or daemon, so you can use the java packager to install your microsoervices. From tom.schindl at bestsolution.at Thu May 7 14:00:05 2015 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Thu, 07 May 2015 16:00:05 +0200 Subject: slightly ot: java9 runtime images In-Reply-To: <554B5A17.20305@tbee.org> References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> <554B5A17.20305@tbee.org> Message-ID: <554B6FE5.7080002@bestsolution.at> On 07.05.15 14:27, Tom Eugelink wrote: > On 7-5-2015 02:15, Danno Ferrin wrote: >> You can already do some of that today with Java 8 and the Java >> Packager. You can create a file tree that can be zipped up that >> includes the runtime and all of the application files, as well as >> native installers for windows, linux, and mac that will install this >> file tree (or ?image?). >> >> We haven?t announced many public plans for Java 9 yet (since many >> parts are still TBD) so I cannot comment on how jigsaw and java >> packager will integrate, but I would expect that they will work >> together in some fashion. >> > > From all the documentation I find, I understand that even though with > Java packager you can create an executable including the (required parts > of the) JVM, you still need to unpack and repack all the jars into a > single jar. This has the problem of breaking signed jars. Classloader > based solutions like onejar get into all kind of conflicts with possible > other classloaders in the application. > No this is not required - we are even packaging Equinox-OSGi-Applications who consist of > 30 different jars. Tom -- Thomas Schindl, CTO BestSolution.at EDV Systemhaus GmbH Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck http://www.bestsolution.at/ Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck From tom.schindl at bestsolution.at Thu May 7 14:04:30 2015 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Thu, 07 May 2015 16:04:30 +0200 Subject: slightly ot: java9 runtime images In-Reply-To: <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> <554B5A17.20305@tbee.org> <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> Message-ID: <554B70EE.70404@bestsolution.at> [...] > In 8u40 we added an option to install your application as service or daemon, so you can use the java packager to install your microsoervices. > [offtopic] Interesting where is this documented - google did not show up any results? Do I get callbacks in my Java code to react on a shutdown request? Tom -- Thomas Schindl, CTO BestSolution.at EDV Systemhaus GmbH Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck http://www.bestsolution.at/ Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck From tbee at tbee.org Thu May 7 14:07:29 2015 From: tbee at tbee.org (Tom Eugelink) Date: Thu, 07 May 2015 16:07:29 +0200 Subject: slightly ot: java9 runtime images In-Reply-To: <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> <554B5A17.20305@tbee.org> <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> Message-ID: <554B71A1.9040302@tbee.org> On 7-5-2015 15:52, Danno Ferrin wrote: > > I don?t know where you got your information, it has never been the case for as long as i?ve used it and worked on it before my employ at Oracle that you have to rely on a single jar for Java Packager. Repacking jars is completely unneeded and the Java Packager takes the library jars you provide without alteration, preserving external signatures and structure essential to stuff like OSGi. > > In fact, you can provide assets that are not jars and you can set the class path to only include certain jars, no need to unpack jars at runtime. > That is good to hear. It is hard to retrace all the sites I visited this morning, but this was one of them. http://java.dzone.com/articles/creating-executable-uber-jar%E2%80%99s Tom From mike at plan99.net Thu May 7 14:44:52 2015 From: mike at plan99.net (Mike Hearn) Date: Thu, 7 May 2015 16:44:52 +0200 Subject: slightly ot: java9 runtime images In-Reply-To: <554B71A1.9040302@tbee.org> References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> <554B5A17.20305@tbee.org> <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> <554B71A1.9040302@tbee.org> Message-ID: Do you actually need JAR signatures anyway? The JVM is bundled, it's not like you have to pass some system security policy beyond Gatekeeper/Windows code signing. From tbee at tbee.org Thu May 7 15:00:28 2015 From: tbee at tbee.org (Tom Eugelink) Date: Thu, 07 May 2015 17:00:28 +0200 Subject: slightly ot: java9 runtime images In-Reply-To: References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> <554B5A17.20305@tbee.org> <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> <554B71A1.9040302@tbee.org> Message-ID: <554B7E0C.4090603@tbee.org> On 7-5-2015 16:44, Mike Hearn wrote: > Do you actually need JAR signatures anyway? The JVM is bundled, it's not like you have to pass some system security policy beyond Gatekeeper/Windows code signing. Well, I remember the official Sun mail.jar being signed and causing headaches if it was repacked. But the newer mail.jar is no longer signed, so maybe it is less of an issue now than back when I wrote the appjar tool (unpack a jar-of-jar to a tmp folder). Time to update my knowledge then. Tom From danno.ferrin at oracle.com Thu May 7 16:26:37 2015 From: danno.ferrin at oracle.com (Danno Ferrin) Date: Thu, 7 May 2015 10:26:37 -0600 Subject: slightly ot: java9 runtime images In-Reply-To: <554B70EE.70404@bestsolution.at> References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> <554B5A17.20305@tbee.org> <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> <554B70EE.70404@bestsolution.at> Message-ID: <67AAEDDA-8E8A-448B-A422-93550EA34D0D@oracle.com> I looked at the man pages, and it?s not there. That is strange because I remember working with the docs people to get them the info they needed. The best docs are from my JavaOne presentation: https://oracleus.activeevents.com/2014/connect/fileDownload/session/3B139AAF656DC1741328669FE873981E/CON2247_Ferrin-8u20%20packager.pdf As far as java callbacks? the support is fairly basic at the moment. You own the JVM w/o a security sandbox so you can add standard shutdown hooks as well as other libraries that react to unix signals. Signals are non-standard as the current Java signal classes exist in sun.misc.*, hence they an internal API and will not be accessible in JDK 9 (without contortions). For windows a custom service executable is created. For Linux init.d scripts are added. For Mac launchd is used. > On May 7, 2015, at 8:04 AM, Tom Schindl wrote: > > [...] > >> In 8u40 we added an option to install your application as service or daemon, so you can use the java packager to install your microsoervices. >> > > [offtopic] > > Interesting where is this documented - google did not show up any > results? Do I get callbacks in my Java code to react on a shutdown request? > > Tom > > -- > Thomas Schindl, CTO > BestSolution.at EDV Systemhaus GmbH > Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck > http://www.bestsolution.at/ > Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck From vadim.pakhnushev at oracle.com Fri May 8 15:24:56 2015 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Fri, 08 May 2015 18:24:56 +0300 Subject: In(Sanity) Testing Mondays Message-ID: <554CD548.3000002@oracle.com> Reminder, Monday is our weekly sanity testing. You can find your testing assignment at: https://wiki.openjdk.java.net/display/OpenJFX/Sanity+Testing Also please remember that the repo will be locked from 1am PDT until 1pm PDT. Happy testing! Thanks, Vadim From Fabrizio.Giudici at tidalwave.it Sun May 10 11:08:43 2015 From: Fabrizio.Giudici at tidalwave.it (Fabrizio Giudici) Date: Sun, 10 May 2015 13:08:43 +0200 Subject: JDK 1.8.0 33/40, diacritics and file problems In-Reply-To: References: Message-ID: Ok, I thought it was over, but it is not over yet. Many problematic file names are now correctly handled with explicit normalisation, but I just got: Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: M?sica Antigua & Eduardo Paniagua/La Vida de Mar?a - Cantigas de las Fiestas de Santa Mar?a/1-01 Estrella Del Dia.m4a at sun.nio.fs.UnixPath.encode(UnixPath.java:147) ~[na:1.8.0_33] at sun.nio.fs.UnixPath.(UnixPath.java:71) ~[na:1.8.0_33] at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281) ~[na:1.8.0_33] at java.nio.file.Paths.get(Paths.java:84) ~[na:1.8.0_33] It seems that there's nothing new with the previous case: [localhost:~/Library/Application Support/blueMarine2] fritz% grep Paniagua repository.n3 | grep Estrella | od -c -t x1 0000000 \t b m m o : p a t h " M ? ** s 09 62 6d 6d 6f 3a 70 61 74 68 20 22 4d c3 ba 73 [localhost:~/Library/Application Support/blueMarine2] fritz% grep Englou repository.n3 | od -c -t x1 0000140 a C a t h ? ** d r a l e E n 61 20 43 61 74 68 c3 a9 64 72 61 6c 65 20 45 6e I had c3a9 for ?, now I have c3ba for ?. Why do I now get this InvalidPathException? Thanks. http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/sun/nio/fs/UnixPath.java/ 118 // encodes the given path-string into a sequence of bytes 119 private static byte[] encode(UnixFileSystem fs, String input) { 120 SoftReference ref = encoder.get(); 121 CharsetEncoder ce = (ref != null) ? ref.get() : null; 122 if (ce == null) { 123 ce = Util.jnuEncoding().newEncoder() 124 .onMalformedInput(CodingErrorAction.REPORT) 125 .onUnmappableCharacter(CodingErrorAction.REPORT); 126 encoder.set(new SoftReference(ce)); 127 } 128 129 char[] ca = fs.normalizeNativePath(input.toCharArray()); 130 131 // size output buffer for worse-case size 132 byte[] ba = new byte[(int)(ca.length * (double)ce.maxBytesPerChar())]; 133 134 // encode 135 ByteBuffer bb = ByteBuffer.wrap(ba); 136 CharBuffer cb = CharBuffer.wrap(ca); 137 ce.reset(); 138 CoderResult cr = ce.encode(cb, bb, true); 139 boolean error; 140 if (!cr.isUnderflow()) { 141 error = true; 142 } else { 143 cr = ce.flush(bb); 144 error = !cr.isUnderflow(); 145 } 146 if (error) { 147 throw new InvalidPathException(input, 148 "Malformed input or input contains unmappable characters"); 149 } 150 151 // trim result to actual length if required 152 int len = bb.position(); 153 if (len != ba.length) 154 ba = Arrays.copyOf(ba, len); 155 156 return ba; 157 } -- Fabrizio Giudici - Java Architect @ Tidalwave s.a.s. "We make Java work. Everywhere." http://tidalwave.it/fabrizio/blog - fabrizio.giudici at tidalwave.it From info at michaelhoffer.de Mon May 11 16:12:31 2015 From: info at michaelhoffer.de (Michael Hoffer) Date: Mon, 11 May 2015 18:12:31 +0200 Subject: Compiling OpenJFX + WebKit Message-ID: Hi, I just tried to compile OpenJFX from the 8u-dev branch on OS X and Ubuntu. Unfortunately, I'm experiencing several problems. Without WebKit everything works fine. But with WebKit there are several problems: 1. the build script has a webview-deps:1.3 dependency which has not been published on maven central. If I revert the version number of the dependency to the 1.2 version (newest version that is available) I run into the next problem: 2. WebKit does not compile on Ubuntu because of missing libraries (can be fixed via sudo apt-get install libqt4-dev) If I add the missing dependencies I can compile WebKit, but 3. the generated Java code contains errors (also happens on OS X), starting with openjfx/rt-8u-dev/modules/web/build/linux/Release/WebCore/generated/java/com/sun/webkit/dom/CounterImpl.java:5: error: cannot find symbol import com.sun.webkit.Disposer; ^ symbol: class Disposer location: package com.sun.webkit Are these known problems? I'd really love to compile my own OpenJFX version as I did with the first Java 8 preview version where the compilation was relatively easy to accomplish. 4. In my opinion the wiki should be updated with more recent information on which os/library/compiler version is needed. On OS X for example, I needed to use qtmake from qt5 since the qt4 version was missing the correct spec file for clang. And it was generally unclear whether building on OS X 10.9 or 10.10 is supported. Any help is appreciated! And I'm also willing to contribute documentation/ fixes if necessary. Regards, Michael Hoffer -- Dipl.-Math. Michael Hoffer Twitter: @mihosoft Webpage: www.mihosoft.eu Goethe-Zentrum f?r Wissenschaftliches Rechnen (G-CSC) Goethe-Universit?t Kettenhofweg 139 60325 Frankfurt am Main phone: +49 69 798 25254 info at michaelhoffer.de From kevin.rushforth at oracle.com Mon May 11 17:06:08 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 11 May 2015 10:06:08 -0700 Subject: Compiling OpenJFX + WebKit In-Reply-To: References: Message-ID: <5550E180.4070904@oracle.com> Hi Michael, Thanks for pointing this out. I'm not sure what we did last time to get the webview-deps into maven, but Anton can probably check into it. It will not build successfully with the older version of webview-deps so I don't recommend wasting any time trying. In addition, we now rely on upgraded compilers with C++11 support, and also Qt 5.2, to build WebView. We can update the Wiki. If you can help (or at least point out all the places that you found that are now out of date), that would be great. Our supported build platforms, which also need to be specified on the Wiki are: Windows: Windows 7 or later, VS 2013 Mac: OS X 10.9.5 or later, Xcode 5.1.1 Linux: Ubuntu 14.04 or later (we use Oracle Linux 6.4 with devtoolset-3 gcc 4.9 compilers) -- Kevin Michael Hoffer wrote: > Hi, > > I just tried to compile OpenJFX from the 8u-dev branch on OS X and Ubuntu. > Unfortunately, I'm experiencing several problems. Without WebKit everything > works fine. But with WebKit there are several problems: > > 1. the build script has a webview-deps:1.3 dependency which has not been > published on maven central. > > If I revert the version number of the dependency to the 1.2 version (newest > version that is available) I run into the next problem: > > 2. WebKit does not compile on Ubuntu because of missing libraries (can be > fixed via sudo apt-get install libqt4-dev) > > If I add the missing dependencies I can compile WebKit, but > > 3. the generated Java code contains errors (also happens on OS X), starting > with > > openjfx/rt-8u-dev/modules/web/build/linux/Release/WebCore/generated/java/com/sun/webkit/dom/CounterImpl.java:5: > error: cannot find symbol > import com.sun.webkit.Disposer; > ^ > symbol: class Disposer > location: package com.sun.webkit > > Are these known problems? I'd really love to compile my own OpenJFX version > as I did with the first Java 8 preview version where the compilation was > relatively easy to accomplish. > > 4. In my opinion the wiki should be updated with more recent information on > which os/library/compiler version is needed. On OS X for example, I needed > to use qtmake from qt5 since the qt4 version was missing the correct spec > file for clang. And it was generally unclear whether building on OS X 10.9 > or 10.10 is supported. > > Any help is appreciated! And I'm also willing to contribute documentation/ > fixes if necessary. > > Regards, > Michael Hoffer > > From info at michaelhoffer.de Mon May 11 18:24:40 2015 From: info at michaelhoffer.de (Michael Hoffer) Date: Mon, 11 May 2015 20:24:40 +0200 Subject: Fwd: Compiling OpenJFX + WebKit In-Reply-To: References: <5550E180.4070904@oracle.com> Message-ID: Hi Kevin, thanks for your quick reply. > ... I don't recommend wasting any time trying. Too late. Already wastet many hours ;-) > I'm not sure what we did last time to get the webview-deps into maven, but Anton can probably check into it. Could you send me the file directly if the maven upload takes more time? > If you can help (or at least point out all the places that you found that are now out of date), that would be great. Sure. I can contribute/update the documentation if necessary. I suggest that you use the gradle wrapper task to ensure that the correct gradle version is used. Users can call gradle via ./gradlew or .\gradlew.bat without installing the correct gradle version. Michael 2015-05-11 19:06 GMT+02:00 Kevin Rushforth : > Hi Michael, > > Thanks for pointing this out. I'm not sure what we did last time to get > the webview-deps into maven, but Anton can probably check into it. It will > not build successfully with the older version of webview-deps so I don't > recommend wasting any time trying. > > In addition, we now rely on upgraded compilers with C++11 support, and > also Qt 5.2, to build WebView. We can update the Wiki. If you can help (or > at least point out all the places that you found that are now out of date), > that would be great. > > Our supported build platforms, which also need to be specified on the Wiki > are: > > Windows: Windows 7 or later, VS 2013 > Mac: OS X 10.9.5 or later, Xcode 5.1.1 > Linux: Ubuntu 14.04 or later (we use Oracle Linux 6.4 with devtoolset-3 > gcc 4.9 compilers) > > -- Kevin > > > > Michael Hoffer wrote: > >> Hi, >> >> I just tried to compile OpenJFX from the 8u-dev branch on OS X and Ubuntu. >> Unfortunately, I'm experiencing several problems. Without WebKit >> everything >> works fine. But with WebKit there are several problems: >> >> 1. the build script has a webview-deps:1.3 dependency which has not been >> published on maven central. >> >> If I revert the version number of the dependency to the 1.2 version >> (newest >> version that is available) I run into the next problem: >> >> 2. WebKit does not compile on Ubuntu because of missing libraries (can be >> fixed via sudo apt-get install libqt4-dev) >> >> If I add the missing dependencies I can compile WebKit, but >> >> 3. the generated Java code contains errors (also happens on OS X), >> starting >> with >> >> >> openjfx/rt-8u-dev/modules/web/build/linux/Release/WebCore/generated/java/com/sun/webkit/dom/CounterImpl.java:5: >> error: cannot find symbol >> import com.sun.webkit.Disposer; >> ^ >> symbol: class Disposer >> location: package com.sun.webkit >> >> Are these known problems? I'd really love to compile my own OpenJFX >> version >> as I did with the first Java 8 preview version where the compilation was >> relatively easy to accomplish. >> >> 4. In my opinion the wiki should be updated with more recent information >> on >> which os/library/compiler version is needed. On OS X for example, I needed >> to use qtmake from qt5 since the qt4 version was missing the correct spec >> file for clang. And it was generally unclear whether building on OS X 10.9 >> or 10.10 is supported. >> >> Any help is appreciated! And I'm also willing to contribute documentation/ >> fixes if necessary. >> >> Regards, >> Michael Hoffer >> >> >> > -- Dipl.-Math. Michael Hoffer Twitter: @mihosoft Webpage: www.mihosoft.eu Goethe-Zentrum f?r Wissenschaftliches Rechnen (G-CSC) Goethe-Universit?t Kettenhofweg 139 60325 Frankfurt am Main phone: +49 69 798 25254 info at michaelhoffer.de -- Dipl.-Math. Michael Hoffer Twitter: @mihosoft Webpage: www.mihosoft.eu Goethe-Zentrum f?r Wissenschaftliches Rechnen (G-CSC) Goethe-Universit?t Kettenhofweg 139 60325 Frankfurt am Main phone: +49 69 798 25254 info at michaelhoffer.de From pedro.duquevieira at gmail.com Mon May 11 19:03:24 2015 From: pedro.duquevieira at gmail.com (Pedro Duque Vieira) Date: Mon, 11 May 2015 20:03:24 +0100 Subject: App hang and pulse logger stops Message-ID: Hi, Already posted this on the OTN forum but got no response. I have a swing/javafx app that is hanging randomly without any error information (exceptions thrown, etc). I run the app with the pulse logger flag active and when it hangs the pulse logger stops. How can I debug this? What can cause the pulse logger to stop? Is this my fault or some javafx bug? Thanks, best regards, -- Pedro Duque Vieira From morris.meyer at oracle.com Mon May 11 19:28:36 2015 From: morris.meyer at oracle.com (Morris Meyer) Date: Mon, 11 May 2015 15:28:36 -0400 Subject: App hang and pulse logger stops In-Reply-To: References: Message-ID: <555102E4.5070505@oracle.com> Hi Pedro, You might want to try setting the flags "quantum.debug", "quantum.pulse" and "quantum.verbose" when launching your application. Prior to that you might want to try to get a stack trace of the hung application using jstack, Visual VM or doing a Ctrl-Break on Windows or Control-\ on Mac. --mm On 5/11/15 3:03 PM, Pedro Duque Vieira wrote: > Hi, > > > > Already posted this on the OTN forum but got no response. > > > I have a swing/javafx app that is hanging randomly without any error > information (exceptions thrown, etc). I run the app with the pulse logger > flag active and when it hangs the pulse logger stops. > > > > How can I debug this? What can cause the pulse logger to stop? Is this my > fault or some javafx bug? > > > Thanks, best regards, From kevin.rushforth at oracle.com Mon May 11 20:03:54 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 11 May 2015 13:03:54 -0700 Subject: 8u-dev and 9-dev unlocked following sanity testing Message-ID: <55510B2A.8080704@oracle.com> From leif.samuelsson at oracle.com Mon May 11 23:02:22 2015 From: leif.samuelsson at oracle.com (Leif Samuelsson) Date: Mon, 11 May 2015 16:02:22 -0700 Subject: [8u60,9] Review request: RT-34620: [ComboBox, DatePicker] Buttons set to default/cancel are not reacting to ComboBox enter/esc keys Message-ID: <555134FE.3070803@oracle.com> Hi Jonathan, Please review this fix. https://javafx-jira.kenai.com/browse/RT-34620 http://cr.openjdk.java.net/~leifs/rt34620/webrev.01/ Thanks, Leif From chien.yang at oracle.com Tue May 12 23:02:31 2015 From: chien.yang at oracle.com (Chien Yang) Date: Tue, 12 May 2015 16:02:31 -0700 Subject: Code Review Request For RT-38370: [3D] PNT mesh only: Internally computed tangent vectors need to recomputed if its assocated texCoords or points have changed Message-ID: <55528687.6020301@oracle.com> Hi Kevin, Please review the proposed fix: JIRA: https://javafx-jira.kenai.com/browse/RT-38370 Webrev: http://cr.openjdk.java.net/~ckyang/RT-38370/webrev.00/ Thanks, - Chien From tbee at tbee.org Wed May 13 09:43:19 2015 From: tbee at tbee.org (Tom Eugelink) Date: Wed, 13 May 2015 11:43:19 +0200 Subject: slightly ot: java9 runtime images In-Reply-To: <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> <554B5A17.20305@tbee.org> <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> Message-ID: <55531CB7.6090809@tbee.org> On 7-5-2015 15:52, Danno Ferrin wrote: >> It would be a major improvement (not only for JavaFX applications, but also standalone servers) if it would become possible to create a truly single distributable, without having to repack the jars. So either by automatic unpacking to a tmp and setting the classpath prior to stating java (cleaning up afterwards), or allowing jars-in-jars or jars-in-distributable. >> > In 8u40 we added an option to install your application as service or daemon, so you can use the java packager to install your microsoervices. > I've spent some time with the JavaFX packager (though the javafx-maven-plugin) and I am able to generate: - a distribution in the form of a lib directory and entry point jar - an exe & msi that are both installers What I am not able to generate is an exe that can simply be started. Right now my distribution consist of an all-in-one jar (jars-in-a-jar) that can simply be started. The JRE is also simply copied (when not present), so there is no need to install anything, just copy and start. I would really like to be able to generate such a standalone exe. Is this a limitation of the plugin or the packager? Since the plugin seems to be very close to the packager, I'm thinking the latter. Tom From hastebrot at gmail.com Wed May 13 10:19:36 2015 From: hastebrot at gmail.com (Benjamin Gudehus) Date: Wed, 13 May 2015 12:19:36 +0200 Subject: slightly ot: java9 runtime images In-Reply-To: <55531CB7.6090809@tbee.org> References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> <554B5A17.20305@tbee.org> <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> <55531CB7.6090809@tbee.org> Message-ID: Hi Tom! >I would really like to be able to generate such a standalone exe. With Danno's javafx-gradle Gradle plugin and with the java package API (com.oracle.tools.packager.Bundler from Java 8) it is possible to generate a standalone exe without installer (the bundler name is "Windows Application Image"). That's the first thing I noticed, when I tested it. Regards, Benjamin On Wed, May 13, 2015 at 11:43 AM, Tom Eugelink wrote: > On 7-5-2015 15:52, Danno Ferrin wrote: > >> It would be a major improvement (not only for JavaFX applications, but >>> also standalone servers) if it would become possible to create a truly >>> single distributable, without having to repack the jars. So either by >>> automatic unpacking to a tmp and setting the classpath prior to stating >>> java (cleaning up afterwards), or allowing jars-in-jars or >>> jars-in-distributable. >>> >>> In 8u40 we added an option to install your application as service or >> daemon, so you can use the java packager to install your microsoervices. >> >> > I've spent some time with the JavaFX packager (though the > javafx-maven-plugin) and I am able to generate: > - a distribution in the form of a lib directory and entry point jar > - an exe & msi that are both installers > > What I am not able to generate is an exe that can simply be started. Right > now my distribution consist of an all-in-one jar (jars-in-a-jar) that can > simply be started. The JRE is also simply copied (when not present), so > there is no need to install anything, just copy and start. I would really > like to be able to generate such a standalone exe. Is this a limitation of > the plugin or the packager? Since the plugin seems to be very close to the > packager, I'm thinking the latter. > > Tom > > > From pedro.duquevieira at gmail.com Wed May 13 14:04:45 2015 From: pedro.duquevieira at gmail.com (Pedro Duque Vieira) Date: Wed, 13 May 2015 15:04:45 +0100 Subject: App hang and pulse logger stops Message-ID: Anyone...? (see below) On Mon, May 11, 2015 at 8:03 PM, Pedro Duque Vieira < pedro.duquevieira at gmail.com> wrote: > > Hi, > > > > Already posted this on the OTN forum but got no response. > > > I have a swing/javafx app that is hanging randomly without any error > information (exceptions thrown, etc). I run the app with the pulse logger > flag active and when it hangs the pulse logger stops. > > > > How can I debug this? What can cause the pulse logger to stop? Is this my > fault or some javafx bug? > > > Thanks, best regards, > -- > Pedro Duque Vieira > -- Pedro Duque Vieira From jeff at reportmill.com Wed May 13 14:23:16 2015 From: jeff at reportmill.com (Jeff Martin) Date: Wed, 13 May 2015 09:23:16 -0500 Subject: App hang and pulse logger stops In-Reply-To: References: Message-ID: I think I ran into this a bit when I had a mixed swing/javafx application. It was always due to inadvertently performing Swing activity while still in the JFX thread or visa versa. I think sometimes checking the stack frame on both threads would show me where it was (but sometimes not). I think I was always able to solve it with the right SwingUtilities.invokeLater() or Platform.runLater(). My apologies if you already knew all this (and for the fact that it wasn?t really helpful). I?ve heard mention on this list that there is a new ?single event thread? setting for JFX 8. I?ve wondered if that would have magically solved this issue, and allowed one to remove the runLater() calls. jeff On May 13, 2015, at 9:04 AM, Pedro Duque Vieira wrote: > Anyone...? (see below) > > On Mon, May 11, 2015 at 8:03 PM, Pedro Duque Vieira < > pedro.duquevieira at gmail.com> wrote: > >> >> Hi, >> >> >> >> Already posted this on the OTN forum but got no response. >> >> >> I have a swing/javafx app that is hanging randomly without any error >> information (exceptions thrown, etc). I run the app with the pulse logger >> flag active and when it hangs the pulse logger stops. >> >> >> >> How can I debug this? What can cause the pulse logger to stop? Is this my >> fault or some javafx bug? >> >> >> Thanks, best regards, >> -- >> Pedro Duque Vieira >> > > > > -- > Pedro Duque Vieira From danno.ferrin at oracle.com Wed May 13 17:09:43 2015 From: danno.ferrin at oracle.com (Danno Ferrin) Date: Wed, 13 May 2015 11:09:43 -0600 Subject: slightly ot: java9 runtime images In-Reply-To: References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> <554B5A17.20305@tbee.org> <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> <55531CB7.6090809@tbee.org> Message-ID: I think what Tom was alluding to was an all in one executable that contains all the data in one file. What the "Windows Application Image" creates is a directory that contains all the jars, the JRE, and the executable that launches the whole setup. If an all in one executable is something you think will be generally valuable, please let you Oracle Sales rep know so they can pass it down to the PM group so we can get it on the radar. > On May 13, 2015, at 4:19 AM, Benjamin Gudehus wrote: > > Hi Tom! > > >I would really like to be able to generate such a standalone exe. > > With Danno's javafx-gradle Gradle plugin and with the java package API (com.oracle.tools.packager.Bundler from Java 8) it is possible to generate a standalone exe without installer (the bundler name is "Windows Application Image"). That's the first thing I noticed, when I tested it. > > Regards, > Benjamin > > On Wed, May 13, 2015 at 11:43 AM, Tom Eugelink > wrote: > On 7-5-2015 15:52, Danno Ferrin wrote: > It would be a major improvement (not only for JavaFX applications, but also standalone servers) if it would become possible to create a truly single distributable, without having to repack the jars. So either by automatic unpacking to a tmp and setting the classpath prior to stating java (cleaning up afterwards), or allowing jars-in-jars or jars-in-distributable. > > In 8u40 we added an option to install your application as service or daemon, so you can use the java packager to install your microsoervices. > > > I've spent some time with the JavaFX packager (though the javafx-maven-plugin) and I am able to generate: > - a distribution in the form of a lib directory and entry point jar > - an exe & msi that are both installers > > What I am not able to generate is an exe that can simply be started. Right now my distribution consist of an all-in-one jar (jars-in-a-jar) that can simply be started. The JRE is also simply copied (when not present), so there is no need to install anything, just copy and start. I would really like to be able to generate such a standalone exe. Is this a limitation of the plugin or the packager? Since the plugin seems to be very close to the packager, I'm thinking the latter. > > Tom > > > From lehmann at media-interactive.de Wed May 13 17:17:46 2015 From: lehmann at media-interactive.de (Werner Lehmann) Date: Wed, 13 May 2015 19:17:46 +0200 Subject: Maximum size of a canvas? Message-ID: <5553873A.4080501@media-interactive.de> Hi, is there a way to somewhat safely determine the maximum size of a canvas? I am using the canvas to display a report result in a custom report viewer control. The report can be zoomed in which basically means that I recreate the canvas with a bigger size (the canvas is inside a scrollpane). On previous experiments I discovered that it is probably not safe to use more than twice the screen width or height, according to Screen.getPrimary().getBounds() Turns out that might be too optimistic since I just had my application lock up: the application thread was waiting on a countdownlatch. Since this was in the debugger I could suspend all threads and the quantum thread was busy in com.sun.prism.d3d.D3DResourceFactory.nCreateTexture At that time the canvas size was 3396.0 x 2400.0 for a screen resolution of 1920 x 1200. I can reproduce this every time now. If I change the code so that the canvas size never exceeds either width or height of the screen (up to 1698.0 x 1200.0) the problem goes away but then of course I have less quality on a 400% zoom... Rgds Werner From tbee at tbee.org Thu May 14 06:22:39 2015 From: tbee at tbee.org (Tom Eugelink) Date: Thu, 14 May 2015 08:22:39 +0200 Subject: slightly ot: java9 runtime images In-Reply-To: References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> <554B5A17.20305@tbee.org> <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> <55531CB7.6090809@tbee.org> Message-ID: <55543F2F.4030400@tbee.org> Correct. I keep comparing to my appjar tool which, as said before, is a single jar containing all the other jars unmodified. When started through java -jar, it does the following: - Unpack itself to a temp directory. - Spawn a new JVM with a classpath referring to all the unpacked stuff. - The initial JVM is then going into monitor mode, waiting for the spawned JVM to terminate. - When the spawned JVM terminates, the initial JVM tries to clean up the temp directory. This works well enough, sometimes the cleanup is a problem with locks preventing deleting, and I'm not too happy that I have to run two JVMs, but that are small issues compared to just being able to release my application by copying a single jar (and not have issues with signed jars). Unfortunately you cannot have the spawned JVM cleanup after itself, otherwise I could stop the initial JVM after it spawned the other. I figure it should not be that hard to replace the unpack and cleanup logic with native code, and build an EXE that way, so I assumed javafx packager did that. Apparently not. Hmmm, this could of course be a great use case for Go. And about that Oracle Sales rep, well, you know, I contribute by making my spare time work available for free; I don't know any Oracle sales rep. Tom On 13-5-2015 19:09, Danno Ferrin wrote: > I think what Tom was alluding to was an all in one executable that contains all the data in one file. What the "Windows Application Image" creates is a directory that contains all the jars, the JRE, and the executable that launches the whole setup. > > If an all in one executable is something you think will be generally valuable, please let you Oracle Sales rep know so they can pass it down to the PM group so we can get it on the radar. > >> On May 13, 2015, at 4:19 AM, Benjamin Gudehus > wrote: >> >> Hi Tom! >> >> >I would really like to be able to generate such a standalone exe. >> >> With Danno's javafx-gradle Gradle plugin and with the java package API (com.oracle.tools.packager.Bundler from Java 8) it is possible to generate a standalone exe without installer (the bundler name is "Windows Application Image"). That's the first thing I noticed, when I tested it. >> >> Regards, >> Benjamin >> >> On Wed, May 13, 2015 at 11:43 AM, Tom Eugelink > wrote: >> >> On 7-5-2015 15:52, Danno Ferrin wrote: >> >> It would be a major improvement (not only for JavaFX applications, but also standalone servers) if it would become possible to create a truly single distributable, without having to repack the jars. So either by automatic unpacking to a tmp and setting the classpath prior to stating java (cleaning up afterwards), or allowing jars-in-jars or jars-in-distributable. >> >> In 8u40 we added an option to install your application as service or daemon, so you can use the java packager to install your microsoervices. >> >> >> I've spent some time with the JavaFX packager (though the javafx-maven-plugin) and I am able to generate: >> - a distribution in the form of a lib directory and entry point jar >> - an exe & msi that are both installers >> >> What I am not able to generate is an exe that can simply be started. Right now my distribution consist of an all-in-one jar (jars-in-a-jar) that can simply be started. The JRE is also simply copied (when not present), so there is no need to install anything, just copy and start. I would really like to be able to generate such a standalone exe. Is this a limitation of the plugin or the packager? Since the plugin seems to be very close to the packager, I'm thinking the latter. >> >> Tom >> >> >> > From pedro.duquevieira at gmail.com Thu May 14 10:40:30 2015 From: pedro.duquevieira at gmail.com (Pedro Duque Vieira) Date: Thu, 14 May 2015 11:40:30 +0100 Subject: App hang and pulse logger stops Message-ID: Hi Morris, I've tried running with the flags you mention but it all stops producing text when the application hangs and there's no information remaining which would tell me why the application hangs. I've also tried using the apps you talk about (jstack and visual vm) but I can't make sense of the information they present. The app that hangs is modellus - http://modellus.co/ and the file that makes it hang is attached (you have to wait a while after opening the file until the app hangs). Can you give me some more help, I'm still not aware of what could cause this. Thanks, best regards, Hi Pedro, > You might want to try setting the flags "quantum.debug", "quantum.pulse" > and "quantum.verbose" when launching your application. > Prior to that you might want to try to get a stack trace of the hung > application using jstack, Visual VM or doing a Ctrl-Break on Windows or > Control-\ on Mac. > --mm -- Pedro Duque Vieira From mark.reinhold at oracle.com Thu May 14 20:48:35 2015 From: mark.reinhold at oracle.com (mark.reinhold at oracle.com) Date: Thu, 14 May 2015 13:48:35 -0700 (PDT) Subject: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization Message-ID: <20150514204835.024FC62C90@eggemoggin.niobe.net> New JEP Candidate: http://openjdk.java.net/jeps/253 - Mark From tbee at tbee.org Thu May 14 21:53:40 2015 From: tbee at tbee.org (Tom Eugelink) Date: Thu, 14 May 2015 23:53:40 +0200 Subject: Off topic: named parameters In-Reply-To: <1430202132.3796.34.camel@galactica> References: <553601C0.2010207@tbee.org> <1430202132.3796.34.camel@galactica> Message-ID: <55551964.4090606@tbee.org> Sorry it took me a while to respond, I had a talk to prepare for. On 28-4-2015 08:22, Mario Torre wrote: > On Tue, 2015-04-21 at 09:52 +0200, Tom Eugelink wrote: >> Totally off topic, I apologise, but the subscribers to this list are the type of people who may have the experience I seek. >> >> I've been trying to pitch the concept of named parameters for Java 9, but somehow my JEP is never picked up. I emailed it in twice. Has anyone ever successfully handed in a JEP? >> https://tbeernot.wordpress.com/2013/09/29/the-java-9-named-parameter-pitch/ >> >> Tom > I personally think this makes the language more verbose with little > benefit, but that's just me maybe. That indeed is open for discussion. > > A JEP usually means you will need to do the work yourself, unless you > can make such a strong case to get someone to work on the task for you > (one such example, lambdas). In that regard no one will "pick up" your > JEP, you need to actively push. Hm, I'm not sure I should be working on the compiler, that is scary and daunting. But I did expect someone to respond on the handing in of the JEP, mainly based on quotes like this: "/We use the current JEP Process to collect, review, sort, and evaluate proposals for enhancements to the JDK. The ongoing result of this process is the JDK Roadmap, a collection of feature ideas and other proposals for consideration by JDK Release Projects and related efforts./" But after your explanation and rereading the JEP 1 and 2 it seems real life is different from the mental image that this quote puts in my head. Thanks for being so complete, I'll see what I can wrestle up via an discussion. Tom From nipa at codefx.org Fri May 15 08:21:59 2015 From: nipa at codefx.org (Nicolai Parlog) Date: Fri, 15 May 2015 10:21:59 +0200 Subject: JDeps should recognize JavaFX internal API Message-ID: <5555ACA7.60704@codefx.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi! After the great news on JEP253 I wanted to play around with JDeps to identify the dependencies on internal API in, e.g., ControlsFX. Turns out JDeps does not recognize these yet: https://bugs.openjdk.java.net/browse/JDK-8077349 I think that's a serious shortcoming of this otherwise very useful tool. Many projects which are just now realizing how Project Jigsaw might affect them could turn to JDeps to identify problematic dependencies. If the tool only reports some of them, this could undermine its adoption or create a false sense of being well prepared. It would be great if those members of this list which are in the position to do so consider moving this issue forward, e.g. by upvoting. Thank you Nicolai Parlog - -- PGP Key: http://keys.gnupg.net/pks/lookup?op=vindex&search=0xCA3BAD2E9CCCD509 Web: http://codefx.org a blog about software development http://do-foss.de Free and Open Source Software for the City of Dortmund Twitter: https://twitter.com/nipafx -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32) iQIcBAEBAgAGBQJVVaykAAoJEMo7rS6czNUJub0P/0tdfsI1sjv4653jW4Fc478M vCJbxCL5ym3/UCR9m2ql6Mt5XiY9M5pYU0BNLlw5wq8z02MYCTRB7U2jjtIyw2NY JCgBqg8y74QjNbJByKjHz+PoV/GYoUk23h/ERZPFs0x+KqH20JVGVKbfLuQEJUhd crDkrpju8K6QI0PIOIwjqN+M+Dcp7ROCflZcSlZO02QEgKldpJYEYyZg+IpnT7aC +vCJi10+7KkmDhDIPd81DQJAEicrnwkbFGUwlViylQkl5VZA3qq0p5BBdCKbIAuN KeMILjLYL6Kz8rzcvhl5oVdrEbauaI5NaEEhFVrD4Zf8HGYL6opXIrYLx6ZekTK5 rT1ChT9vDpUKcxwrI8mwT8hu7Wg/wcGgUHhxYM2NZQv87zih4UYSIcd/gb93xUfH meqHz79TEB5xi36RgpVKdUdMptdKgOB4N3Oo66XCtR6AkJo58LTLPvoFJmXX6kMd XaQBfW21oi8iayE7T17LbvG7xz76B1uZZb3L94e7UXycsodTBpjr6OLXzsutD4ht lk69HUKHsp/YTCGuXWsQ5en7QTASedN9TskE7ljnmQtUuGkVycanQzVZx+mdrjfx ZN2KTgytFxyD2ghUEQkIU8thFNxSlSHsJv0aaIZkK2kQ8yfIQLNOTfj8wSehIMEI wR/v5JCzPsvhp1ToQW63 =JjxD -----END PGP SIGNATURE----- From lehmann at media-interactive.de Fri May 15 10:28:32 2015 From: lehmann at media-interactive.de (Werner Lehmann) Date: Fri, 15 May 2015 12:28:32 +0200 Subject: slightly ot: java9 runtime images In-Reply-To: <55543F2F.4030400@tbee.org> References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> <554B5A17.20305@tbee.org> <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> <55531CB7.6090809@tbee.org> <55543F2F.4030400@tbee.org> Message-ID: <5555CA50.2040905@media-interactive.de> Hi Tom, could you do this with File.deleteOnExit? Question is, can it delete jars on its own classpath... Werner On 14.05.2015 08:22, Tom Eugelink wrote: > Unfortunately you cannot have the spawned JVM cleanup after itself, otherwise I could stop the initial JVM after it spawned the other. From kevin.rushforth at oracle.com Fri May 15 14:17:45 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 15 May 2015 07:17:45 -0700 Subject: JDeps should recognize JavaFX internal API In-Reply-To: <5555ACA7.60704@codefx.org> References: <5555ACA7.60704@codefx.org> Message-ID: <55560009.2040102@oracle.com> I had an offline conversation with Mandy who hopes to get it done reasonably soon. Once it is in an EA build, I will announce it here, and you can try it out. -- Kevin Nicolai Parlog wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi! > > After the great news on JEP253 I wanted to play around with JDeps to > identify the dependencies on internal API in, e.g., ControlsFX. > > Turns out JDeps does not recognize these yet: > > https://bugs.openjdk.java.net/browse/JDK-8077349 > > I think that's a serious shortcoming of this otherwise very useful > tool. Many projects which are just now realizing how Project Jigsaw > might affect them could turn to JDeps to identify problematic > dependencies. If the tool only reports some of them, this could > undermine its adoption or create a false sense of being well prepared. > > It would be great if those members of this list which are in the > position to do so consider moving this issue forward, e.g. by upvoting. > > Thank you > Nicolai Parlog > > > > - -- > > PGP Key: > http://keys.gnupg.net/pks/lookup?op=vindex&search=0xCA3BAD2E9CCCD509 > > Web: > http://codefx.org > a blog about software development > http://do-foss.de > Free and Open Source Software for the City of Dortmund > > Twitter: > https://twitter.com/nipafx > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2.0.22 (MingW32) > > iQIcBAEBAgAGBQJVVaykAAoJEMo7rS6czNUJub0P/0tdfsI1sjv4653jW4Fc478M > vCJbxCL5ym3/UCR9m2ql6Mt5XiY9M5pYU0BNLlw5wq8z02MYCTRB7U2jjtIyw2NY > JCgBqg8y74QjNbJByKjHz+PoV/GYoUk23h/ERZPFs0x+KqH20JVGVKbfLuQEJUhd > crDkrpju8K6QI0PIOIwjqN+M+Dcp7ROCflZcSlZO02QEgKldpJYEYyZg+IpnT7aC > +vCJi10+7KkmDhDIPd81DQJAEicrnwkbFGUwlViylQkl5VZA3qq0p5BBdCKbIAuN > KeMILjLYL6Kz8rzcvhl5oVdrEbauaI5NaEEhFVrD4Zf8HGYL6opXIrYLx6ZekTK5 > rT1ChT9vDpUKcxwrI8mwT8hu7Wg/wcGgUHhxYM2NZQv87zih4UYSIcd/gb93xUfH > meqHz79TEB5xi36RgpVKdUdMptdKgOB4N3Oo66XCtR6AkJo58LTLPvoFJmXX6kMd > XaQBfW21oi8iayE7T17LbvG7xz76B1uZZb3L94e7UXycsodTBpjr6OLXzsutD4ht > lk69HUKHsp/YTCGuXWsQ5en7QTASedN9TskE7ljnmQtUuGkVycanQzVZx+mdrjfx > ZN2KTgytFxyD2ghUEQkIU8thFNxSlSHsJv0aaIZkK2kQ8yfIQLNOTfj8wSehIMEI > wR/v5JCzPsvhp1ToQW63 > =JjxD > -----END PGP SIGNATURE----- > > From jeffhain at rocketmail.com Fri May 15 14:15:26 2015 From: jeffhain at rocketmail.com (Jeff Hain) Date: Fri, 15 May 2015 14:15:26 +0000 (UTC) Subject: Maximum size of a canvas? Message-ID: <1664854754.561443.1431699326283.JavaMail.yahoo@mail.yahoo.com> Hi. >The report can be zoomed in which basically means >that I recreate the canvas with a bigger size (the canvas is inside a >scrollpane). Instead of creating an eventually (and quadratically) huge canvas, you could try using Canvas.getGraphicsContext().scale(2 double)/translate(2 double), and "bind" the scroll bars to the {canvas dimensions, applied transform} data. -Jeff From vadim.pakhnushev at oracle.com Fri May 15 14:36:46 2015 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Fri, 15 May 2015 17:36:46 +0300 Subject: In(Sanity) Testing Mondays Message-ID: <5556047E.7040202@oracle.com> Reminder, Monday is our weekly sanity testing. You can find your testing assignment at: https://wiki.openjdk.java.net/display/OpenJFX/Sanity+Testing Also please remember that the repo will be locked from 1am PDT until 1pm PDT. Happy testing! Thanks, Vadim From vadim.pakhnushev at oracle.com Fri May 15 14:52:21 2015 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Fri, 15 May 2015 17:52:21 +0300 Subject: [8u60, 9] Review request for RT-40778: BMP image fails to load when a specific size is requested Message-ID: <55560825.2010608@oracle.com> Jim, Could you please review the fix: https://javafx-jira.kenai.com/browse/RT-40778 http://cr.openjdk.java.net/~vadim/RT-40778/webrev.00/ Thanks, Vadim From lehmann at media-interactive.de Fri May 15 15:02:57 2015 From: lehmann at media-interactive.de (Werner Lehmann) Date: Fri, 15 May 2015 17:02:57 +0200 Subject: Maximum size of a canvas? In-Reply-To: <1664854754.561443.1431699326283.JavaMail.yahoo@mail.yahoo.com> References: <1664854754.561443.1431699326283.JavaMail.yahoo@mail.yahoo.com> Message-ID: <55560AA1.9090103@media-interactive.de> Hi Jeff, interesting idea although I am not sure in which way this improves things. I am already scaling the canvas node if it is bigger than necessary (due to previous zoom, works like supersampling then) or smaller than necessary (if the maximum size is reached but I need to present the content bigger than that). Looks as if the scaling of the canvas and the scaling of the graphicscontext might both be applied at the same time - unless one is simply a shortcut to the other. I have to experiment on this one. Rgds Werner On 15.05.2015 16:15, Jeff Hain wrote: > Instead of creating an eventually (and quadratically) huge canvas, > you could try using Canvas.getGraphicsContext().scale(2 > double)/translate(2 double), > and "bind" the scroll bars to the {canvas dimensions, applied transform} > data. From tbee at tbee.org Fri May 15 18:14:57 2015 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 15 May 2015 20:14:57 +0200 Subject: slightly ot: java9 runtime images In-Reply-To: <5555CA50.2040905@media-interactive.de> References: <554AA626.3060307@poczta.onet.pl> <98F99E7C-DC03-4449-9127-CD14881BB114@oracle.com> <554B5A17.20305@tbee.org> <63D8CE15-4D2E-4220-AA59-BFEBCF151D18@oracle.com> <55531CB7.6090809@tbee.org> <55543F2F.4030400@tbee.org> <5555CA50.2040905@media-interactive.de> Message-ID: <555637A1.4020308@tbee.org> It tried every angle, including tempfile. Problem is that that the initial JVM creates the file, so it can consider it a temp file, for the spawned JVM it is an existing file. Tom On 15-5-2015 12:28, Werner Lehmann wrote: > Hi Tom, > > could you do this with File.deleteOnExit? Question is, can it delete jars on its own classpath... > > Werner > > On 14.05.2015 08:22, Tom Eugelink wrote: >> Unfortunately you cannot have the spawned JVM cleanup after itself, otherwise I could stop the initial JVM after it spawned the other. From kevin.rushforth at oracle.com Fri May 15 19:17:17 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 15 May 2015 12:17:17 -0700 Subject: [8u60,9] review request: RT-39689: Better docs and error checking if Printing or Dialogs called from Animation Message-ID: <5556463D.3060907@oracle.com> Phil, Please review the following: https://javafx-jira.kenai.com/browse/RT-39689 http://cr.openjdk.java.net/~kcr/RT-39689/webrev.00/ -- Kevin From james.graham at oracle.com Fri May 15 19:31:43 2015 From: james.graham at oracle.com (Jim Graham) Date: Fri, 15 May 2015 12:31:43 -0700 Subject: Maximum size of a canvas? In-Reply-To: <55560AA1.9090103@media-interactive.de> References: <1664854754.561443.1431699326283.JavaMail.yahoo@mail.yahoo.com> <55560AA1.9090103@media-interactive.de> Message-ID: <5556499F.9020108@oracle.com> The Canvas is simply a texture of the specified dimensions. (We do scale that size by any pixel scale applied to the entire scene, as in Mac retina's 2x scale, but it's size is interpreted in the same coordinate space as the Stage, Scene and the root Node coordinates.) Transform properties on the Canvas Node (scale, rotate, translate, list of transform objects) are applied to the pixels in the texture as they are incorporated into the scene as if it were an Image. Transform properties in the GraphicsContext are applied during rendering. So, neither affects the other or is a shortcut to the other. They do combine visually into the end product, but one is at the rendering-into-the-texture stage and the other is at the blit-texture-to-the-screen stage. Transformations applied to the Canvas node properties can lead to pixel stretching artifacts... ...jim On 5/15/15 8:02 AM, Werner Lehmann wrote: > Hi Jeff, > > interesting idea although I am not sure in which way this improves > things. I am already scaling the canvas node if it is bigger than > necessary (due to previous zoom, works like supersampling then) or > smaller than necessary (if the maximum size is reached but I need to > present the content bigger than that). > > Looks as if the scaling of the canvas and the scaling of the > graphicscontext might both be applied at the same time - unless one is > simply a shortcut to the other. I have to experiment on this one. > > Rgds > Werner > > On 15.05.2015 16:15, Jeff Hain wrote: >> Instead of creating an eventually (and quadratically) huge canvas, >> you could try using Canvas.getGraphicsContext().scale(2 >> double)/translate(2 double), >> and "bind" the scroll bars to the {canvas dimensions, applied transform} >> data. From nipa at codefx.org Sun May 17 17:52:25 2015 From: nipa at codefx.org (Nicolai Parlog) Date: Sun, 17 May 2015 19:52:25 +0200 Subject: JDeps should recognize JavaFX internal API In-Reply-To: <55560009.2040102@oracle.com> References: <5555ACA7.60704@codefx.org> <55560009.2040102@oracle.com> Message-ID: <5558D559.7070001@codefx.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Kevin, great news! thanks Nicolai On 15.05.2015 16:17, Kevin Rushforth wrote: > I had an offline conversation with Mandy who hopes to get it done > reasonably soon. Once it is in an EA build, I will announce it > here, and you can try it out. > > -- Kevin > > > Nicolai Parlog wrote: Hi! > > After the great news on JEP253 I wanted to play around with JDeps > to identify the dependencies on internal API in, e.g., ControlsFX. > > Turns out JDeps does not recognize these yet: > > https://bugs.openjdk.java.net/browse/JDK-8077349 > > I think that's a serious shortcoming of this otherwise very useful > tool. Many projects which are just now realizing how Project > Jigsaw might affect them could turn to JDeps to identify > problematic dependencies. If the tool only reports some of them, > this could undermine its adoption or create a false sense of being > well prepared. > > It would be great if those members of this list which are in the > position to do so consider moving this issue forward, e.g. by > upvoting. > > Thank you Nicolai Parlog > > > >> >> > - -- PGP Key: http://keys.gnupg.net/pks/lookup?op=vindex&search=0xCA3BAD2E9CCCD509 Web: http://codefx.org a blog about software development http://do-foss.de Free and Open Source Software for the City of Dortmund Twitter: https://twitter.com/nipafx -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32) iQIcBAEBAgAGBQJVWNVYAAoJEMo7rS6czNUJJKsP/jiaj42IoIWSbNZeKE2POB5u 3Zf8+ltrRLXJnifPcSnC4pREAMFJM5Ra2DTQ5/45OCMBX1hiVBwdiHN2q8p7beQW WL0qO90aLjHbo500FROqcpE7T1K3u4Zp9DvgF2/2s9pzwLraUre8Xy/ijneP8Ozy xBDZT4lrdk6rQZGnZOdxS1+bE1P/NnHiOn6dmLLcZdsc33kgWx2oU3rjEaKYBjry 4xOULzCDoJdBlw660vSOQm8hfz40TSXJu8SS5/F9udDL4MCzGQGM7sIgNsR3DNwT hej0mlPH0cFY5Tbfa/6vvMRbnN+3zhVZlxPul2eI8kHTH8lrhANuIY4rUyE67Zxd 8oVcSwnxeWpR6VulIx5Uo0ahKdBp0qsJIyPVm3b+NxotEDB7Hnrnn2XNj5s4/iyS nCAYxjEAOMba7oREqooVMkjbSPQhKtka2MC4gEQniqKf1L+GblTAU2m63Z37k81I 5xNYhfBnlZ0/W5lWyzbNx4oc+94Rrn9SWNSxLx14nEsmsvqfLti0q9xAeNWWpP5+ gwNR273ydFNA4lwcQbSCXfS7ZIpBN8sB1y2cst9VamSyPiPDfzS9k15pq/efWH3A xqC2icAghoHT2No1JuIiRXjcGH50R/IXdCsMGTOKnWAcy/YlwjRb/WW2dj/LtVCQ NiKsdPIAMv+umo6aFNDY =16o7 -----END PGP SIGNATURE----- From haenel at ultramixer.com Mon May 18 11:37:14 2015 From: haenel at ultramixer.com (=?utf-8?Q?Matthias_H=C3=A4nel?=) Date: Mon, 18 May 2015 13:37:14 +0200 Subject: Stage hide/show from Swing Message-ID: <8421262C-6FAC-4960-85CA-5415DF0245EC@ultramixer.com> Hello there, I have a stage that is been called from a Java Swing application. This is not a real problem since I can run follwing code: PlatformImpl.startup(new Runnable() { @Override public void run() { myStage = new myStage(); myStage.show(); } }); That works so far. No I would like to close this stage from the swing application. I can call: Platform.runLater(new Runnable() { @Override public void run() { myStage.hide(); } }); This also works. Since I have a toggle-Button to hide and show the stage from the swing application, I would like to re-show the stage and I would like to know when the stage is showing or not. This seems to be nearly impossible by now. What did I try? 1. I tried to shutdown the javafx entire with com.sun.javafx.tk.Toolkit.getToolkit().exit(); in the hide process. So I expected to use PlatformImpl.startup again. Unfortunately, it did not work. 2. I tried to leave javafx untouched. The second time I only call PlatformImpl.runLater to create a new scene. 3. I tried to run it from the swing thread without Platform.run... ... this failed obviuosly. (I just had no further ideas ;)) Does anyone tried this before? Any advise will be helpful :) Thanks in advance Matthias From swpalmer at gmail.com Mon May 18 12:17:05 2015 From: swpalmer at gmail.com (Scott Palmer) Date: Mon, 18 May 2015 08:17:05 -0400 Subject: Stage hide/show from Swing In-Reply-To: <8421262C-6FAC-4960-85CA-5415DF0245EC@ultramixer.com> References: <8421262C-6FAC-4960-85CA-5415DF0245EC@ultramixer.com> Message-ID: <9EB627FC-4A96-4880-B186-A4E3C64FA5E2@gmail.com> I would have thought that #2 was correct. What happened when you tried it? Did you make sure JavaFX didn't try to shutdown automatically when the last Stage was hidden? Scott > On May 18, 2015, at 7:37 AM, Matthias H?nel wrote: > > Hello there, > > > I have a stage that is been called from a Java Swing application. This is not a real problem > since I can run follwing code: > > PlatformImpl.startup(new Runnable() > { > @Override > public void run() > { > myStage = new myStage(); > myStage.show(); > } > }); > > > That works so far. > > No I would like to close this stage from the swing application. I can call: > > Platform.runLater(new Runnable() > { > @Override > public void run() > { > myStage.hide(); > } > }); > > > This also works. > > Since I have a toggle-Button to hide and show the stage from the swing application, I would like > to re-show the stage and I would like to know when the stage is showing or not. This seems to be nearly impossible by now. > > What did I try? > > 1. I tried to shutdown the javafx entire with com.sun.javafx.tk.Toolkit.getToolkit().exit(); in the hide process. So I expected to use PlatformImpl.startup again. Unfortunately, it did not work. > > 2. I tried to leave javafx untouched. The second time I only call PlatformImpl.runLater to create a new scene. > > 3. I tried to run it from the swing thread without Platform.run... ... this failed obviuosly. (I just had no further ideas ;)) > > > Does anyone tried this before? Any advise will be helpful :) > > > > Thanks in advance > Matthias > > > From haenel at ultramixer.com Mon May 18 14:19:40 2015 From: haenel at ultramixer.com (=?utf-8?Q?Matthias_H=C3=A4nel?=) Date: Mon, 18 May 2015 16:19:40 +0200 Subject: Stage hide/show from Swing In-Reply-To: <9EB627FC-4A96-4880-B186-A4E3C64FA5E2@gmail.com> References: <8421262C-6FAC-4960-85CA-5415DF0245EC@ultramixer.com> <9EB627FC-4A96-4880-B186-A4E3C64FA5E2@gmail.com> Message-ID: Thanks Scott for your fast answer. Well, in this case PlatformImpl.runLater(new Runnable() { @Override public void run() { ... is never called. I believe it is not called because the Stage is not running anymore and therefore the JFX Main Thread is stopped. I am now on 1.8.0_60 and have still the same behaviour :( regards Matthias > Am 18.05.2015 um 14:17 schrieb Scott Palmer : > > I would have thought that #2 was correct. What happened when you tried it? > Did you make sure JavaFX didn't try to shutdown automatically when the last Stage was hidden? > > > Scott > >> On May 18, 2015, at 7:37 AM, Matthias H?nel wrote: >> >> Hello there, >> >> >> I have a stage that is been called from a Java Swing application. This is not a real problem >> since I can run follwing code: >> >> PlatformImpl.startup(new Runnable() >> { >> @Override >> public void run() >> { >> myStage = new myStage(); >> myStage.show(); >> } >> }); >> >> >> That works so far. >> >> No I would like to close this stage from the swing application. I can call: >> >> Platform.runLater(new Runnable() >> { >> @Override >> public void run() >> { >> myStage.hide(); >> } >> }); >> >> >> This also works. >> >> Since I have a toggle-Button to hide and show the stage from the swing application, I would like >> to re-show the stage and I would like to know when the stage is showing or not. This seems to be nearly impossible by now. >> >> What did I try? >> >> 1. I tried to shutdown the javafx entire with com.sun.javafx.tk.Toolkit.getToolkit().exit(); in the hide process. So I expected to use PlatformImpl.startup again. Unfortunately, it did not work. >> >> 2. I tried to leave javafx untouched. The second time I only call PlatformImpl.runLater to create a new scene. >> >> 3. I tried to run it from the swing thread without Platform.run... ... this failed obviuosly. (I just had no further ideas ;)) >> >> >> Does anyone tried this before? Any advise will be helpful :) >> >> >> >> Thanks in advance >> Matthias >> >> >> From tom.schindl at bestsolution.at Mon May 18 14:26:22 2015 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Mon, 18 May 2015 16:26:22 +0200 Subject: Stage hide/show from Swing In-Reply-To: References: <8421262C-6FAC-4960-85CA-5415DF0245EC@ultramixer.com> <9EB627FC-4A96-4880-B186-A4E3C64FA5E2@gmail.com> Message-ID: <5559F68E.4020500@bestsolution.at> So then simply call Platform.setImplicitExit(false)? Tom On 18.05.15 16:19, Matthias H?nel wrote: > Thanks Scott for your fast answer. > > > Well, in this case > > PlatformImpl.runLater(new Runnable() > { > @Override > public void run() > { > ... > > > is never called. I believe it is not called because the Stage is not running anymore and > therefore the JFX Main Thread is stopped. > > I am now on 1.8.0_60 and have still the same behaviour :( > > > regards > Matthias > > > > >> Am 18.05.2015 um 14:17 schrieb Scott Palmer : >> >> I would have thought that #2 was correct. What happened when you tried it? >> Did you make sure JavaFX didn't try to shutdown automatically when the last Stage was hidden? >> >> >> Scott >> >>> On May 18, 2015, at 7:37 AM, Matthias H?nel wrote: >>> >>> Hello there, >>> >>> >>> I have a stage that is been called from a Java Swing application. This is not a real problem >>> since I can run follwing code: >>> >>> PlatformImpl.startup(new Runnable() >>> { >>> @Override >>> public void run() >>> { >>> myStage = new myStage(); >>> myStage.show(); >>> } >>> }); >>> >>> >>> That works so far. >>> >>> No I would like to close this stage from the swing application. I can call: >>> >>> Platform.runLater(new Runnable() >>> { >>> @Override >>> public void run() >>> { >>> myStage.hide(); >>> } >>> }); >>> >>> >>> This also works. >>> >>> Since I have a toggle-Button to hide and show the stage from the swing application, I would like >>> to re-show the stage and I would like to know when the stage is showing or not. This seems to be nearly impossible by now. >>> >>> What did I try? >>> >>> 1. I tried to shutdown the javafx entire with com.sun.javafx.tk.Toolkit.getToolkit().exit(); in the hide process. So I expected to use PlatformImpl.startup again. Unfortunately, it did not work. >>> >>> 2. I tried to leave javafx untouched. The second time I only call PlatformImpl.runLater to create a new scene. >>> >>> 3. I tried to run it from the swing thread without Platform.run... ... this failed obviuosly. (I just had no further ideas ;)) >>> >>> >>> Does anyone tried this before? Any advise will be helpful :) >>> >>> >>> >>> Thanks in advance >>> Matthias >>> >>> >>> > -- Thomas Schindl, CTO BestSolution.at EDV Systemhaus GmbH Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck http://www.bestsolution.at/ Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck From haenel at ultramixer.com Mon May 18 14:53:54 2015 From: haenel at ultramixer.com (=?utf-8?Q?Matthias_H=C3=A4nel?=) Date: Mon, 18 May 2015 16:53:54 +0200 Subject: Stage hide/show from Swing In-Reply-To: <5559F68E.4020500@bestsolution.at> References: <8421262C-6FAC-4960-85CA-5415DF0245EC@ultramixer.com> <9EB627FC-4A96-4880-B186-A4E3C64FA5E2@gmail.com> <5559F68E.4020500@bestsolution.at> Message-ID: <09EDE61F-1CA8-419F-BA89-971FCC1E3297@ultramixer.com> thanks Tom for your answer. I just tried to use Platform.setImplicitExit(false) but it didn't do anything different. I suspect I should have this runLater behaviour for the second "start"/show phase. And hide will not close the JFX thread interanally. Still there is no Runable call at the second try. PlatformImpl.runLater(new Runnable() { @Override public void run() is still not called :( Matthias > Am 18.05.2015 um 16:26 schrieb Tom Schindl : > > So then simply call Platform.setImplicitExit(false)? > > Tom > > On 18.05.15 16:19, Matthias H?nel wrote: >> Thanks Scott for your fast answer. >> >> >> Well, in this case >> >> PlatformImpl.runLater(new Runnable() >> { >> @Override >> public void run() >> { >> ... >> >> >> is never called. I believe it is not called because the Stage is not running anymore and >> therefore the JFX Main Thread is stopped. >> >> I am now on 1.8.0_60 and have still the same behaviour :( >> >> >> regards >> Matthias >> >> >> >> >>> Am 18.05.2015 um 14:17 schrieb Scott Palmer : >>> >>> I would have thought that #2 was correct. What happened when you tried it? >>> Did you make sure JavaFX didn't try to shutdown automatically when the last Stage was hidden? >>> >>> >>> Scott >>> >>>> On May 18, 2015, at 7:37 AM, Matthias H?nel wrote: >>>> >>>> Hello there, >>>> >>>> >>>> I have a stage that is been called from a Java Swing application. This is not a real problem >>>> since I can run follwing code: >>>> >>>> PlatformImpl.startup(new Runnable() >>>> { >>>> @Override >>>> public void run() >>>> { >>>> myStage = new myStage(); >>>> myStage.show(); >>>> } >>>> }); >>>> >>>> >>>> That works so far. >>>> >>>> No I would like to close this stage from the swing application. I can call: >>>> >>>> Platform.runLater(new Runnable() >>>> { >>>> @Override >>>> public void run() >>>> { >>>> myStage.hide(); >>>> } >>>> }); >>>> >>>> >>>> This also works. >>>> >>>> Since I have a toggle-Button to hide and show the stage from the swing application, I would like >>>> to re-show the stage and I would like to know when the stage is showing or not. This seems to be nearly impossible by now. >>>> >>>> What did I try? >>>> >>>> 1. I tried to shutdown the javafx entire with com.sun.javafx.tk.Toolkit.getToolkit().exit(); in the hide process. So I expected to use PlatformImpl.startup again. Unfortunately, it did not work. >>>> >>>> 2. I tried to leave javafx untouched. The second time I only call PlatformImpl.runLater to create a new scene. >>>> >>>> 3. I tried to run it from the swing thread without Platform.run... ... this failed obviuosly. (I just had no further ideas ;)) >>>> >>>> >>>> Does anyone tried this before? Any advise will be helpful :) >>>> >>>> >>>> >>>> Thanks in advance >>>> Matthias >>>> >>>> >>>> >> > > > -- > Thomas Schindl, CTO > BestSolution.at EDV Systemhaus GmbH > Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck > http://www.bestsolution.at/ > Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck From tom.schindl at bestsolution.at Mon May 18 15:13:20 2015 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Mon, 18 May 2015 17:13:20 +0200 Subject: Stage hide/show from Swing In-Reply-To: <09EDE61F-1CA8-419F-BA89-971FCC1E3297@ultramixer.com> References: <8421262C-6FAC-4960-85CA-5415DF0245EC@ultramixer.com> <9EB627FC-4A96-4880-B186-A4E3C64FA5E2@gmail.com> <5559F68E.4020500@bestsolution.at> <09EDE61F-1CA8-419F-BA89-971FCC1E3297@ultramixer.com> Message-ID: <7B3A3A90-C38F-4D4F-8E69-82BAFF2D7A1B@bestsolution.at> It is important to make this call at startup? Are you doing this? Tom Von meinem iPhone gesendet > Am 18.05.2015 um 16:53 schrieb Matthias H?nel : > > thanks Tom for your answer. > > I just tried to use Platform.setImplicitExit(false) but it didn't do anything different. > I suspect I should have this runLater behaviour for the second "start"/show phase. And hide will not close > the JFX thread interanally. Still there is no Runable call at the second try. > > PlatformImpl.runLater(new Runnable() > { > @Override > public void run() > > is still not called :( > > > > Matthias > > >> Am 18.05.2015 um 16:26 schrieb Tom Schindl : >> >> So then simply call Platform.setImplicitExit(false)? >> >> Tom >> >>> On 18.05.15 16:19, Matthias H?nel wrote: >>> Thanks Scott for your fast answer. >>> >>> >>> Well, in this case >>> >>> PlatformImpl.runLater(new Runnable() >>> { >>> @Override >>> public void run() >>> { >>> ... >>> >>> >>> is never called. I believe it is not called because the Stage is not running anymore and >>> therefore the JFX Main Thread is stopped. >>> >>> I am now on 1.8.0_60 and have still the same behaviour :( >>> >>> >>> regards >>> Matthias >>> >>> >>> >>> >>>> Am 18.05.2015 um 14:17 schrieb Scott Palmer : >>>> >>>> I would have thought that #2 was correct. What happened when you tried it? >>>> Did you make sure JavaFX didn't try to shutdown automatically when the last Stage was hidden? >>>> >>>> >>>> Scott >>>> >>>>> On May 18, 2015, at 7:37 AM, Matthias H?nel wrote: >>>>> >>>>> Hello there, >>>>> >>>>> >>>>> I have a stage that is been called from a Java Swing application. This is not a real problem >>>>> since I can run follwing code: >>>>> >>>>> PlatformImpl.startup(new Runnable() >>>>> { >>>>> @Override >>>>> public void run() >>>>> { >>>>> myStage = new myStage(); >>>>> myStage.show(); >>>>> } >>>>> }); >>>>> >>>>> >>>>> That works so far. >>>>> >>>>> No I would like to close this stage from the swing application. I can call: >>>>> >>>>> Platform.runLater(new Runnable() >>>>> { >>>>> @Override >>>>> public void run() >>>>> { >>>>> myStage.hide(); >>>>> } >>>>> }); >>>>> >>>>> >>>>> This also works. >>>>> >>>>> Since I have a toggle-Button to hide and show the stage from the swing application, I would like >>>>> to re-show the stage and I would like to know when the stage is showing or not. This seems to be nearly impossible by now. >>>>> >>>>> What did I try? >>>>> >>>>> 1. I tried to shutdown the javafx entire with com.sun.javafx.tk.Toolkit.getToolkit().exit(); in the hide process. So I expected to use PlatformImpl.startup again. Unfortunately, it did not work. >>>>> >>>>> 2. I tried to leave javafx untouched. The second time I only call PlatformImpl.runLater to create a new scene. >>>>> >>>>> 3. I tried to run it from the swing thread without Platform.run... ... this failed obviuosly. (I just had no further ideas ;)) >>>>> >>>>> >>>>> Does anyone tried this before? Any advise will be helpful :) >>>>> >>>>> >>>>> >>>>> Thanks in advance >>>>> Matthias >> >> >> -- >> Thomas Schindl, CTO >> BestSolution.at EDV Systemhaus GmbH >> Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck >> http://www.bestsolution.at/ >> Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck > From kevin.rushforth at oracle.com Mon May 18 15:24:55 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 18 May 2015 08:24:55 -0700 Subject: Stage hide/show from Swing In-Reply-To: <8421262C-6FAC-4960-85CA-5415DF0245EC@ultramixer.com> References: <8421262C-6FAC-4960-85CA-5415DF0245EC@ultramixer.com> Message-ID: <555A0447.6040603@oracle.com> You should call Platform.setImplicitExit(false) to disable the default behavior where the FX toolkit exits when the last Stage is closed. One more suggestion: > PlatformImpl.startup(new Runnable() This is not public API and should be avoided. If you are running a Swing application and want to startup the FX toolkit, you should create a new instance of JFXPanel (even if you don't use it). -- Kevin Matthias H?nel wrote: > Hello there, > > > I have a stage that is been called from a Java Swing application. This is not a real problem > since I can run follwing code: > > PlatformImpl.startup(new Runnable() > { > @Override > public void run() > { > myStage = new myStage(); > myStage.show(); > } > }); > > > That works so far. > > No I would like to close this stage from the swing application. I can call: > > Platform.runLater(new Runnable() > { > @Override > public void run() > { > myStage.hide(); > } > }); > > > This also works. > > Since I have a toggle-Button to hide and show the stage from the swing application, I would like > to re-show the stage and I would like to know when the stage is showing or not. This seems to be nearly impossible by now. > > What did I try? > > 1. I tried to shutdown the javafx entire with com.sun.javafx.tk.Toolkit.getToolkit().exit(); in the hide process. So I expected to use PlatformImpl.startup again. Unfortunately, it did not work. > > 2. I tried to leave javafx untouched. The second time I only call PlatformImpl.runLater to create a new scene. > > 3. I tried to run it from the swing thread without Platform.run... ... this failed obviuosly. (I just had no further ideas ;)) > > > Does anyone tried this before? Any advise will be helpful :) > > > > Thanks in advance > Matthias > > > > From kevin.rushforth at oracle.com Mon May 18 17:34:38 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 18 May 2015 10:34:38 -0700 Subject: HEADS-UP: JDK 8u40 to become the minimum version needed to build FX 8u-dev (and 9) Message-ID: <555A22AE.7010003@oracle.com> As a heads-up, I plan to push the fix for the following issue some time this week: [1] RT-40691 : Update the JDK version used to build FX to JDK 8u40 Once pushed, the check for the minimum version JDK will fail unless the JDK version is at least 8u40-b26 (meaning 8u45 or 8u60 will be fine as well). This will allow us to remove some workarounds that we currently have for Swing bugs that are fixed on the JDK side in 8u40, and will also allow us to run unit tests that we have disabled when running on earlier builds. Please update your JDK to a minimum of 8u40 in order to continue to build FX after this fix goes in. -- Kevin [1] https://javafx-jira.kenai.com/browse/RT-40691 From David.Hill at Oracle.com Mon May 18 18:56:57 2015 From: David.Hill at Oracle.com (David Hill) Date: Mon, 18 May 2015 14:56:57 -0400 Subject: for review, two small ARM related build changes Message-ID: <555A35F9.7010109@Oracle.com> OpenJFX ARM compile fails with updated crosslibs with __THROWNL Jira: https://javafx-jira.kenai.com/browse/RT-40781 webrev: http://cr.openjdk.java.net/~ddhill/RT-40781/ Remove -I -L ARM cross compile flags Jira: https://javafx-jira.kenai.com/browse/RT-40806 webrev: http://cr.openjdk.java.net/~ddhill/RT-40806 -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From kevin.rushforth at oracle.com Mon May 18 20:25:31 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 18 May 2015 13:25:31 -0700 Subject: 8u-dev and 9-dev unlocked following sanity testing Message-ID: <555A4ABB.3090403@oracle.com> From pedro.duquevieira at gmail.com Mon May 18 21:56:14 2015 From: pedro.duquevieira at gmail.com (Pedro Duque Vieira) Date: Mon, 18 May 2015 22:56:14 +0100 Subject: App hang and pulse logger stops In-Reply-To: References: Message-ID: Here's the output from JStack. Sorry for the long post. Is there anything that says why the app hung (I can't find anything)? "JMX server connection timeout 46" #46 daemon prio=5 os_prio=0 tid=0x1a9f9800 nid=0x1a44 in Object.wait() [0x1b3bf000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:168) - locked <0x0b912f10> (a [I) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - None "RMI Scheduler(0)" #45 daemon prio=5 os_prio=0 tid=0x1a9f9c00 nid=0x18b0 waiting on condition [0x1b20f000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0b9130a8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - None "RMI TCP Connection(1)-192.168.1.82" #44 daemon prio=5 os_prio=0 tid=0x1a9f8c00 nid=0x2d0c runnable [0x1b17e000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:170) at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read(BufferedInputStream.java:265) - locked <0x0b915398> (a java.io.BufferedInputStream) at java.io.FilterInputStream.read(FilterInputStream.java:83) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:550) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$255(TCPTransport.java:683) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$292/18499935.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - <0x0b915550> (a java.util.concurrent.ThreadPoolExecutor$Worker) "RMI TCP Accept-0" #43 daemon prio=5 os_prio=0 tid=0x1a9f7800 nid=0x6d4 runnable [0x1a6cf000] java.lang.Thread.State: RUNNABLE at java.net.DualStackPlainSocketImpl.accept0(Native Method) at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131) at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199) - locked <0x0b9157b8> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:545) at java.net.ServerSocket.accept(ServerSocket.java:513) at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:52) at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400) at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - None "Timer-0" #37 prio=6 os_prio=0 tid=0x1a9f8000 nid=0x1f4c in Object.wait() [0x1da4f000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.util.TimerThread.mainLoop(Timer.java:552) - locked <0x0b0fcd20> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:505) Locked ownable synchronizers: - None "Watchdog-Timer-1" #35 daemon prio=6 os_prio=0 tid=0x16b01400 nid=0xe08 waiting on condition [0x1d5ef000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0a8f15a8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1081) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - None "Disposer" #34 daemon prio=10 os_prio=2 tid=0x16b00c00 nid=0x10fc in Object.wait() [0x1d41f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x0a8f17e0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) - locked <0x0a8f17e0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) at com.sun.webkit.Disposer.run(Disposer.java:90) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - None "KeyTipManager processing thread" #33 daemon prio=6 os_prio=0 tid=0x16b00800 nid=0x2008 waiting on condition [0x1ce9f000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0a8f19a8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at org.pushingpixels.flamingo.internal.utils.KeyTipManager$ProcessingThread.run(KeyTipManager.java:521) Locked ownable synchronizers: - None "Substance heap status" #32 daemon prio=6 os_prio=0 tid=0x16b00000 nid=0x10f0 waiting on condition [0x1cd0f000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at org.pushingpixels.substance.internal.utils.SubstanceTitlePane$HeapStatusThread.run(SubstanceTitlePane.java:470) Locked ownable synchronizers: - None "Trident pulse source thread" #30 daemon prio=6 os_prio=0 tid=0x16b02400 nid=0x488 waiting on condition [0x1cc7f000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at org.pushingpixels.trident.TridentConfig$FixedRatePulseSource.waitUntilNextPulse(TridentConfig.java:64) at org.pushingpixels.trident.TimelineEngine$TridentAnimationThread.run(TimelineEngine.java:190) Locked ownable synchronizers: - None "Trident callback thread" #29 daemon prio=6 os_prio=0 tid=0x16aff800 nid=0x149c waiting on condition [0x1cb7e000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0a886020> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at org.pushingpixels.trident.TimelineEngine$TimelineCallbackThread.run(TimelineEngine.java:214) Locked ownable synchronizers: - None "TimerQueue" #27 daemon prio=5 os_prio=0 tid=0x16afec00 nid=0x12e8 waiting on condition [0x1bf0f000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0a6a6b28> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at java.util.concurrent.DelayQueue.take(DelayQueue.java:211) at javax.swing.TimerQueue.run(TimerQueue.java:171) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - <0x0a6b5420> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) "Swing-Shell" #24 daemon prio=6 os_prio=0 tid=0x16b02000 nid=0x2d20 waiting on condition [0x1b05f000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0a657b98> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Win32ShellFolderManager2.java:547) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - None "Prism Font Disposer" #21 daemon prio=10 os_prio=2 tid=0x16aff400 nid=0x15b0 in Object.wait() [0x1a53f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x0a589af8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) - locked <0x0a589af8> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) at com.sun.javafx.font.Disposer.run(Disposer.java:93) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - None "Thread-3" #20 daemon prio=5 os_prio=0 tid=0x169be800 nid=0x20f0 runnable [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "JavaFX Application Thread" #19 prio=6 os_prio=0 tid=0x16959000 nid=0xd2c waiting on condition [0x1751e000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x062a04c8> (a java.util.concurrent.CountDownLatch$Sync) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231) at com.sun.javafx.tk.quantum.PaintCollector.waitForRenderingToComplete(PaintCollector.java:157) at com.sun.javafx.tk.quantum.GlassScene.waitForRenderingToComplete(GlassScene.java:127) at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2410) at com.sun.javafx.tk.Toolkit.lambda$runPulse$31(Toolkit.java:339) at com.sun.javafx.tk.Toolkit$$Lambda$159/15577651.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:338) at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:365) at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:510) at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:490) at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$401(QuantumToolkit.java:319) at com.sun.javafx.tk.quantum.QuantumToolkit$$Lambda$53/11536130.run(Unknown Source) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$146(WinApplication.java:108) at com.sun.glass.ui.win.WinApplication$$Lambda$49/30394683.run(Unknown Source) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - None "Thread-2" #18 daemon prio=6 os_prio=0 tid=0x1697cc00 nid=0x22a8 in Object.wait() [0x1748f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at com.sun.glass.ui.InvokeLaterDispatcher.run(InvokeLaterDispatcher.java:126) - locked <0x0a318fc0> (a java.lang.StringBuilder) Locked ownable synchronizers: - None "QuantumRenderer-0" #16 daemon prio=6 os_prio=0 tid=0x1691bc00 nid=0x10d4 runnable [0x167dd000] java.lang.Thread.State: RUNNABLE at com.sun.prism.impl.shape.NativePiscesRasterizer.produceStrokeAlphas(Native Method) at com.sun.prism.impl.shape.NativePiscesRasterizer.getMaskData(NativePiscesRasterizer.java:157) at com.sun.prism.impl.shape.ShapeUtil.rasterizeShape(ShapeUtil.java:51) at com.sun.prism.impl.ps.BaseShaderGraphics.renderShape(BaseShaderGraphics.java:463) at com.sun.prism.impl.ps.BaseShaderGraphics.drawLine(BaseShaderGraphics.java:1769) at com.sun.javafx.sg.prism.NGLine.renderContent2D(NGLine.java:55) at com.sun.javafx.sg.prism.NGShape.renderContent(NGShape.java:261) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053) at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945) at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053) at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945) at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053) at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945) at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053) at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945) at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053) at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945) at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053) at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945) at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053) at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945) at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053) at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945) at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053) at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945) at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:474) at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:320) at com.sun.javafx.tk.quantum.UploadingPainter.run(UploadingPainter.java:133) 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) Locked ownable synchronizers: - <0x0a3191f8> (a java.util.concurrent.ThreadPoolExecutor$Worker) - <0x0a5becf8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) "DestroyJavaVM" #15 prio=5 os_prio=0 tid=0x02a0d800 nid=0x698 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "AWT-EventQueue-0" #14 prio=6 os_prio=0 tid=0x1609bc00 nid=0x1524 waiting on condition [0x1674d000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0a5becf8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199) at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209) at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285) at com.sun.javafx.tk.quantum.QuantumToolkit.runWithRenderLock(QuantumToolkit.java:405) at com.sun.javafx.tk.quantum.EmbeddedScene.getPixels(EmbeddedScene.java:186) at javafx.embed.swing.JFXPanel.paintComponent(JFXPanel.java:717) at javax.swing.JComponent.paint(JComponent.java:1056) at javax.swing.JComponent.paintChildren(JComponent.java:889) - locked <0x0a214c48> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) - locked <0x0a214c48> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) - locked <0x0a214c48> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JLayeredPane.paint(JLayeredPane.java:586) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1572) at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1495) at javax.swing.RepaintManager.paint(RepaintManager.java:1265) at javax.swing.JComponent._paintImmediately(JComponent.java:5158) at javax.swing.JComponent.paintImmediately(JComponent.java:4969) at javax.swing.RepaintManager$4.run(RepaintManager.java:824) at javax.swing.RepaintManager$4.run(RepaintManager.java:807) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731) at javax.swing.RepaintManager.access$1300(RepaintManager.java:64) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:77) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) Locked ownable synchronizers: - None "AWT-Windows" #12 daemon prio=6 os_prio=0 tid=0x16094c00 nid=0x2c6c runnable [0x164ff000] java.lang.Thread.State: RUNNABLE at sun.awt.windows.WToolkit.eventLoop(Native Method) at sun.awt.windows.WToolkit.run(WToolkit.java:306) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - None "AWT-Shutdown" #11 prio=5 os_prio=0 tid=0x16094400 nid=0x2f58 in Object.wait() [0x1646f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:295) - locked <0x0a2520d8> (a java.lang.Object) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - None "Java2D Disposer" #10 daemon prio=10 os_prio=2 tid=0x16093800 nid=0x1d08 in Object.wait() [0x158ff000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) - locked <0x0a1f2810> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) at sun.java2d.Disposer.run(Disposer.java:148) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - None "Monitor Ctrl-Break" #9 daemon prio=5 os_prio=0 tid=0x16003800 nid=0x23b8 runnable [0x1617f000] java.lang.Thread.State: RUNNABLE at java.net.DualStackPlainSocketImpl.accept0(Native Method) at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131) at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199) - locked <0x0a1f2a70> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:545) at java.net.ServerSocket.accept(ServerSocket.java:513) at com.intellij.rt.execution.application.AppMain$1.run(AppMain.java:90) at java.lang.Thread.run(Thread.java:745) Locked ownable synchronizers: - None "Service Thread" #7 daemon prio=9 os_prio=0 tid=0x0292f400 nid=0x7a0 runnable [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "C1 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x02900000 nid=0x2ea8 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x028ff000 nid=0x1568 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x0289e800 nid=0x2040 runnable [0x00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Finalizer" #3 daemon prio=8 os_prio=1 tid=0x02898c00 nid=0x163c in Object.wait() [0x14c4f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) - locked <0x0a1f3330> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209) Locked ownable synchronizers: - None "Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x02897400 nid=0x5b0 in Object.wait() [0x04b7f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157) - locked <0x0a1f34d0> (a java.lang.ref.Reference$Lock) Locked ownable synchronizers: - None "VM Thread" os_prio=2 tid=0x02893c00 nid=0x2f54 runnable "VM Periodic Task Thread" os_prio=2 tid=0x02936000 nid=0x2f20 waiting on condition JNI global references: 3785 On Thu, May 14, 2015 at 11:40 AM, Pedro Duque Vieira < pedro.duquevieira at gmail.com> wrote: > Hi Morris, > > I've tried running with the flags you mention but it all stops producing > text when the application hangs and there's no information remaining which > would tell me why the application hangs. > > I've also tried using the apps you talk about (jstack and visual vm) but I > can't make sense of the information they present. > > The app that hangs is modellus - http://modellus.co/ and the file that > makes it hang is attached (you have to wait a while after opening the file > until the app hangs). > > Can you give me some more help, I'm still not aware of what could cause > this. > > Thanks, best regards, > > Hi Pedro, >> You might want to try setting the flags "quantum.debug", "quantum.pulse" >> and "quantum.verbose" when launching your application. >> Prior to that you might want to try to get a stack trace of the hung >> application using jstack, Visual VM or doing a Ctrl-Break on Windows or >> Control-\ on Mac. >> --mm > > > -- > Pedro Duque Vieira > -- Pedro Duque Vieira From robert.zenz at sibvisions.com Tue May 19 08:39:28 2015 From: robert.zenz at sibvisions.com (Robert Zenz) Date: Tue, 19 May 2015 08:39:28 +0000 Subject: AW: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization In-Reply-To: <20150514204835.024FC62C90@eggemoggin.niobe.net> References: <20150514204835.024FC62C90@eggemoggin.niobe.net> Message-ID: > The intention is to move many JavaFX control skins into the appropriate > public package, most probably javafx.scene.control.skin. There is no > intention to also move the related behavior classes, since these will > be handled separately as part of Project Two below. > > ... > > Project Two: Improve support for input mapping There is a need to have access to the behaviors as well, not only the skins. The skins and behaviors are very tightly coupled, extending a control without extending the behavior is possible but is not intended according to the JEP, it also allows to easily fix bugs which might be encountered. Before I give some examples, I'd like to tell you our exact usecase. We provide an Enterprise Application Framework called JVx, the good thing about is that it provides a "write once, run anywhere" approach by providing a basic UI toolkit that can be ported to all kinds of technologies (Swing, Vaadin and JavaFX being the currently supported ones). This means that we have a fixed set of features that every GUI toolkit that we port to should be able to provide. So you can imagine it as four layers: 1. Our UI toolkit classes. 2. Implementations of the needed interfaces. 3. Extensions of the GUI toolkit. 4. The GUI toolkit itself (f.e. JavaFX or Swing). This approach allows us to transparently fix bugs and add missing features of the GUI toolkit in the extension layer, without the client or user noticing while working with JVx. Enough of that, some examples: * RT-40149, TabPane does misbehave if the last tab is disabled. This was only possible to fix easily at the behavior level. Not having access to the behavior would in this case mean that we would need to fix that at the control level...which means a lot of code for intercepting keys and re-wiring behavior. * Additionally we added the possibility to deactivate the Ctrl+Tab combo on the TabPane, which was very easily and cleanly done in the behavior. * RT-40623/RT-40269, change the values of a Spinner with up/down keys and the mousewheel. Adding this features was done in the behavior. I'm sure that the JFXtras and efxclipse projects have very similar requirements regarding access to the behaviors. There is an additional "problem" in there, most skins have the hardcoded dependency on their behavior counterpart. This makes it nearly impossible to only extend the behavior part of the control. Currently we need to resort to reflection to change the behavior of the skin at runtime to achieve this, which is, as you can imagine, a solution I'd like to get rid of yesterday. Example, you want to change something in the TabPaneBehavior. The control creates the TabPaneSkin with createDefaultSkin(), the skin instantiates the TabPaneBehavior in its constructor. You can extend the control and override createDefaultSkin() to create your own skin. But if you now want to use an extension of the TabPaneBehavior, you have to resort to reflection, because: 1. Not calling the skin constructor is not an option, as there is a lot of setup done there, but it instantiates the behavior it wants directly. 2. Writing your own skin from scratch is possible, but a lot of (duplicate) work. 3. Copy the sourcecode of the skin and behavior and fix it in your project, which is something to stay away from because it creates unnecessary duplication. Also you need to update the copied code with the new versions with every JDK release. Then there's also the license question and so on. 4. Filing a bug/feature request is the correct way of action, however waiting for it to be done (including waiting for a new JDK release/update) might not be viable. A decoupling of the skin and behaviors (for example by providing an additional constructor that does accept the behavior) would further ease the process of extending already existing controls. If I might have misunderstood something about this JEP, or how the control/skin/behavior works, please feel free to correct me. From jonathan.giles at oracle.com Tue May 19 08:50:24 2015 From: jonathan.giles at oracle.com (Jonathan Giles) Date: Tue, 19 May 2015 20:50:24 +1200 Subject: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization In-Reply-To: References: <20150514204835.024FC62C90@eggemoggin.niobe.net> Message-ID: It's late and I'm writing this on my phone, but briefly, I think you've missed the 'project two' section: input maps are how behaviors are now specified, as a collection of inputs that map to some event handling code. All skins do in this environment is install a series of these mappings into the control input map. These are all accessible as public API. The big thing you miss out on is actually having access to the code within these event handlers (wish are all gathered in the behavior class). But you can always replace an input mapping with new code. I can clarify more tomorrow if things are unclear or if you have any further questions. -- Jonathan Sent from a touch device. Please excuse my brevity. On 19 May 2015 20:39:28 GMT+12:00, Robert Zenz wrote: >> The intention is to move many JavaFX control skins into the >appropriate >> public package, most probably javafx.scene.control.skin. There is no >> intention to also move the related behavior classes, since these will >> be handled separately as part of Project Two below. >> >> ... >> >> Project Two: Improve support for input mapping > >There is a need to have access to the behaviors as well, not only the >skins. >The skins and behaviors are very tightly coupled, extending a control >without >extending the behavior is possible but is not intended according to the >JEP, >it also allows to easily fix bugs which might be encountered. > >Before I give some examples, I'd like to tell you our exact usecase. >We provide an Enterprise Application Framework called JVx, the good >thing about >is that it provides a "write once, run anywhere" approach by providing >a basic >UI toolkit that can be ported to all kinds of technologies (Swing, >Vaadin and >JavaFX being the currently supported ones). This means that we have a >fixed set >of features that every GUI toolkit that we port to should be able to >provide. >So you can imagine it as four layers: > >1. Our UI toolkit classes. >2. Implementations of the needed interfaces. >3. Extensions of the GUI toolkit. >4. The GUI toolkit itself (f.e. JavaFX or Swing). > >This approach allows us to transparently fix bugs and add missing >features >of the GUI toolkit in the extension layer, without the client or user >noticing >while working with JVx. > >Enough of that, some examples: > >* RT-40149, TabPane does misbehave if the last tab is disabled. This >was only > possible to fix easily at the behavior level. Not having access to > the behavior would in this case mean that we would need to fix that at >the control level...which means a lot of code for intercepting keys and > re-wiring behavior. >* Additionally we added the possibility to deactivate the Ctrl+Tab >combo on > the TabPane, which was very easily and cleanly done in the behavior. >* RT-40623/RT-40269, change the values of a Spinner with up/down keys >and > the mousewheel. Adding this features was done in the behavior. > >I'm sure that the JFXtras and efxclipse projects have very similar >requirements >regarding access to the behaviors. > >There is an additional "problem" in there, most skins have the >hardcoded >dependency on their behavior counterpart. This makes it nearly >impossible >to only extend the behavior part of the control. Currently we need to >resort >to reflection to change the behavior of the skin at runtime to achieve >this, >which is, as you can imagine, a solution I'd like to get rid of >yesterday. > >Example, you want to change something in the TabPaneBehavior. >The control creates the TabPaneSkin with createDefaultSkin(), the skin >instantiates the TabPaneBehavior in its constructor. You can extend the >control >and override createDefaultSkin() to create your own skin. But if you >now want >to use an extension of the TabPaneBehavior, you have to resort to >reflection, >because: > >1. Not calling the skin constructor is not an option, as there is a lot >of setup done there, but it instantiates the behavior it wants >directly. >2. Writing your own skin from scratch is possible, but a lot of >(duplicate) > work. >3. Copy the sourcecode of the skin and behavior and fix it in your >project, > which is something to stay away from because it creates unnecessary >duplication. Also you need to update the copied code with the new >versions >with every JDK release. Then there's also the license question and so >on. >4. Filing a bug/feature request is the correct way of action, however >waiting >for it to be done (including waiting for a new JDK release/update) >might > not be viable. > >A decoupling of the skin and behaviors (for example by providing an >additional >constructor that does accept the behavior) would further ease the >process >of extending already existing controls. > >If I might have misunderstood something about this JEP, or how >the control/skin/behavior works, please feel free to correct me. From kevin.rushforth at oracle.com Tue May 19 14:59:53 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 19 May 2015 07:59:53 -0700 Subject: Stage hide/show from Swing In-Reply-To: <10DFBFC1-026E-458E-8C24-604B2E9AA5C1@ultramixer.com> References: <8421262C-6FAC-4960-85CA-5415DF0245EC@ultramixer.com> <555A0447.6040603@oracle.com> <10DFBFC1-026E-458E-8C24-604B2E9AA5C1@ultramixer.com> Message-ID: <555B4FE9.6030100@oracle.com> Actually, I was saying that you should call Platform.setImplicitExit(false). This is good practice for Swing interop applications, and is absolutely needed in your case. l Note that this is attribute state so you only need to do it once at the beginning of your application. My other point is that you should not use the internal PlatformImpl class at all. It is not supported now, and will stop working in JDK 9. What you should do instead is this: Platform.setImplicitExit(false); new JFXPanel(); Platform.runLater(() -> { // your code goes here.... }); You don't actually need to do anything with the JFXPanel unless you want to use it to display a JavaFX scene in a Swing component. -- Kevin Matthias H?nel wrote: > Hey Tom and Kevin, > > > thanks for you answers. > > > I see setImplicitExit should be avoided but I don't get it working without. > > I have now a running version with follwing code: > > > public void show() > { > Platform.setImplicitExit(false); > if( invisibleJFXPanel==null ) > { > PlatformImpl.startup(new Runnable() > { > @Override > public void run() > { > invisibleJFXPanel = new JFXPanel(); > invisibleJFXPanel.setSize(100,100); > invisibleJFXPanel.setVisible(true); // this should be invisible in the future > } > }); > } > > PlatformImpl.runLater(new Runnable() > { > @Override > public void run() > { > myStage = new MyStage(); > myStage(); > } > }); > } > > public void hide() > { > Platform.setImplicitExit(false); > if (myStage != null) > { > Platform.runLater(new Runnable() > { > @Override > public void run() > { > myStage.hide(); > } > }); > } > } > > > When I understand Kevin correctly, this code should work without any call to Platform.setImplicitExit(false); > Unfortunately, it does not. > > > regards > Matthias > > > > >> Am 18.05.2015 um 17:24 schrieb Kevin Rushforth : >> >> >> You should call Platform.setImplicitExit(false) to disable the default behavior where the FX toolkit exits when the last Stage is closed. >> >> One more suggestion: >> >> >>> PlatformImpl.startup(new Runnable() >>> >> This is not public API and should be avoided. If you are running a Swing application and want to startup the FX toolkit, you should create a new instance of JFXPanel (even if you don't use it). >> >> >> -- Kevin >> >> >> >> >> Matthias H?nel wrote: >> >>> Hello there, >>> >>> >>> I have a stage that is been called from a Java Swing application. This is not a real problem >>> since I can run follwing code: >>> >>> PlatformImpl.startup(new Runnable() >>> { >>> @Override >>> public void run() >>> { >>> myStage = new myStage(); >>> myStage.show(); >>> } >>> }); >>> >>> >>> That works so far. >>> No I would like to close this stage from the swing application. I can call: >>> >>> Platform.runLater(new Runnable() >>> { >>> @Override >>> public void run() >>> { >>> myStage.hide(); >>> } >>> }); >>> >>> >>> This also works. >>> Since I have a toggle-Button to hide and show the stage from the swing application, I would like >>> to re-show the stage and I would like to know when the stage is showing or not. This seems to be nearly impossible by now. >>> >>> What did I try? >>> >>> 1. I tried to shutdown the javafx entire with com.sun.javafx.tk.Toolkit.getToolkit().exit(); in the hide process. So I expected to use PlatformImpl.startup again. Unfortunately, it did not work. >>> >>> 2. I tried to leave javafx untouched. The second time I only call PlatformImpl.runLater to create a new scene. >>> >>> 3. I tried to run it from the swing thread without Platform.run... ... this failed obviuosly. (I just had no further ideas ;)) >>> >>> Does anyone tried this before? Any advise will be helpful :) >>> >>> >>> >>> Thanks in advance >>> Matthias >>> >>> >>> >>> >>> > > From leif.samuelsson at oracle.com Tue May 19 21:53:48 2015 From: leif.samuelsson at oracle.com (Leif Samuelsson) Date: Tue, 19 May 2015 14:53:48 -0700 Subject: [8u60, 9] Review request: RT-36454: [Modena, TextArea] Vertical scrollbar appears in TextArea and then disappears Message-ID: <555BB0EC.90408@oracle.com> Hi Jonathan, Please review this fix for TextArea. https://javafx-jira.kenai.com/browse/RT-36454 http://cr.openjdk.java.net/~leifs/rt36454/webrev.01/ Thanks, Leif From dalibor.topic at oracle.com Wed May 20 14:34:23 2015 From: dalibor.topic at oracle.com (dalibor topic) Date: Wed, 20 May 2015 16:34:23 +0200 Subject: Off topic: named parameters In-Reply-To: <55551964.4090606@tbee.org> References: <553601C0.2010207@tbee.org> <1430202132.3796.34.camel@galactica> <55551964.4090606@tbee.org> Message-ID: <555C9B6F.7030607@oracle.com> On 14.05.2015 23:53, Tom Eugelink wrote: > But I did expect someone to respond on the handing in of the > JEP, mainly based on quotes like this: "/We use the current JEP Process > to collect, review, sort, and evaluate proposals for enhancements to the > JDK. The ongoing result of this process is the JDK Roadmap, a collection > of feature ideas and other proposals for consideration by JDK Release > Projects and related efforts./" But after your explanation and rereading > the JEP 1 and 2 it seems real life is different from the mental image > that this quote puts in my head. Yeah, JEPs != feature wishlists. General RFEs should go to bugs.java.com. If you read a bit further at http://cr.openjdk.java.net/~mr/jep/jep-2.0-02.html you'll notice that is says "Any Committer to a Project may propose to target a Feature JEP to a release of that Project after documenting a realistic engineering plan." cheers, dalibor topic -- Dalibor Topic | Principal Product Manager Phone: +494089091214 | Mobile: +491737185961 Oracle | K?hneh?fe 5 | 22761 Hamburg Oracle is committed to developing practices and products that help protect the environment From roland.cidar at gmail.com Thu May 21 05:17:15 2015 From: roland.cidar at gmail.com (Roland C) Date: Thu, 21 May 2015 07:17:15 +0200 Subject: Why are style classes stored in a List instead of a Set? Message-ID: I was recently toying around with CSS in JavaFX and noticed that I got the same style multiple times in the style list of my node. Since the order of the styles is defined by the order in the css file and not by the order of the list that getStyleClass() of a node returns, I was wondering if there is a special reason for that. Example: application.css .bg-color-1 { -fx-background-color:red; }.bg-color-2 { -fx-background-color:green;} Main.java public class Main extends Application { @Override public void start(Stage primaryStage) { try { BorderPane root = new BorderPane(); root.getStyleClass().add( "bg-color-1"); root.getStyleClass().add( "bg-color-2"); Scene scene = new Scene(root,400,400); scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); primaryStage.setScene(scene); primaryStage.show(); } catch(Exception e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); }} It doesn't matter if you write root.getStyleClass().add( "bg-color-1"); root.getStyleClass().add( "bg-color-2"); or change the order to root.getStyleClass().add( "bg-color-2"); root.getStyleClass().add( "bg-color-1"); The used style will always be the last in the css file, i. e. "bg-color-2". *Question* Why is a List used instead of a Set? A list is less performing than a Set and it clutters the code if you always have to make a contains-check first. Thank you very much! From tomas.mikula at gmail.com Thu May 21 05:39:50 2015 From: tomas.mikula at gmail.com (Tomas Mikula) Date: Thu, 21 May 2015 01:39:50 -0400 Subject: Why are style classes stored in a List instead of a Set? In-Reply-To: References: Message-ID: Hi Roland, I don't know why it is a List (maybe it is just copying it being a list in the DOM), but it makes sense to me that a style class can be present multiple times (for that matter, a multi-set would work just as well): If I have two places in my code that add and remove the same style class, it makes sense to me the style class being removed after both of them have removed it, not just the first one. Say that I have two different conditions, either of which makes a node "highlighted". When both are true, and then one of them stops being true, I still want the node to stay highlighted. Why do you need to make a contains-check? Tomas On Thu, May 21, 2015 at 1:17 AM, Roland C wrote: > I was recently toying around with CSS in JavaFX and noticed that I got the > same style multiple times in the style list of my node. > > Since the order of the styles is defined by the order in the css file and > not by the order of the list that getStyleClass() of a node returns, I was > wondering if there is a special reason for that. > > Example: > > application.css > > .bg-color-1 { > -fx-background-color:red; }.bg-color-2 { > -fx-background-color:green;} > > Main.java > > public class Main extends Application { > @Override > public void start(Stage primaryStage) { > try { > BorderPane root = new BorderPane(); > > root.getStyleClass().add( "bg-color-1"); > root.getStyleClass().add( "bg-color-2"); > > Scene scene = new Scene(root,400,400); > scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); > primaryStage.setScene(scene); > primaryStage.show(); > } catch(Exception e) { > e.printStackTrace(); > } > } > > public static void main(String[] args) { > launch(args); > }} > > It doesn't matter if you write > > root.getStyleClass().add( "bg-color-1"); > root.getStyleClass().add( "bg-color-2"); > > or change the order to > > root.getStyleClass().add( "bg-color-2"); > root.getStyleClass().add( "bg-color-1"); > > The used style will always be the last in the css file, i. e. "bg-color-2". > > *Question* > > Why is a List used instead of a Set? A list is less performing than a Set > and it clutters the code if you always have to make a contains-check first. > > > Thank you very much! From tom.schindl at bestsolution.at Thu May 21 06:04:55 2015 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Thu, 21 May 2015 08:04:55 +0200 Subject: Why are style classes stored in a List instead of a Set? In-Reply-To: References: Message-ID: <3E6D6FE5-8CBA-4A48-A7B5-501303F45C4A@bestsolution.at> Beside the usecase mentioned by Tomas - the following thread on stackoverflow indicate that it might in some cases make a difference! http://stackoverflow.com/questions/15670631/does-the-order-of-classes-listed-on-an-item-affect-the-css Tom Von meinem iPhone gesendet > Am 21.05.2015 um 07:39 schrieb Tomas Mikula : > > Hi Roland, > > I don't know why it is a List (maybe it is just copying it being a > list in the DOM), but it makes sense to me that a style class can be > present multiple times (for that matter, a multi-set would work just > as well): > > If I have two places in my code that add and remove the same style > class, it makes sense to me the style class being removed after both > of them have removed it, not just the first one. Say that I have two > different conditions, either of which makes a node "highlighted". When > both are true, and then one of them stops being true, I still want the > node to stay highlighted. > > Why do you need to make a contains-check? > > Tomas > >> On Thu, May 21, 2015 at 1:17 AM, Roland C wrote: >> I was recently toying around with CSS in JavaFX and noticed that I got the >> same style multiple times in the style list of my node. >> >> Since the order of the styles is defined by the order in the css file and >> not by the order of the list that getStyleClass() of a node returns, I was >> wondering if there is a special reason for that. >> >> Example: >> >> application.css >> >> .bg-color-1 { >> -fx-background-color:red; }.bg-color-2 { >> -fx-background-color:green;} >> >> Main.java >> >> public class Main extends Application { >> @Override >> public void start(Stage primaryStage) { >> try { >> BorderPane root = new BorderPane(); >> >> root.getStyleClass().add( "bg-color-1"); >> root.getStyleClass().add( "bg-color-2"); >> >> Scene scene = new Scene(root,400,400); >> scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); >> primaryStage.setScene(scene); >> primaryStage.show(); >> } catch(Exception e) { >> e.printStackTrace(); >> } >> } >> >> public static void main(String[] args) { >> launch(args); >> }} >> >> It doesn't matter if you write >> >> root.getStyleClass().add( "bg-color-1"); >> root.getStyleClass().add( "bg-color-2"); >> >> or change the order to >> >> root.getStyleClass().add( "bg-color-2"); >> root.getStyleClass().add( "bg-color-1"); >> >> The used style will always be the last in the css file, i. e. "bg-color-2". >> >> *Question* >> >> Why is a List used instead of a Set? A list is less performing than a Set >> and it clutters the code if you always have to make a contains-check first. >> >> >> Thank you very much! From roland.cidar at gmail.com Thu May 21 07:03:29 2015 From: roland.cidar at gmail.com (Roland C) Date: Thu, 21 May 2015 09:03:29 +0200 Subject: Why are style classes stored in a List instead of a Set? In-Reply-To: <3E6D6FE5-8CBA-4A48-A7B5-501303F45C4A@bestsolution.at> References: <3E6D6FE5-8CBA-4A48-A7B5-501303F45C4A@bestsolution.at> Message-ID: Hello, the problem is that it isn't clear how the mechanism works. A list suggests that there is an order. But there isn't. The only order that is valid is the one of the css file. Took me a while to figure out that it's not a bug in my code as to why the colors are displayed wrong. It was a "feature" of the css mechanism. I noticed it when I created a grid to paint on. Here's an example: http://stackoverflow.com/questions/30117351/how-to-detect-mouse-movement-over-node-while-button-is-pressed In that example I paint the cells by adding a "highlight" style class, I remove the paint by removing the style class. I ended up having 15 "highlight" classes in the list of a node because I painted over it multiple times. Not that it mattered for the display, it just flood-filled the style class list unnecessarily. Roland On Thu, May 21, 2015 at 8:04 AM, Tom Schindl wrote: > Beside the usecase mentioned by Tomas - the following thread on > stackoverflow indicate that it might in some cases make a difference! > > > http://stackoverflow.com/questions/15670631/does-the-order-of-classes-listed-on-an-item-affect-the-css > > Tom > > Von meinem iPhone gesendet > > > Am 21.05.2015 um 07:39 schrieb Tomas Mikula : > > > > Hi Roland, > > > > I don't know why it is a List (maybe it is just copying it being a > > list in the DOM), but it makes sense to me that a style class can be > > present multiple times (for that matter, a multi-set would work just > > as well): > > > > If I have two places in my code that add and remove the same style > > class, it makes sense to me the style class being removed after both > > of them have removed it, not just the first one. Say that I have two > > different conditions, either of which makes a node "highlighted". When > > both are true, and then one of them stops being true, I still want the > > node to stay highlighted. > > > > Why do you need to make a contains-check? > > > > Tomas > > > >> On Thu, May 21, 2015 at 1:17 AM, Roland C > wrote: > >> I was recently toying around with CSS in JavaFX and noticed that I got > the > >> same style multiple times in the style list of my node. > >> > >> Since the order of the styles is defined by the order in the css file > and > >> not by the order of the list that getStyleClass() of a node returns, I > was > >> wondering if there is a special reason for that. > >> > >> Example: > >> > >> application.css > >> > >> .bg-color-1 { > >> -fx-background-color:red; }.bg-color-2 { > >> -fx-background-color:green;} > >> > >> Main.java > >> > >> public class Main extends Application { > >> @Override > >> public void start(Stage primaryStage) { > >> try { > >> BorderPane root = new BorderPane(); > >> > >> root.getStyleClass().add( "bg-color-1"); > >> root.getStyleClass().add( "bg-color-2"); > >> > >> Scene scene = new Scene(root,400,400); > >> > scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); > >> primaryStage.setScene(scene); > >> primaryStage.show(); > >> } catch(Exception e) { > >> e.printStackTrace(); > >> } > >> } > >> > >> public static void main(String[] args) { > >> launch(args); > >> }} > >> > >> It doesn't matter if you write > >> > >> root.getStyleClass().add( "bg-color-1"); > >> root.getStyleClass().add( "bg-color-2"); > >> > >> or change the order to > >> > >> root.getStyleClass().add( "bg-color-2"); > >> root.getStyleClass().add( "bg-color-1"); > >> > >> The used style will always be the last in the css file, i. e. > "bg-color-2". > >> > >> *Question* > >> > >> Why is a List used instead of a Set? A list is less performing than a > Set > >> and it clutters the code if you always have to make a contains-check > first. > >> > >> > >> Thank you very much! > From tom.schindl at bestsolution.at Thu May 21 07:34:09 2015 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Thu, 21 May 2015 09:34:09 +0200 Subject: Why are style classes stored in a List instead of a Set? In-Reply-To: References: <3E6D6FE5-8CBA-4A48-A7B5-501303F45C4A@bestsolution.at> Message-ID: <555D8A71.3000505@bestsolution.at> On 21.05.15 09:03, Roland C wrote: > Hello, > > the problem is that it isn't clear how the mechanism works. A list > suggests that there is an order. But there isn't. The only order that is And I repeat order might make a difference if you use selectors who depend on order (although those selectors might not be implemented in JavaFX yet) beside that if HTML treats them as a List JavaFX should as well because who knows if in a future version of CSS/HTML the order gets important you'll have a big problem in JavaFX because you presented a Set in your interface and hence you'd have to break the API. Tom -- Thomas Schindl, CTO BestSolution.at EDV Systemhaus GmbH Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck http://www.bestsolution.at/ Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck From david.grieve at oracle.com Thu May 21 14:14:58 2015 From: david.grieve at oracle.com (David Grieve) Date: Thu, 21 May 2015 10:14:58 -0400 Subject: Why are style classes stored in a List instead of a Set? In-Reply-To: References: Message-ID: <555DE862.5010601@oracle.com> The bottom line answer is poor design of the API. There has been discussion about how to handle this, such as having a List implementation that rejects duplicates (but that would break the List contract), or adding new API. You might be interested to know that, on the CSS implementation side, this List is turned into a Set. On 5/21/15 1:17 AM, Roland C wrote: > I was recently toying around with CSS in JavaFX and noticed that I got the > same style multiple times in the style list of my node. > > Since the order of the styles is defined by the order in the css file and > not by the order of the list that getStyleClass() of a node returns, I was > wondering if there is a special reason for that. > > Example: > > application.css > > .bg-color-1 { > -fx-background-color:red; }.bg-color-2 { > -fx-background-color:green;} > > Main.java > > public class Main extends Application { > @Override > public void start(Stage primaryStage) { > try { > BorderPane root = new BorderPane(); > > root.getStyleClass().add( "bg-color-1"); > root.getStyleClass().add( "bg-color-2"); > > Scene scene = new Scene(root,400,400); > scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); > primaryStage.setScene(scene); > primaryStage.show(); > } catch(Exception e) { > e.printStackTrace(); > } > } > > public static void main(String[] args) { > launch(args); > }} > > It doesn't matter if you write > > root.getStyleClass().add( "bg-color-1"); > root.getStyleClass().add( "bg-color-2"); > > or change the order to > > root.getStyleClass().add( "bg-color-2"); > root.getStyleClass().add( "bg-color-1"); > > The used style will always be the last in the css file, i. e. "bg-color-2". > > *Question* > > Why is a List used instead of a Set? A list is less performing than a Set > and it clutters the code if you always have to make a contains-check first. > > > Thank you very much! From kevin.rushforth at oracle.com Thu May 21 23:00:25 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 21 May 2015 16:00:25 -0700 Subject: JavaFX JIRA issues moving to JBS on June 5 Message-ID: <555E6389.30008@oracle.com> As previously announced [1] we are in the process of migrating JavaFX bugs to the JDK Bug System (JBS) [2] in the JDK project. The target date for this migration is Friday, June 5. The existing JavaFX bug tracker will become permanently read-only on that date, and will be decommissioned some time after the transition is complete. After javafx-jira.kenai.com is retired, we will explore the feasibility of setting up an automatic redirect to bugs.openjdk.java.net so that existing URLs will work. In any case, typing in an old RT-nnnnn number into JBS will open the bug even after it is mapped into the JDK project. -- Kevin [1] http://mail.openjdk.java.net/pipermail/openjfx-dev/2015-April/017083.html [2] https://bugs.openjdk.java.net/ From krueger at lesspain.de Fri May 22 05:05:00 2015 From: krueger at lesspain.de (=?UTF-8?Q?Robert_Kr=C3=BCger?=) Date: Fri, 22 May 2015 07:05:00 +0200 Subject: JavaFX JIRA issues moving to JBS on June 5 In-Reply-To: <555E6389.30008@oracle.com> References: <555E6389.30008@oracle.com> Message-ID: Has any progress been made regarding the issues raised by a number of people (mainly bug report contributors and followers), i.e. are policy changes regarding JBS accounts or new types of JBS accounts for that purpose something that is likely? Is anyone in the JFX team lobbying for this? On Fri, May 22, 2015 at 1:00 AM, Kevin Rushforth wrote: > As previously announced [1] we are in the process of migrating JavaFX bugs > to the JDK Bug System (JBS) [2] in the JDK project. > > The target date for this migration is Friday, June 5. The existing JavaFX > bug tracker will become permanently read-only on that date, and will be > decommissioned some time after the transition is complete. After > javafx-jira.kenai.com is retired, we will explore the feasibility of > setting up an automatic redirect to bugs.openjdk.java.net so that > existing URLs will work. In any case, typing in an old RT-nnnnn number into > JBS will open the bug even after it is mapped into the JDK project. > > -- Kevin > > [1] > http://mail.openjdk.java.net/pipermail/openjfx-dev/2015-April/017083.html > [2] https://bugs.openjdk.java.net/ > > -- Robert Kr?ger Managing Partner Lesspain GmbH & Co. KG www.lesspain-software.com From rafaljfx at gmail.com Fri May 22 10:25:42 2015 From: rafaljfx at gmail.com (Rafal Leibzig) Date: Fri, 22 May 2015 12:25:42 +0200 Subject: MediaPlayer - Out of sync video & audio when playing from slow medium Message-ID: Hi, my friends use MediaPlayer in their javafx application to play videos (mp4, 50fps) from DVD. They have noticed out of sync video/audio in such case. Problem doesn't exist when file is loaded from HDD. I know that it is because of slow medium like DVD (or poor quality DVD disc / bad recording) My question is what to do in such cases? My PoC was proxing static files by HttpServer (bundled in JRE) by path: " http://localhost/video.mp4". It worked for me, media player plays video correctly with buffering, but this solution has disadventeges: - more CPU - problems with seeking video - complexity Any other suggestions? From krueger at lesspain.de Fri May 22 10:55:48 2015 From: krueger at lesspain.de (=?UTF-8?Q?Robert_Kr=C3=BCger?=) Date: Fri, 22 May 2015 12:55:48 +0200 Subject: MediaPlayer - Out of sync video & audio when playing from slow medium In-Reply-To: References: Message-ID: Well, technically a slow connection should not cause A/V desync. If it does, I would suspect there is a bug in MediaPlayer. Syncronization should happen based on media timestamps not based on the time the individual packets come in. So, if you have a more or less reproducible case, file a bug report. My 2c. Cheers, Robert On Fri, May 22, 2015 at 12:25 PM, Rafal Leibzig wrote: > Hi, my friends use MediaPlayer in their javafx application to play videos > (mp4, 50fps) from DVD. > They have noticed out of sync video/audio in such case. > Problem doesn't exist when file is loaded from HDD. > I know that it is because of slow medium like DVD (or poor quality DVD disc > / bad recording) > > My question is what to do in such cases? > > My PoC was proxing static files by HttpServer (bundled in JRE) by path: " > http://localhost/video.mp4". > It worked for me, media player plays video correctly with buffering, but > this solution has disadventeges: > - more CPU > - problems with seeking video > - complexity > > > Any other suggestions? > -- Robert Kr?ger Managing Partner Lesspain GmbH & Co. KG www.lesspain-software.com From vadim.pakhnushev at oracle.com Fri May 22 21:31:19 2015 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Sat, 23 May 2015 00:31:19 +0300 Subject: In(Sanity) Testing Mondays Message-ID: <555FA027.7010601@oracle.com> Reminder, Monday is our weekly sanity testing. You can find your testing assignment at: https://wiki.openjdk.java.net/display/OpenJFX/Sanity+Testing Also please remember that the repo will be locked from 1am PDT until 1pm PDT. Happy testing! Thanks, Vadim From kevin.rushforth at oracle.com Fri May 22 21:36:13 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 22 May 2015 14:36:13 -0700 Subject: In(Sanity) Testing Mondays In-Reply-To: <555FA027.7010601@oracle.com> References: <555FA027.7010601@oracle.com> Message-ID: <555FA14D.3000405@oracle.com> Note that Monday, May 25 is a holiday in the US, so testing is likely to be a bit light this week. Since I will be offline, consider the repo to be "automatically" open at 1pm PDT on Monday (don't wait for a message from me that day...it will be a long wait). -- Kevin Vadim Pakhnushev wrote: > Reminder, Monday is our weekly sanity testing. > > You can find your testing assignment at: > > https://wiki.openjdk.java.net/display/OpenJFX/Sanity+Testing > > Also please remember that the repo will be locked from 1am PDT until > 1pm PDT. > > Happy testing! > > Thanks, > Vadim From swpalmer at gmail.com Sun May 24 14:56:24 2015 From: swpalmer at gmail.com (Scott Palmer) Date: Sun, 24 May 2015 10:56:24 -0400 Subject: Building Scene Builder Message-ID: Where can I find the instructions for building Scene Builder from source? I ran Ant in the apps/scenebuilder folder and it produced SceneBuilderApp.jar in the 'SceneBuilderApp/dist' folder. But where's the rest of it? It looks like the javapackager part does run automatically, so I don't have a native executable with a nice icon and all those finishing touches that make it a "real" app. I did notice the build output print a "jfx-deployment:" step, but I guess that is something else. I haven't used Ant in years, so I'm a little rusty. I was actually surprised that there wasn't a Gradle script in the apps/SceneBuilder folder. I thought perhaps the apps are just using the default NetBeans project format. I then noticed when loading the project in NetBeans that I didn't get the little "FX" decal on the coffee cup icon, so it isn't a NetBean "JavaFX" project. In the deployment section of the NetBeans project properties the "Enable Native Packaging" option is not selected. So where does the native packaging happen? I took a look on the wiki but I didn't find anything to do with building Scene Builder. Regards, Scott From johan at lodgon.com Sun May 24 16:05:04 2015 From: johan at lodgon.com (Johan Vos) Date: Sun, 24 May 2015 18:05:04 +0200 Subject: Building Scene Builder In-Reply-To: References: Message-ID: Hi Scott, You can build SceneBuilder from the sources on bitbucket. hg clone https://bitbucket.org/gluon-oss/scenebuilder ./gradlew build Resulting binary is in build/libs (note: This is the Gluon Open-Source edition, using the same sources as those in OpenJFX). - Johan 2015-05-24 16:56 GMT+02:00 Scott Palmer : > Where can I find the instructions for building Scene Builder from source? > > > I ran Ant in the apps/scenebuilder folder and it produced > SceneBuilderApp.jar in the 'SceneBuilderApp/dist' folder. But where's the > rest of it? It looks like the javapackager part does run automatically, so > I don't have a native executable with a nice icon and all those finishing > touches that make it a "real" app. > > I did notice the build output print a "jfx-deployment:" step, but I guess > that is something else. I haven't used Ant in years, so I'm a little > rusty. I was actually surprised that there wasn't a Gradle script in the > apps/SceneBuilder folder. I thought perhaps the apps are just using the > default NetBeans project format. I then noticed when loading the project > in NetBeans that I didn't get the little "FX" decal on the coffee cup icon, > so it isn't a NetBean "JavaFX" project. > > In the deployment section of the NetBeans project properties the "Enable > Native Packaging" option is not selected. So where does the native > packaging happen? > > I took a look on the wiki but I didn't find anything to do with building > Scene Builder. > > Regards, > > Scott From swpalmer at gmail.com Mon May 25 15:30:23 2015 From: swpalmer at gmail.com (Scott Palmer) Date: Mon, 25 May 2015 11:30:23 -0400 Subject: Integrated vs. Discrete Graphics on OS X Message-ID: I've noticed that it is not possible to run a Java GUI app (Swing or JavaFX) on a MacBook Pro without it activating the discrete graphics and therefore reducing battery life. I believe it is automatically triggered by the use of OpenGL. Unless you explicitly code for the integrated adapter, I don't think you can use OpenGL without the discrete adapter kicking in. It would be nice if packaged app bundles done with the javapackager had an entry in the Info.plist that would signal that the application does not require the discrete adapter. This appears to already be filed as a JDK bug at https://bugs.openjdk.java.net/browse/JDK-8041900 but it doesn't look like it is getting much attention. Is it likely to be addressed for 9 or an 8uX release? Regards, Scott From mike at plan99.net Mon May 25 16:03:45 2015 From: mike at plan99.net (Mike Hearn) Date: Mon, 25 May 2015 18:03:45 +0200 Subject: Integrated vs. Discrete Graphics on OS X In-Reply-To: References: Message-ID: I believe the tricky part is not setting the magic flag in your Info.plist file but rather handling the GL context changes on the fly. It requires/would require some code in the Mac GL specific part of JavaFX. Otherwise if you force it to integrated then some other app causes a switch to discrete, the app might die because its GL surface just vanished. On Mon, May 25, 2015 at 5:30 PM, Scott Palmer wrote: > I've noticed that it is not possible to run a Java GUI app (Swing or > JavaFX) on a MacBook Pro without it activating the discrete graphics and > therefore reducing battery life. > > I believe it is automatically triggered by the use of OpenGL. Unless you > explicitly code for the integrated adapter, I don't think you can use > OpenGL without the discrete adapter kicking in. It would be nice if > packaged app bundles done with the javapackager had an entry in the > Info.plist that would signal that the application does not require the > discrete adapter. > > This appears to already be filed as a JDK bug at > https://bugs.openjdk.java.net/browse/JDK-8041900 but it doesn't look like > it is getting much attention. Is it likely to be addressed for 9 or an 8uX > release? > > > Regards, > > Scott > From swpalmer at gmail.com Mon May 25 18:03:23 2015 From: swpalmer at gmail.com (Scott Palmer) Date: Mon, 25 May 2015 14:03:23 -0400 Subject: Integrated vs. Discrete Graphics on OS X In-Reply-To: References: Message-ID: Yes, I appreciate that the "magic flag" in the Info.plist would just be a signal to do something tricky. I tried setting -Dprism.order=sw in the Info.plist, thinking that would trick things into not requiring the discrete GPU, but all that happened when I did that was that I ended up with a pixel-doubled window instead of nice crisp retina graphics. It still activated the discrete GPU. Scott On Mon, May 25, 2015 at 12:03 PM, Mike Hearn wrote: > I believe the tricky part is not setting the magic flag in your Info.plist > file but rather handling the GL context changes on the fly. It > requires/would require some code in the Mac GL specific part of JavaFX. > Otherwise if you force it to integrated then some other app causes a switch > to discrete, the app might die because its GL surface just vanished. > > On Mon, May 25, 2015 at 5:30 PM, Scott Palmer wrote: > >> I've noticed that it is not possible to run a Java GUI app (Swing or >> JavaFX) on a MacBook Pro without it activating the discrete graphics and >> therefore reducing battery life. >> >> I believe it is automatically triggered by the use of OpenGL. Unless you >> explicitly code for the integrated adapter, I don't think you can use >> OpenGL without the discrete adapter kicking in. It would be nice if >> packaged app bundles done with the javapackager had an entry in the >> Info.plist that would signal that the application does not require the >> discrete adapter. >> >> This appears to already be filed as a JDK bug at >> https://bugs.openjdk.java.net/browse/JDK-8041900 but it doesn't look like >> it is getting much attention. Is it likely to be addressed for 9 or an >> 8uX >> release? >> >> >> Regards, >> >> Scott >> > > From james.graham at oracle.com Mon May 25 19:33:54 2015 From: james.graham at oracle.com (Jim Graham) Date: Mon, 25 May 2015 12:33:54 -0700 Subject: Integrated vs. Discrete Graphics on OS X In-Reply-To: References: Message-ID: <55637922.2040808@oracle.com> I'm not an expert on how to use OpenGL on Mac to avoid the discrete grahpics, but I do know that the retina support in the SW pipeline on the Mac should be addressed soon in 8u60 as a result of fixing RT-27960. The fix has been pushed to 8u-dev (and 9-dev) and is awaiting a sync into the master repo... ...jim On 5/25/2015 11:03 AM, Scott Palmer wrote: > Yes, I appreciate that the "magic flag" in the Info.plist would just be a > signal to do something tricky. > I tried setting -Dprism.order=sw in the Info.plist, thinking that would > trick things into not requiring the discrete GPU, but all that happened > when I did that was that I ended up with a pixel-doubled window instead of > nice crisp retina graphics. It still activated the discrete GPU. > > Scott > > > On Mon, May 25, 2015 at 12:03 PM, Mike Hearn wrote: > >> I believe the tricky part is not setting the magic flag in your Info.plist >> file but rather handling the GL context changes on the fly. It >> requires/would require some code in the Mac GL specific part of JavaFX. >> Otherwise if you force it to integrated then some other app causes a switch >> to discrete, the app might die because its GL surface just vanished. >> >> On Mon, May 25, 2015 at 5:30 PM, Scott Palmer wrote: >> >>> I've noticed that it is not possible to run a Java GUI app (Swing or >>> JavaFX) on a MacBook Pro without it activating the discrete graphics and >>> therefore reducing battery life. >>> >>> I believe it is automatically triggered by the use of OpenGL. Unless you >>> explicitly code for the integrated adapter, I don't think you can use >>> OpenGL without the discrete adapter kicking in. It would be nice if >>> packaged app bundles done with the javapackager had an entry in the >>> Info.plist that would signal that the application does not require the >>> discrete adapter. >>> >>> This appears to already be filed as a JDK bug at >>> https://bugs.openjdk.java.net/browse/JDK-8041900 but it doesn't look like >>> it is getting much attention. Is it likely to be addressed for 9 or an >>> 8uX >>> release? >>> >>> >>> Regards, >>> >>> Scott >>> >> >> From Sergey.Bylokhov at oracle.com Mon May 25 19:40:02 2015 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Mon, 25 May 2015 22:40:02 +0300 Subject: Integrated vs. Discrete Graphics on OS X In-Reply-To: References: Message-ID: <55637A92.3070103@oracle.com> As a temporary solution you can use gxfCardStatus and block automatic activation of discrete GPU. When I was looking to this area last time(on the jdk side), I found that the simple CAOpenGLLayer application activate discrete GPU also, and we have no ability to change that. Probably something changed since then. On 25.05.15 21:03, Scott Palmer wrote: > Yes, I appreciate that the "magic flag" in the Info.plist would just be a > signal to do something tricky. > I tried setting -Dprism.order=sw in the Info.plist, thinking that would > trick things into not requiring the discrete GPU, but all that happened > when I did that was that I ended up with a pixel-doubled window instead of > nice crisp retina graphics. It still activated the discrete GPU. > > Scott > > > On Mon, May 25, 2015 at 12:03 PM, Mike Hearn wrote: > >> I believe the tricky part is not setting the magic flag in your Info.plist >> file but rather handling the GL context changes on the fly. It >> requires/would require some code in the Mac GL specific part of JavaFX. >> Otherwise if you force it to integrated then some other app causes a switch >> to discrete, the app might die because its GL surface just vanished. >> >> On Mon, May 25, 2015 at 5:30 PM, Scott Palmer wrote: >> >>> I've noticed that it is not possible to run a Java GUI app (Swing or >>> JavaFX) on a MacBook Pro without it activating the discrete graphics and >>> therefore reducing battery life. >>> >>> I believe it is automatically triggered by the use of OpenGL. Unless you >>> explicitly code for the integrated adapter, I don't think you can use >>> OpenGL without the discrete adapter kicking in. It would be nice if >>> packaged app bundles done with the javapackager had an entry in the >>> Info.plist that would signal that the application does not require the >>> discrete adapter. >>> >>> This appears to already be filed as a JDK bug at >>> https://bugs.openjdk.java.net/browse/JDK-8041900 but it doesn't look like >>> it is getting much attention. Is it likely to be addressed for 9 or an >>> 8uX >>> release? >>> >>> >>> Regards, >>> >>> Scott >>> >> -- Best regards, Sergey. From ooo_saturn7 at mail.ru Tue May 26 05:37:15 2015 From: ooo_saturn7 at mail.ru (=?UTF-8?B?0JDQu9C10LrRgdCw0L3QtNGAINCh0LLQuNGA0LjQtNC+0LI=?=) Date: Tue, 26 May 2015 08:37:15 +0300 Subject: =?UTF-8?B?U3RhZ2VTdHlsZS5VVElMSVRZIGRvZXNuJ3QgYWx3YXlzIHdvcmsgd2l0aCBz?= =?UTF-8?B?dGFnZS5zZXRBbHdheXNPblRvcCh0cnVlKQ==?= Message-ID: <1432618635.660805484@f261.i.mail.ru> I have application which consits only of one stage: stage.initStyle(StageStyle.UTILITY); stage.setAlwaysOnTop(true); And I use oracle java 1.8.60 And I start my application 5 times. 2 times the window is on top of others. 3 times it's not of top of others. There is a bug in javafx. My OS - centos 7.1 -- ????????? ???????? From haenel at ultramixer.com Tue May 26 09:21:43 2015 From: haenel at ultramixer.com (=?iso-8859-1?Q?Matthias_H=E4nel?=) Date: Tue, 26 May 2015 11:21:43 +0200 Subject: Stage hide/show from Swing In-Reply-To: <555B4FE9.6030100@oracle.com> References: <8421262C-6FAC-4960-85CA-5415DF0245EC@ultramixer.com> <555A0447.6040603@oracle.com> <10DFBFC1-026E-458E-8C24-604B2E9AA5C1@ultramixer.com> <555B4FE9.6030100@oracle.com> Message-ID: Thanks Kevin, I did it like that :) Matthias > Am 19.05.2015 um 16:59 schrieb Kevin Rushforth : > > Actually, I was saying that you should call Platform.setImplicitExit(false). This is good practice for Swing interop applications, and is absolutely needed in your case. l Note that this is attribute state so you only need to do it once at the beginning of your application. > > My other point is that you should not use the internal PlatformImpl class at all. It is not supported now, and will stop working in JDK 9. What you should do instead is this: > > Platform.setImplicitExit(false); > new JFXPanel(); > Platform.runLater(() -> { > // your code goes here.... > }); > > You don't actually need to do anything with the JFXPanel unless you want to use it to display a JavaFX scene in a Swing component. > > -- Kevin > > > Matthias H?nel wrote: >> Hey Tom and Kevin, >> >> >> thanks for you answers. >> >> >> I see setImplicitExit should be avoided but I don't get it working without. >> >> I have now a running version with follwing code: >> >> >> public void show() >> { >> Platform.setImplicitExit(false); >> if( invisibleJFXPanel==null ) >> { >> PlatformImpl.startup(new Runnable() >> { >> @Override >> public void run() >> { >> invisibleJFXPanel = new JFXPanel(); >> invisibleJFXPanel.setSize(100,100); >> invisibleJFXPanel.setVisible(true); // this should be invisible in the future >> } >> }); >> } >> >> PlatformImpl.runLater(new Runnable() >> { >> @Override >> public void run() >> { >> myStage = new MyStage(); >> myStage(); >> } >> }); >> } >> >> public void hide() >> { >> Platform.setImplicitExit(false); >> if (myStage != null) >> { >> Platform.runLater(new Runnable() >> { >> @Override >> public void run() >> { >> myStage.hide(); >> } >> }); >> } >> } >> >> >> When I understand Kevin correctly, this code should work without any call to Platform.setImplicitExit(false); >> Unfortunately, it does not. >> >> >> regards >> Matthias >> >> >> >> >> >>> Am 18.05.2015 um 17:24 schrieb Kevin Rushforth >>> : >>> >>> >>> You should call Platform.setImplicitExit(false) to disable the default behavior where the FX toolkit exits when the last Stage is closed. >>> >>> One more suggestion: >>> >>> >>> >>>> PlatformImpl.startup(new Runnable() >>>> >>>> >>> This is not public API and should be avoided. If you are running a Swing application and want to startup the FX toolkit, you should create a new instance of JFXPanel (even if you don't use it). >>> >>> >>> -- Kevin >>> >>> >>> >>> >>> Matthias H?nel wrote: >>> >>> >>>> Hello there, >>>> >>>> >>>> I have a stage that is been called from a Java Swing application. This is not a real problem >>>> since I can run follwing code: >>>> >>>> PlatformImpl.startup(new Runnable() >>>> { >>>> @Override >>>> public void run() >>>> { >>>> myStage = new myStage(); >>>> myStage.show(); >>>> } >>>> }); >>>> >>>> >>>> That works so far. >>>> No I would like to close this stage from the swing application. I can call: >>>> >>>> Platform.runLater(new Runnable() >>>> { >>>> @Override >>>> public void run() >>>> { >>>> myStage.hide(); >>>> } >>>> }); >>>> >>>> >>>> This also works. >>>> Since I have a toggle-Button to hide and show the stage from the swing application, I would like >>>> to re-show the stage and I would like to know when the stage is showing or not. This seems to be nearly impossible by now. >>>> >>>> What did I try? >>>> >>>> 1. I tried to shutdown the javafx entire with com.sun.javafx.tk.Toolkit.getToolkit().exit(); in the hide process. So I expected to use PlatformImpl.startup again. Unfortunately, it did not work. >>>> >>>> 2. I tried to leave javafx untouched. The second time I only call PlatformImpl.runLater to create a new scene. >>>> >>>> 3. I tried to run it from the swing thread without Platform.run... ... this failed obviuosly. (I just had no further ideas ;)) >>>> >>>> Does anyone tried this before? Any advise will be helpful :) >>>> >>>> >>>> >>>> Thanks in advance >>>> Matthias >>>> >>>> >>>> >>>> >>>> >>>> >> >> >> From mike at plan99.net Tue May 26 11:36:48 2015 From: mike at plan99.net (Mike Hearn) Date: Tue, 26 May 2015 13:36:48 +0200 Subject: Integrated vs. Discrete Graphics on OS X In-Reply-To: <55637922.2040808@oracle.com> References: <55637922.2040808@oracle.com> Message-ID: The relevant Apple dev doc is here: https://developer.apple.com/library/mac/technotes/tn2229/_index.html Essentially it involves setting flags on the GL pixel format. Then you can receive a callback from the OS either via NSOpenGLView or an old C style callback which tells you that the active GPU has changed. I haven't read the JFX Mac GL code so I don't know what APIs it's using. In the callback you are meant to re-query GL capabilities and redraw, I think. There's also some extra work required if you use pbuffers or GL textures instead of framebuffer objects. I don't know which JFX uses. From vadim.pakhnushev at oracle.com Tue May 26 13:04:53 2015 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Tue, 26 May 2015 16:04:53 +0300 Subject: [8u60, 9] Review request for RT-46083: TimelineClipCore exceptions handling improvent Message-ID: <55646F75.9070707@oracle.com> Jim, Kevin, Please review the fix: https://javafx-jira.kenai.com/browse/RT-46083 http://cr.openjdk.java.net/~vadim/RT-46083/webrev.00/ Thanks, Vadim From David.Hill at Oracle.com Tue May 26 17:48:25 2015 From: David.Hill at Oracle.com (David Hill) Date: Tue, 26 May 2015 13:48:25 -0400 Subject: review requested for Touch issue Message-ID: <5564B1E9.50507@Oracle.com> Kevin, and anyone else that wants to dive into glass native code. Jira: https://javafx-jira.kenai.com/browse/RT-34275 webrev: http://cr.openjdk.java.net/~ddhill/RT-34275/ proposed for 8u60 this little beastie took me way to long to come up with a "simple" isolated fix. And my last bug was a debugging statement that I would only very, very occasionally hit. There are quite a few issues that this fix addresses: * MOVE without a PRESS * touch points that disappear without a UP * windows breaks touch events over the visible windows (which we cannot support) * we need to clear out touch points when a popup goes away. The above fix works quite well (was not able to get the failure case in 5 minutes of semi-random tapping), and hopefully will handle the other reported touch screens out there. The code was adapted from principles in Monocle which has seem many more touchscreens and their "features". -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From vadim.pakhnushev at oracle.com Tue May 26 17:55:36 2015 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Tue, 26 May 2015 20:55:36 +0300 Subject: [8u60, 9] Review request for RT-46086: StackedAreaChart doesn't fade out removed series Message-ID: <5564B398.2090304@oracle.com> Jonathan, Please review the fix: https://javafx-jira.kenai.com/browse/RT-46086 http://cr.openjdk.java.net/~vadim/RT-46086/webrev.00/ Thanks, Vadim From kevin.rushforth at oracle.com Tue May 26 22:09:33 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 26 May 2015 15:09:33 -0700 Subject: IMPORTANT: 8u60 rampdown schedule Message-ID: <5564EF1D.3050308@oracle.com> As we approach ZBB (Zero Bug Bounce) for 8u60 I wanted to outline the rampdown procedure we will be following. The expectation for any Java release is that all bugs should be fixed by ZBB; only regressions or other critical issues should be fixed after ZBB. Starting with Rampdown Phase 2 (RDP2) the JDK release-team must approve all bugs fixes (only critical regressions and release stoppers). With that in mind, here is the policy for changesets going into 8u-dev over the next few weeks: Mon, May 25 through Sun, Jun 14 -- standard code review policies in effect * Bug fixes are subject to the usual code review policies (pre-commit or post-commit review as appropriate); since we are already past RDP1 the focus should be on regressions and P1-P3 bugs. ZBB code freeze is Mon, Jun 15 @ 1am PDT Mon, Jun 15 through Sun, Jun 21 -- regressions and critical bugs only, pre-commit review required * All bug fixes require a pre-commit review; an exception is made for changesets that do not touch shipping code, such as fixes to unit tests and non-shipping examples/toys * Changes should go to 9-dev first (which may be done with either a pre-commit or post-commit review) and then backported to 8u-dev for 8u60 with a pre-commit review. Mon, Jun 22 through Sun, Jun 28 -- regressions and critical bugs only, tech lead approval required * All bug fixes require a pre-commit review and also a "+1" from the tech lead; an exception is made for changesets that do not touch shipping code, such as fixes to unit tests and non-shipping examples/toys * Changes should go to 9-dev first (which may be done with either a pre-commit or post-commit review) and then backported to 8u-dev for 8u60 with a pre-commit review and approval. RDP2 code freeze is Mon, Jun 29 @ 1am PDT * We will fork the 8u60 stabilization repo at this point * No further changes will be accepted for 8u60 without JDK release team approval This is also summarized on the OpenJFX 8u60 project page: https://wiki.openjdk.java.net/display/OpenJFX/8u60 Let me know if you have any questions regarding this. -- Kevin From peter.penzov at gmail.com Wed May 27 09:56:59 2015 From: peter.penzov at gmail.com (Peter Penzov) Date: Wed, 27 May 2015 12:56:59 +0300 Subject: NPE is JavaFX Task Message-ID: Hi All, I have a question about a issue that I have with JavaFX Task. I'm using the code from this example to display progress bar in TabPane when I click on TreeView Node: http://stackoverflow.com/questions/22803845/loading-logic-for-javafx-task For some reason when I click multiple times on the node I get this exception: Exception in thread "JavaFX Application Thread" java.lang.NullPointerException at com.sun.javafx.css.StyleManager.findMatchingStyles(Unknown Source) at javafx.scene.CssStyleHelper.createStyleHelper(Unknown Source) at javafx.scene.Node.reapplyCss(Unknown Source) at javafx.scene.Node.impl_reapplyCSS(Unknown Source) at javafx.scene.Node.invalidatedScenes(Unknown Source) at javafx.scene.Node.setScenes(Unknown Source) at javafx.scene.Parent$1.onChanged(Unknown Source) at com.sun.javafx.collections.TrackableObservableList.lambda$new$19(Unknown Source) at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(Unknown Sourc e) at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(Unknown Source) at javafx.collections.ObservableListBase.fireChange(Unknown Source) at javafx.collections.ListChangeBuilder.commit(Unknown Source) at javafx.collections.ListChangeBuilder.endChange(Unknown Source) at javafx.collections.ObservableListBase.endChange(Unknown Source) at javafx.collections.ModifiableObservableListBase.add(Unknown Source) at java.util.AbstractList.add(Unknown Source) at com.sun.javafx.collections.VetoableListDecorator.add(Unknown Source) at com.sun.javafx.scene.control.skin.ProgressIndicatorSkin$IndeterminateSpinner.rebuild(Unkn own Source) at com.sun.javafx.scene.control.skin.ProgressIndicatorSkin$IndeterminateSpinner.access$400(U nknown Source) at com.sun.javafx.scene.control.skin.ProgressIndicatorSkin$2.invalidated(Unknown Source) at javafx.beans.property.IntegerPropertyBase.markInvalid(Unknown Source) at javafx.beans.property.IntegerPropertyBase.set(Unknown Source) at javafx.css.StyleableIntegerProperty.set(Unknown Source) at javafx.beans.property.IntegerProperty.setValue(Unknown Source) at javafx.css.StyleableIntegerProperty.applyStyle(Unknown Source) at javafx.css.StyleableIntegerProperty.applyStyle(Unknown Source) at javafx.scene.CssStyleHelper.transitionToState(Unknown Source) at javafx.scene.Node.impl_processCSS(Unknown Source) at javafx.scene.Parent.impl_processCSS(Unknown Source) at javafx.scene.control.Control.impl_processCSS(Unknown Source) at javafx.scene.Parent.impl_processCSS(Unknown Source) at javafx.scene.Parent.impl_processCSS(Unknown Source) at javafx.scene.Node.processCSS(Unknown Source) at javafx.scene.Node.processCSS(Unknown Source) at javafx.scene.Node.processCSS(Unknown Source) at javafx.scene.Node.processCSS(Unknown Source) at javafx.scene.Node.processCSS(Unknown Source) at javafx.scene.Node.processCSS(Unknown Source) at javafx.scene.Scene.doCSSPass(Unknown Source) at javafx.scene.Scene.access$3600(Unknown Source) at javafx.scene.Scene$ScenePulseListener.pulse(Unknown Source) at com.sun.javafx.tk.Toolkit.lambda$runPulse$31(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.tk.Toolkit.runPulse(Unknown Source) at com.sun.javafx.tk.Toolkit.firePulse(Unknown Source) at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source) at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source) at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$401(Unknown Source) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$146(Unknown Source) at java.lang.Thread.run(Unknown Source) Can you advice me is this JavaFX issue or the code that I'm using is incorrect? BR, Peter ref http://stackoverflow.com/questions/22803845/loading-logic-for-javafx-task From peter.penzov at gmail.com Wed May 27 11:25:50 2015 From: peter.penzov at gmail.com (Peter Penzov) Date: Wed, 27 May 2015 14:25:50 +0300 Subject: NPE is JavaFX Task In-Reply-To: References: Message-ID: Update: Same result with this code: public void addNewTab(DynamicTreeNodeModel nodeModel) { final Tab tab = new Tab(); final ProgressBar progressBar = new ProgressBar(); final Task loadDataTask = new Task() { @Override public BorderPane call() throws Exception { Content content = new Content(primaryStage, treeView.getSelectionModel().getSelectedItem()); return content.initContentData(); } }; tab.setContent(progressBar); loadDataTask.setOnSucceeded(new EventHandler() { @Override public void handle(WorkerStateEvent event) { BorderPane data = loadDataTask.getValue(); tab.setContent(data); } }); final Thread thread = new Thread(loadDataTask); thread.setDaemon(true); thread.start(); newTabLabel = new Label(nodeModel.getName()); tab.setStyle("-fx-focus-color: transparent;"); // Remove the blue dashed label from label tab.setGraphic(newTabLabel); tab.setContextMenu(makeTabContextMenu(tab, newTabLabel, tabPane)); tabPane.getTabs().add(0, tab); tabPane.getSelectionModel().select(tab); tabPane.setTabClosingPolicy(TabPane.TabClosingPolicy.ALL_TABS); } On Wed, May 27, 2015 at 12:56 PM, Peter Penzov wrote: > Hi All, > I have a question about a issue that I have with JavaFX Task. I'm > using the code from this example to display progress bar in TabPane when I > click on TreeView Node: > > http://stackoverflow.com/questions/22803845/loading-logic-for-javafx-task > > For some reason when I click multiple times on the node I get this > exception: > > > Exception in thread "JavaFX Application Thread" > java.lang.NullPointerException > at com.sun.javafx.css.StyleManager.findMatchingStyles(Unknown > Source) > at javafx.scene.CssStyleHelper.createStyleHelper(Unknown Source) > at javafx.scene.Node.reapplyCss(Unknown Source) > at javafx.scene.Node.impl_reapplyCSS(Unknown Source) > at javafx.scene.Node.invalidatedScenes(Unknown Source) > at javafx.scene.Node.setScenes(Unknown Source) > at javafx.scene.Parent$1.onChanged(Unknown Source) > at > com.sun.javafx.collections.TrackableObservableList.lambda$new$19(Unknown > Source) > at > com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(Unknown > Sourc > e) > at > com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(Unknown > Source) > at javafx.collections.ObservableListBase.fireChange(Unknown Source) > at javafx.collections.ListChangeBuilder.commit(Unknown Source) > at javafx.collections.ListChangeBuilder.endChange(Unknown Source) > at javafx.collections.ObservableListBase.endChange(Unknown Source) > at javafx.collections.ModifiableObservableListBase.add(Unknown > Source) > at java.util.AbstractList.add(Unknown Source) > at com.sun.javafx.collections.VetoableListDecorator.add(Unknown > Source) > at > com.sun.javafx.scene.control.skin.ProgressIndicatorSkin$IndeterminateSpinner.rebuild(Unkn > own Source) > at > com.sun.javafx.scene.control.skin.ProgressIndicatorSkin$IndeterminateSpinner.access$400(U > nknown Source) > at > com.sun.javafx.scene.control.skin.ProgressIndicatorSkin$2.invalidated(Unknown > Source) > at javafx.beans.property.IntegerPropertyBase.markInvalid(Unknown > Source) > at javafx.beans.property.IntegerPropertyBase.set(Unknown Source) > at javafx.css.StyleableIntegerProperty.set(Unknown Source) > at javafx.beans.property.IntegerProperty.setValue(Unknown Source) > at javafx.css.StyleableIntegerProperty.applyStyle(Unknown Source) > at javafx.css.StyleableIntegerProperty.applyStyle(Unknown Source) > at javafx.scene.CssStyleHelper.transitionToState(Unknown Source) > at javafx.scene.Node.impl_processCSS(Unknown Source) > at javafx.scene.Parent.impl_processCSS(Unknown Source) > at javafx.scene.control.Control.impl_processCSS(Unknown Source) > at javafx.scene.Parent.impl_processCSS(Unknown Source) > at javafx.scene.Parent.impl_processCSS(Unknown Source) > at javafx.scene.Node.processCSS(Unknown Source) > at javafx.scene.Node.processCSS(Unknown Source) > at javafx.scene.Node.processCSS(Unknown Source) > at javafx.scene.Node.processCSS(Unknown Source) > at javafx.scene.Node.processCSS(Unknown Source) > at javafx.scene.Node.processCSS(Unknown Source) > at javafx.scene.Scene.doCSSPass(Unknown Source) > at javafx.scene.Scene.access$3600(Unknown Source) > at javafx.scene.Scene$ScenePulseListener.pulse(Unknown Source) > at com.sun.javafx.tk.Toolkit.lambda$runPulse$31(Unknown Source) > at java.security.AccessController.doPrivileged(Native Method) > at com.sun.javafx.tk.Toolkit.runPulse(Unknown Source) > at com.sun.javafx.tk.Toolkit.firePulse(Unknown Source) > at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source) > at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source) > at > com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$401(Unknown > Source) > at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown > Source) > at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) > at com.sun.glass.ui.win.WinApplication.lambda$null$146(Unknown > Source) > at java.lang.Thread.run(Unknown Source) > > > Can you advice me is this JavaFX issue or the code that I'm using is > incorrect? > > BR, > Peter > > ref > http://stackoverflow.com/questions/22803845/loading-logic-for-javafx-task > From samir.hadzic.pro at gmail.com Wed May 27 13:55:20 2015 From: samir.hadzic.pro at gmail.com (Sam') Date: Wed, 27 May 2015 15:55:20 +0200 Subject: Trouble building JDK in debug mode Message-ID: Hi, I have followed the wiki in order to build the JDK ( https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX). Now I want to provide some patch for some issues in JavaFX and I want to modify the source code and test it. But in order to test it, I need to compile it with the debug enabled, so that I can run a sample program in Netbeans, and actually see the value of the variable inside JDK sources. I have no idea how to do that. I have already used the flag "CONF = debugNative" in the gradle.properties file but this has not helped.. I think I'm missing something obvious somewhere... Best regards, Sam' From David.Hill at Oracle.com Wed May 27 14:04:16 2015 From: David.Hill at Oracle.com (David Hill) Date: Wed, 27 May 2015 10:04:16 -0400 Subject: Building Scene Builder In-Reply-To: References: Message-ID: <5565CEE0.7010902@Oracle.com> On 5/24/15, 10:56 AM, Scott Palmer wrote: > Where can I find the instructions for building Scene Builder from source? > > > I ran Ant in the apps/scenebuilder folder and it produced > SceneBuilderApp.jar in the 'SceneBuilderApp/dist' folder. But where's the > rest of it? It looks like the javapackager part does run automatically, so > I don't have a native executable with a nice icon and all those finishing > touches that make it a "real" app. I am in the process of adding a "run" command to the ant script. We do not have plans at the moment to add a packaging step. The run step at the moment is (subject to more review in the next week) or with a full JDK: java -cp SceneBuilderApp/dist/SceneBuilderApp.jar:SceneBuilderKit/dist/SceneBuilderKit.jar com.oracle.javafx.scenebuilder.app.SceneBuilderApp > > I did notice the build output print a "jfx-deployment:" step, but I guess > that is something else. I haven't used Ant in years, so I'm a little > rusty. I was actually surprised that there wasn't a Gradle script in the > apps/SceneBuilder folder. I thought perhaps the apps are just using the > default NetBeans project format. I then noticed when loading the project > in NetBeans that I didn't get the little "FX" decal on the coffee cup icon, > so it isn't a NetBean "JavaFX" project. When I added in the building of the apps in the overall tree, I was constrained by several things that gradle does not (or did not) play nicely with. We wanted to treat most of the items as independent sub projects, and at least some of them have ant scripts that needed to be included in the samples bundles. To shorten the story, after a long while of tinkering, I found that for our purposes, ant worked better for us. Gradle imports the ant projects, and allows us to call into them. Dave -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From kevin.rushforth at oracle.com Wed May 27 14:08:55 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 27 May 2015 07:08:55 -0700 Subject: NPE is JavaFX Task In-Reply-To: References: Message-ID: <5565CFF7.1030108@oracle.com> This is due to a concurrency bug in CSS StyleManager class: https://javafx-jira.kenai.com/browse/RT-40417 It is currently not thread-safe, but it needs to be given that controls may be constructed on arbitrary threads. I plan to start working on this bug later this week and will use your example as another test case. -- Kevin Peter Penzov wrote: > Update: Same result with this code: > > public void addNewTab(DynamicTreeNodeModel nodeModel) > { > final Tab tab = new Tab(); > > final ProgressBar progressBar = new ProgressBar(); > final Task loadDataTask = new Task() > { > @Override > public BorderPane call() throws Exception > { > Content content = new Content(primaryStage, > treeView.getSelectionModel().getSelectedItem()); > return content.initContentData(); > } > }; > tab.setContent(progressBar); > loadDataTask.setOnSucceeded(new EventHandler() > { > @Override > public void handle(WorkerStateEvent event) > { > BorderPane data = loadDataTask.getValue(); > tab.setContent(data); > } > }); > final Thread thread = new Thread(loadDataTask); > thread.setDaemon(true); > thread.start(); > > newTabLabel = new Label(nodeModel.getName()); > tab.setStyle("-fx-focus-color: transparent;"); // Remove the blue > dashed label from label > tab.setGraphic(newTabLabel); > tab.setContextMenu(makeTabContextMenu(tab, newTabLabel, tabPane)); > > tabPane.getTabs().add(0, tab); > tabPane.getSelectionModel().select(tab); > tabPane.setTabClosingPolicy(TabPane.TabClosingPolicy.ALL_TABS); > } > > On Wed, May 27, 2015 at 12:56 PM, Peter Penzov > wrote: > > >> Hi All, >> I have a question about a issue that I have with JavaFX Task. I'm >> using the code from this example to display progress bar in TabPane when I >> click on TreeView Node: >> >> http://stackoverflow.com/questions/22803845/loading-logic-for-javafx-task >> >> For some reason when I click multiple times on the node I get this >> exception: >> >> >> Exception in thread "JavaFX Application Thread" >> java.lang.NullPointerException >> at com.sun.javafx.css.StyleManager.findMatchingStyles(Unknown >> Source) >> at javafx.scene.CssStyleHelper.createStyleHelper(Unknown Source) >> at javafx.scene.Node.reapplyCss(Unknown Source) >> at javafx.scene.Node.impl_reapplyCSS(Unknown Source) >> at javafx.scene.Node.invalidatedScenes(Unknown Source) >> at javafx.scene.Node.setScenes(Unknown Source) >> at javafx.scene.Parent$1.onChanged(Unknown Source) >> at >> com.sun.javafx.collections.TrackableObservableList.lambda$new$19(Unknown >> Source) >> at >> com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(Unknown >> Sourc >> e) >> at >> com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(Unknown >> Source) >> at javafx.collections.ObservableListBase.fireChange(Unknown Source) >> at javafx.collections.ListChangeBuilder.commit(Unknown Source) >> at javafx.collections.ListChangeBuilder.endChange(Unknown Source) >> at javafx.collections.ObservableListBase.endChange(Unknown Source) >> at javafx.collections.ModifiableObservableListBase.add(Unknown >> Source) >> at java.util.AbstractList.add(Unknown Source) >> at com.sun.javafx.collections.VetoableListDecorator.add(Unknown >> Source) >> at >> com.sun.javafx.scene.control.skin.ProgressIndicatorSkin$IndeterminateSpinner.rebuild(Unkn >> own Source) >> at >> com.sun.javafx.scene.control.skin.ProgressIndicatorSkin$IndeterminateSpinner.access$400(U >> nknown Source) >> at >> com.sun.javafx.scene.control.skin.ProgressIndicatorSkin$2.invalidated(Unknown >> Source) >> at javafx.beans.property.IntegerPropertyBase.markInvalid(Unknown >> Source) >> at javafx.beans.property.IntegerPropertyBase.set(Unknown Source) >> at javafx.css.StyleableIntegerProperty.set(Unknown Source) >> at javafx.beans.property.IntegerProperty.setValue(Unknown Source) >> at javafx.css.StyleableIntegerProperty.applyStyle(Unknown Source) >> at javafx.css.StyleableIntegerProperty.applyStyle(Unknown Source) >> at javafx.scene.CssStyleHelper.transitionToState(Unknown Source) >> at javafx.scene.Node.impl_processCSS(Unknown Source) >> at javafx.scene.Parent.impl_processCSS(Unknown Source) >> at javafx.scene.control.Control.impl_processCSS(Unknown Source) >> at javafx.scene.Parent.impl_processCSS(Unknown Source) >> at javafx.scene.Parent.impl_processCSS(Unknown Source) >> at javafx.scene.Node.processCSS(Unknown Source) >> at javafx.scene.Node.processCSS(Unknown Source) >> at javafx.scene.Node.processCSS(Unknown Source) >> at javafx.scene.Node.processCSS(Unknown Source) >> at javafx.scene.Node.processCSS(Unknown Source) >> at javafx.scene.Node.processCSS(Unknown Source) >> at javafx.scene.Scene.doCSSPass(Unknown Source) >> at javafx.scene.Scene.access$3600(Unknown Source) >> at javafx.scene.Scene$ScenePulseListener.pulse(Unknown Source) >> at com.sun.javafx.tk.Toolkit.lambda$runPulse$31(Unknown Source) >> at java.security.AccessController.doPrivileged(Native Method) >> at com.sun.javafx.tk.Toolkit.runPulse(Unknown Source) >> at com.sun.javafx.tk.Toolkit.firePulse(Unknown Source) >> at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source) >> at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source) >> at >> com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$401(Unknown >> Source) >> at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown >> Source) >> at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) >> at com.sun.glass.ui.win.WinApplication.lambda$null$146(Unknown >> Source) >> at java.lang.Thread.run(Unknown Source) >> >> >> Can you advice me is this JavaFX issue or the code that I'm using is >> incorrect? >> >> BR, >> Peter >> >> ref >> http://stackoverflow.com/questions/22803845/loading-logic-for-javafx-task >> >> From David.Hill at Oracle.com Wed May 27 14:11:08 2015 From: David.Hill at Oracle.com (David Hill) Date: Wed, 27 May 2015 10:11:08 -0400 Subject: Trouble building JDK in debug mode In-Reply-To: References: Message-ID: <5565D07C.9000709@Oracle.com> On 5/27/15, 9:55 AM, Sam' wrote: > Hi, > > > > I have followed the wiki in order to build the JDK ( > https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX). > > > > Now I want to provide some patch for some issues in JavaFX and I want to > modify the source code and test it. But in order to test it, I need to > compile it with the debug enabled, so that I can run a sample program in > Netbeans, and actually see the value of the variable inside JDK sources. > > > > I have no idea how to do that. I have already used the flag "CONF = > debugNative" in the gradle.properties file but this has not helped.. I > think I'm missing something obvious somewhere... What platform are you building on ? Windows build creates a separate symbol file (a .pdb) which I learned about just last week :-) This needs to be pointed out to VisualStudio, or manually copied to where VS thinks it should be. And it is -PCONF=DebugNative (case sensitive) Dave > > > > Best regards, > > Sam' -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From David.Hill at Oracle.com Wed May 27 15:29:22 2015 From: David.Hill at Oracle.com (David Hill) Date: Wed, 27 May 2015 11:29:22 -0400 Subject: review for SceneBuilder run Message-ID: <5565E2D2.1060206@Oracle.com> jira: https://javafx-jira.kenai.com/browse/RT-4014 webrev: http://cr.openjdk.java.net/~ddhill/RT-40140 Kevin, This works - but does not make complete sense to me. I am setting a default setting of: which is used/accepted by the samples subdir, but not by SceneBuilderKit, SceneBuilderAPP, where I had to add the above lines again. I would have thought that the inheritAll="true" would work for all of them, but something is getting in the way. As I have put more time into this than I expected, I am proposing this change. Tested with: * JAVA_HOME set to a full JDK (ant clean run) * within the build on Mac and Linux. (gradle apps) -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From swpalmer at gmail.com Wed May 27 16:08:13 2015 From: swpalmer at gmail.com (Scott Palmer) Date: Wed, 27 May 2015 12:08:13 -0400 Subject: Building Scene Builder In-Reply-To: <5565CEE0.7010902@Oracle.com> References: <5565CEE0.7010902@Oracle.com> Message-ID: <928F0786-C99E-4056-B79B-EA445F2CEEA1@gmail.com> > On May 27, 2015, at 10:04 AM, David Hill wrote: > > On 5/24/15, 10:56 AM, Scott Palmer wrote: >> Where can I find the instructions for building Scene Builder from source? >> >> >> I ran Ant in the apps/scenebuilder folder and it produced >> SceneBuilderApp.jar in the 'SceneBuilderApp/dist' folder. But where's the >> rest of it? It looks like the javapackager part does run automatically, so >> I don't have a native executable with a nice icon and all those finishing >> touches that make it a "real" app. > I am in the process of adding a "run" command to the ant script. We do not have plans at the moment to add a packaging step. What happened to the original packaging step? The Oracle download is a packaged app, was it a manual step or something? I can?t even find the application icon in the source. >> >> I did notice the build output print a "jfx-deployment:" step, but I guess >> that is something else. I haven't used Ant in years, so I'm a little >> rusty. I was actually surprised that there wasn't a Gradle script in the >> apps/SceneBuilder folder. I thought perhaps the apps are just using the >> default NetBeans project format. I then noticed when loading the project >> in NetBeans that I didn't get the little "FX" decal on the coffee cup icon, >> so it isn't a NetBean "JavaFX" project. > When I added in the building of the apps in the overall tree, I was constrained by several things that gradle does not (or did not) play nicely with. > We wanted to treat most of the items as independent sub projects, and at least some of them have ant scripts that needed to be included in the samples bundles. > > To shorten the story, after a long while of tinkering, I found that for our purposes, ant worked better for us. Gradle imports the ant projects, and allows us to call into them. Fair enough, there?s only so much tinkering one can take, I?ve been through a fair bit of Gradle tinkering myself. (My hope is that one day OpenJDK + OpenJFX will build simply with ?grade build', using Gradle?s support for native builds. Especially on Windows where it would simplify things a lot if you can avoid dependencies on Cygwin or MinGW. Gradle?s native support is still incubating so it is a bit early to go there, but I?ve used it recently for some Java +JNI projects on Linux, Mac, and Windows (with Visual Studio, not GCC) and it actually worked quite well.) Scott From David.Hill at Oracle.com Wed May 27 16:47:24 2015 From: David.Hill at Oracle.com (David Hill) Date: Wed, 27 May 2015 12:47:24 -0400 Subject: Building Scene Builder In-Reply-To: <928F0786-C99E-4056-B79B-EA445F2CEEA1@gmail.com> References: <5565CEE0.7010902@Oracle.com> <928F0786-C99E-4056-B79B-EA445F2CEEA1@gmail.com> Message-ID: <5565F51C.3050507@Oracle.com> On 5/27/15, 12:08 PM, Scott Palmer wrote: >> On May 27, 2015, at 10:04 AM, David Hill wrote: >> >> On 5/24/15, 10:56 AM, Scott Palmer wrote: >>> Where can I find the instructions for building Scene Builder from source? >>> >>> >>> I ran Ant in the apps/scenebuilder folder and it produced >>> SceneBuilderApp.jar in the 'SceneBuilderApp/dist' folder. But where's the >>> rest of it? It looks like the javapackager part does run automatically, so >>> I don't have a native executable with a nice icon and all those finishing >>> touches that make it a "real" app. >> I am in the process of adding a "run" command to the ant script. We do not have plans at the moment to add a packaging step. > What happened to the original packaging step? The Oracle download is a packaged app, was it a manual step or something? I can?t even find the application icon in the source. > Our internal build has 2 parts - OpenJFX and the "closed" stuff. The "closed" stuff has a lot of legacy steps that we have not had the time or inclination to move to the OpenJFX side. (after all, working with a complex chunk of delicate gradle/ant code for a long time tends to make your eyes bleed). But occasionally we get some motivation and we move another bit of functionality over. I did ask our packager guy if he could sketch out how to do this standalone, so it might happen. >>> I did notice the build output print a "jfx-deployment:" step, but I guess >>> that is something else. I haven't used Ant in years, so I'm a little >>> rusty. I was actually surprised that there wasn't a Gradle script in the >>> apps/SceneBuilder folder. I thought perhaps the apps are just using the >>> default NetBeans project format. I then noticed when loading the project >>> in NetBeans that I didn't get the little "FX" decal on the coffee cup icon, >>> so it isn't a NetBean "JavaFX" project. >> When I added in the building of the apps in the overall tree, I was constrained by several things that gradle does not (or did not) play nicely with. >> We wanted to treat most of the items as independent sub projects, and at least some of them have ant scripts that needed to be included in the samples bundles. >> >> To shorten the story, after a long while of tinkering, I found that for our purposes, ant worked better for us. Gradle imports the ant projects, and allows us to call into them. > Fair enough, there?s only so much tinkering one can take, I?ve been through a fair bit of Gradle tinkering myself. > (My hope is that one day OpenJDK + OpenJFX will build simply with ?grade build', using Gradle?s support for native builds. Especially on Windows where it would simplify things a lot if you can avoid dependencies on Cygwin or MinGW. Gradle?s native support is still incubating so it is a bit early to go there, but I?ve used it recently for some Java +JNI projects on Linux, Mac, and Windows (with Visual Studio, not GCC) and it actually worked quite well.) We switched to gradle early on after a long time with a big pile'o ant scripts. Major rework for that. We were limited by the gradle versions we could get at the time. Some choices like what we could do in the apps dir were limited by that. More major rework when we moved as much as we could to OpenJFX. Now, if we had a dedicated build engineer we might be able to rebuild our current gradle to use the new features. But as we only have part time on about 3 guys willing to dive into that build mess that each have a huge pile 'o bugs... :-) -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From sven.reimers at gmail.com Wed May 27 17:12:46 2015 From: sven.reimers at gmail.com (Sven Reimers) Date: Wed, 27 May 2015 19:12:46 +0200 Subject: Building Scene Builder In-Reply-To: <5565F51C.3050507@Oracle.com> References: <5565CEE0.7010902@Oracle.com> <928F0786-C99E-4056-B79B-EA445F2CEEA1@gmail.com> <5565F51C.3050507@Oracle.com> Message-ID: So, is this a call for community and Gradle experts please helps us? We are able (and want) to upgrade to a newer gradle version? We want to share the whole pile of dirty gradle scripts to get you started? Sounds interesting to me... -Sven Am 27.05.2015 18:48 schrieb "David Hill" : > On 5/27/15, 12:08 PM, Scott Palmer wrote: > >> On May 27, 2015, at 10:04 AM, David Hill wrote: >>> >>> On 5/24/15, 10:56 AM, Scott Palmer wrote: >>> >>>> Where can I find the instructions for building Scene Builder from >>>> source? >>>> >>>> >>>> I ran Ant in the apps/scenebuilder folder and it produced >>>> SceneBuilderApp.jar in the 'SceneBuilderApp/dist' folder. But where's >>>> the >>>> rest of it? It looks like the javapackager part does run >>>> automatically, so >>>> I don't have a native executable with a nice icon and all those >>>> finishing >>>> touches that make it a "real" app. >>>> >>> I am in the process of adding a "run" command to the ant script. We do >>> not have plans at the moment to add a packaging step. >>> >> What happened to the original packaging step? The Oracle download is a >> packaged app, was it a manual step or something? I can?t even find the >> application icon in the source. >> >> Our internal build has 2 parts - OpenJFX and the "closed" stuff. The > "closed" stuff has a lot of legacy steps that we have not had the time or > inclination to move to the OpenJFX side. (after all, working with a complex > chunk of delicate gradle/ant code for a long time tends to make your eyes > bleed). > > But occasionally we get some motivation and we move another bit of > functionality over. I did ask our packager guy if he could sketch out how > to do this standalone, so it might happen. > >> I did notice the build output print a "jfx-deployment:" step, but I guess >>>> that is something else. I haven't used Ant in years, so I'm a little >>>> rusty. I was actually surprised that there wasn't a Gradle script in >>>> the >>>> apps/SceneBuilder folder. I thought perhaps the apps are just using the >>>> default NetBeans project format. I then noticed when loading the >>>> project >>>> in NetBeans that I didn't get the little "FX" decal on the coffee cup >>>> icon, >>>> so it isn't a NetBean "JavaFX" project. >>>> >>> When I added in the building of the apps in the overall tree, I was >>> constrained by several things that gradle does not (or did not) play nicely >>> with. >>> We wanted to treat most of the items as independent sub projects, and at >>> least some of them have ant scripts that needed to be included in the >>> samples bundles. >>> >>> To shorten the story, after a long while of tinkering, I found that for >>> our purposes, ant worked better for us. Gradle imports the ant projects, >>> and allows us to call into them. >>> >> Fair enough, there?s only so much tinkering one can take, I?ve been >> through a fair bit of Gradle tinkering myself. >> (My hope is that one day OpenJDK + OpenJFX will build simply with ?grade >> build', using Gradle?s support for native builds. Especially on Windows >> where it would simplify things a lot if you can avoid dependencies on >> Cygwin or MinGW. Gradle?s native support is still incubating so it is a >> bit early to go there, but I?ve used it recently for some Java +JNI >> projects on Linux, Mac, and Windows (with Visual Studio, not GCC) and it >> actually worked quite well.) >> > We switched to gradle early on after a long time with a big pile'o ant > scripts. Major rework for that. We were limited by the gradle versions we > could get at the time. Some choices like what we could do in the apps dir > were limited by that. More major rework when we moved as much as we could > to OpenJFX. Now, if we had a dedicated build engineer we might be able to > rebuild our current gradle to use the new features. But as we only have > part time on about 3 guys willing to dive into that build mess that each > have a huge pile 'o bugs... :-) > > > -- > David Hill > Java Embedded Development > > "A man's feet should be planted in his country, but his eyes should survey > the world." > -- George Santayana (1863 - 1952) > > From kevin.rushforth at oracle.com Wed May 27 17:21:49 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 27 May 2015 10:21:49 -0700 Subject: Building Scene Builder In-Reply-To: References: <5565CEE0.7010902@Oracle.com> <928F0786-C99E-4056-B79B-EA445F2CEEA1@gmail.com> <5565F51C.3050507@Oracle.com> Message-ID: <5565FD2D.6020005@oracle.com> Sven Reimers wrote: > So, is this a call for community and Gradle experts please helps us? > > We are able (and want) to upgrade to a newer gradle version? > Not for FX 8u. We will upgrade FX 9 to a newer gradle (e.g., .2.3 or later). See: https://javafx-jira.kenai.com/browse/RT-40256 -- Kevin > We want to share the whole pile of dirty gradle scripts to get you started? > > Sounds interesting to me... > > -Sven > Am 27.05.2015 18:48 schrieb "David Hill" : > > >> On 5/27/15, 12:08 PM, Scott Palmer wrote: >> >> >>> On May 27, 2015, at 10:04 AM, David Hill wrote: >>> >>>> On 5/24/15, 10:56 AM, Scott Palmer wrote: >>>> >>>> >>>>> Where can I find the instructions for building Scene Builder from >>>>> source? >>>>> >>>>> >>>>> I ran Ant in the apps/scenebuilder folder and it produced >>>>> SceneBuilderApp.jar in the 'SceneBuilderApp/dist' folder. But where's >>>>> the >>>>> rest of it? It looks like the javapackager part does run >>>>> automatically, so >>>>> I don't have a native executable with a nice icon and all those >>>>> finishing >>>>> touches that make it a "real" app. >>>>> >>>>> >>>> I am in the process of adding a "run" command to the ant script. We do >>>> not have plans at the moment to add a packaging step. >>>> >>>> >>> What happened to the original packaging step? The Oracle download is a >>> packaged app, was it a manual step or something? I can?t even find the >>> application icon in the source. >>> >>> Our internal build has 2 parts - OpenJFX and the "closed" stuff. The >>> >> "closed" stuff has a lot of legacy steps that we have not had the time or >> inclination to move to the OpenJFX side. (after all, working with a complex >> chunk of delicate gradle/ant code for a long time tends to make your eyes >> bleed). >> >> But occasionally we get some motivation and we move another bit of >> functionality over. I did ask our packager guy if he could sketch out how >> to do this standalone, so it might happen. >> >> >>> I did notice the build output print a "jfx-deployment:" step, but I guess >>> >>>>> that is something else. I haven't used Ant in years, so I'm a little >>>>> rusty. I was actually surprised that there wasn't a Gradle script in >>>>> the >>>>> apps/SceneBuilder folder. I thought perhaps the apps are just using the >>>>> default NetBeans project format. I then noticed when loading the >>>>> project >>>>> in NetBeans that I didn't get the little "FX" decal on the coffee cup >>>>> icon, >>>>> so it isn't a NetBean "JavaFX" project. >>>>> >>>>> >>>> When I added in the building of the apps in the overall tree, I was >>>> constrained by several things that gradle does not (or did not) play nicely >>>> with. >>>> We wanted to treat most of the items as independent sub projects, and at >>>> least some of them have ant scripts that needed to be included in the >>>> samples bundles. >>>> >>>> To shorten the story, after a long while of tinkering, I found that for >>>> our purposes, ant worked better for us. Gradle imports the ant projects, >>>> and allows us to call into them. >>>> >>>> >>> Fair enough, there?s only so much tinkering one can take, I?ve been >>> through a fair bit of Gradle tinkering myself. >>> (My hope is that one day OpenJDK + OpenJFX will build simply with ?grade >>> build', using Gradle?s support for native builds. Especially on Windows >>> where it would simplify things a lot if you can avoid dependencies on >>> Cygwin or MinGW. Gradle?s native support is still incubating so it is a >>> bit early to go there, but I?ve used it recently for some Java +JNI >>> projects on Linux, Mac, and Windows (with Visual Studio, not GCC) and it >>> actually worked quite well.) >>> >>> >> We switched to gradle early on after a long time with a big pile'o ant >> scripts. Major rework for that. We were limited by the gradle versions we >> could get at the time. Some choices like what we could do in the apps dir >> were limited by that. More major rework when we moved as much as we could >> to OpenJFX. Now, if we had a dedicated build engineer we might be able to >> rebuild our current gradle to use the new features. But as we only have >> part time on about 3 guys willing to dive into that build mess that each >> have a huge pile 'o bugs... :-) >> >> >> -- >> David Hill >> Java Embedded Development >> >> "A man's feet should be planted in his country, but his eyes should survey >> the world." >> -- George Santayana (1863 - 1952) >> >> >> From swpalmer at gmail.com Wed May 27 18:24:40 2015 From: swpalmer at gmail.com (Scott Palmer) Date: Wed, 27 May 2015 14:24:40 -0400 Subject: Building Scene Builder In-Reply-To: <5565F51C.3050507@Oracle.com> References: <5565CEE0.7010902@Oracle.com> <928F0786-C99E-4056-B79B-EA445F2CEEA1@gmail.com> <5565F51C.3050507@Oracle.com> Message-ID: <0E1E696D-121F-462A-ABD6-50053A494BD2@gmail.com> > On May 27, 2015, at 12:47 PM, David Hill wrote: > > On 5/27/15, 12:08 PM, Scott Palmer wrote: >>> On May 27, 2015, at 10:04 AM, David Hill wrote: >>> >>> On 5/24/15, 10:56 AM, Scott Palmer wrote: >>>> Where can I find the instructions for building Scene Builder from source? >>>> >>>> >>>> I ran Ant in the apps/scenebuilder folder and it produced >>>> SceneBuilderApp.jar in the 'SceneBuilderApp/dist' folder. But where's the >>>> rest of it? It looks like the javapackager part does run automatically, so >>>> I don't have a native executable with a nice icon and all those finishing >>>> touches that make it a "real" app. >>> I am in the process of adding a "run" command to the ant script. We do not have plans at the moment to add a packaging step. >> What happened to the original packaging step? The Oracle download is a packaged app, was it a manual step or something? I can?t even find the application icon in the source. >> > Our internal build has 2 parts - OpenJFX and the "closed" stuff. The "closed" stuff has a lot of legacy steps that we have not had the time or inclination to move to the OpenJFX side. (after all, working with a complex chunk of delicate gradle/ant code for a long time tends to make your eyes bleed). > > But occasionally we get some motivation and we move another bit of functionality over. I did ask our packager guy if he could sketch out how to do this standalone, so it might happen. I suspect the main issue will be in the handling of Oracle?s signing certificate, which I suspect is part of the application bundle. So the OpenJFX build will need to get the signing info from a config file or generate a self-signed certificate. That?s assuming the icon and other packaging info can be ?moved over? without having to get too many lawyers involved. >>>> I did notice the build output print a "jfx-deployment:" step, but I guess >>>> that is something else. I haven't used Ant in years, so I'm a little >>>> rusty. I was actually surprised that there wasn't a Gradle script in the >>>> apps/SceneBuilder folder. I thought perhaps the apps are just using the >>>> default NetBeans project format. I then noticed when loading the project >>>> in NetBeans that I didn't get the little "FX" decal on the coffee cup icon, >>>> so it isn't a NetBean "JavaFX" project. >>> When I added in the building of the apps in the overall tree, I was constrained by several things that gradle does not (or did not) play nicely with. >>> We wanted to treat most of the items as independent sub projects, and at least some of them have ant scripts that needed to be included in the samples bundles. >>> >>> To shorten the story, after a long while of tinkering, I found that for our purposes, ant worked better for us. Gradle imports the ant projects, and allows us to call into them. >> Fair enough, there?s only so much tinkering one can take, I?ve been through a fair bit of Gradle tinkering myself. >> (My hope is that one day OpenJDK + OpenJFX will build simply with ?grade build', using Gradle?s support for native builds. Especially on Windows where it would simplify things a lot if you can avoid dependencies on Cygwin or MinGW. Gradle?s native support is still incubating so it is a bit early to go there, but I?ve used it recently for some Java +JNI projects on Linux, Mac, and Windows (with Visual Studio, not GCC) and it actually worked quite well.) > We switched to gradle early on after a long time with a big pile'o ant scripts. Major rework for that. We were limited by the gradle versions we could get at the time. Some choices like what we could do in the apps dir were limited by that. More major rework when we moved as much as we could to OpenJFX. Now, if we had a dedicated build engineer we might be able to rebuild our current gradle to use the new features. But as we only have part time on about 3 guys willing to dive into that build mess that each have a huge pile 'o bugs... :-) Yeah, obviously bug fixes get priority? I?ve filed nearly 200 of them, so I have a stake there too :-) But as Sven pointed out, someone in the open source community might be inclined to ease their build pains with some tweaks to the scripts. The main problem with that is keeping compatibility with the ?closed? parts. Obviously while we are hacking on OpenJFX we can?t tell what our changes might be breaking for the closed portion. Scott From jonathan.giles at oracle.com Wed May 27 18:39:38 2015 From: jonathan.giles at oracle.com (Jonathan Giles) Date: Thu, 28 May 2015 06:39:38 +1200 Subject: Building Scene Builder In-Reply-To: <5565FD2D.6020005@oracle.com> References: <5565CEE0.7010902@Oracle.com> <928F0786-C99E-4056-B79B-EA445F2CEEA1@gmail.com> <5565F51C.3050507@Oracle.com> <5565FD2D.6020005@oracle.com> Message-ID: <55BD8D95-D32F-4969-8EAD-89ECA380FBAC@oracle.com> I should note that on my main development machine I build openjfx using the latest gradle release - 2.4 I think. As far as I can see there are no issues with this. -- Jonathan Sent from a touch device. Please excuse my brevity. On 28 May 2015 05:21:49 GMT+12:00, Kevin Rushforth wrote: > > >Sven Reimers wrote: >> So, is this a call for community and Gradle experts please helps us? >> >> We are able (and want) to upgrade to a newer gradle version? >> > >Not for FX 8u. We will upgrade FX 9 to a newer gradle (e.g., .2.3 or >later). See: > >https://javafx-jira.kenai.com/browse/RT-40256 > >-- Kevin > >> We want to share the whole pile of dirty gradle scripts to get you >started? >> >> Sounds interesting to me... >> >> -Sven >> Am 27.05.2015 18:48 schrieb "David Hill" : >> >> >>> On 5/27/15, 12:08 PM, Scott Palmer wrote: >>> >>> >>>> On May 27, 2015, at 10:04 AM, David Hill >wrote: >>>> >>>>> On 5/24/15, 10:56 AM, Scott Palmer wrote: >>>>> >>>>> >>>>>> Where can I find the instructions for building Scene Builder from >>>>>> source? >>>>>> >>>>>> >>>>>> I ran Ant in the apps/scenebuilder folder and it produced >>>>>> SceneBuilderApp.jar in the 'SceneBuilderApp/dist' folder. But >where's >>>>>> the >>>>>> rest of it? It looks like the javapackager part does run >>>>>> automatically, so >>>>>> I don't have a native executable with a nice icon and all those >>>>>> finishing >>>>>> touches that make it a "real" app. >>>>>> >>>>>> >>>>> I am in the process of adding a "run" command to the ant script. >We do >>>>> not have plans at the moment to add a packaging step. >>>>> >>>>> >>>> What happened to the original packaging step? The Oracle download >is a >>>> packaged app, was it a manual step or something? I can?t even find >the >>>> application icon in the source. >>>> >>>> Our internal build has 2 parts - OpenJFX and the "closed" stuff. >The >>>> >>> "closed" stuff has a lot of legacy steps that we have not had the >time or >>> inclination to move to the OpenJFX side. (after all, working with a >complex >>> chunk of delicate gradle/ant code for a long time tends to make your >eyes >>> bleed). >>> >>> But occasionally we get some motivation and we move another bit of >>> functionality over. I did ask our packager guy if he could sketch >out how >>> to do this standalone, so it might happen. >>> >>> >>>> I did notice the build output print a "jfx-deployment:" step, but I >guess >>>> >>>>>> that is something else. I haven't used Ant in years, so I'm a >little >>>>>> rusty. I was actually surprised that there wasn't a Gradle >script in >>>>>> the >>>>>> apps/SceneBuilder folder. I thought perhaps the apps are just >using the >>>>>> default NetBeans project format. I then noticed when loading the >>>>>> project >>>>>> in NetBeans that I didn't get the little "FX" decal on the coffee >cup >>>>>> icon, >>>>>> so it isn't a NetBean "JavaFX" project. >>>>>> >>>>>> >>>>> When I added in the building of the apps in the overall tree, I >was >>>>> constrained by several things that gradle does not (or did not) >play nicely >>>>> with. >>>>> We wanted to treat most of the items as independent sub projects, >and at >>>>> least some of them have ant scripts that needed to be included in >the >>>>> samples bundles. >>>>> >>>>> To shorten the story, after a long while of tinkering, I found >that for >>>>> our purposes, ant worked better for us. Gradle imports the ant >projects, >>>>> and allows us to call into them. >>>>> >>>>> >>>> Fair enough, there?s only so much tinkering one can take, I?ve been >>>> through a fair bit of Gradle tinkering myself. >>>> (My hope is that one day OpenJDK + OpenJFX will build simply with >?grade >>>> build', using Gradle?s support for native builds. Especially on >Windows >>>> where it would simplify things a lot if you can avoid dependencies >on >>>> Cygwin or MinGW. Gradle?s native support is still incubating so it >is a >>>> bit early to go there, but I?ve used it recently for some Java +JNI >>>> projects on Linux, Mac, and Windows (with Visual Studio, not GCC) >and it >>>> actually worked quite well.) >>>> >>>> >>> We switched to gradle early on after a long time with a big pile'o >ant >>> scripts. Major rework for that. We were limited by the gradle >versions we >>> could get at the time. Some choices like what we could do in the >apps dir >>> were limited by that. More major rework when we moved as much as we >could >>> to OpenJFX. Now, if we had a dedicated build engineer we might be >able to >>> rebuild our current gradle to use the new features. But as we only >have >>> part time on about 3 guys willing to dive into that build mess that >each >>> have a huge pile 'o bugs... :-) >>> >>> >>> -- >>> David Hill >>> Java Embedded Development >>> >>> "A man's feet should be planted in his country, but his eyes should >survey >>> the world." >>> -- George Santayana (1863 - 1952) >>> >>> >>> From kevin.rushforth at oracle.com Wed May 27 19:29:27 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 27 May 2015 12:29:27 -0700 Subject: Building Scene Builder In-Reply-To: <55BD8D95-D32F-4969-8EAD-89ECA380FBAC@oracle.com> References: <5565CEE0.7010902@Oracle.com> <928F0786-C99E-4056-B79B-EA445F2CEEA1@gmail.com> <5565F51C.3050507@Oracle.com> <5565FD2D.6020005@oracle.com> <55BD8D95-D32F-4969-8EAD-89ECA380FBAC@oracle.com> Message-ID: <55661B17.8050101@oracle.com> Yeah, I fixed the last remaining bug that prevented our building with gradle 2.x a couple months ago. I occasionally use gradle 2.3 for my builds of FX for sanity testing, so will upgrade to gradle 2.4. Once 8u60 ZBB is past that might be a good time to make the switch in FX 9. -- Kevin Jonathan Giles wrote: > I should note that on my main development machine I build openjfx > using the latest gradle release - 2.4 I think. As far as I can see > there are no issues with this. > > -- Jonathan > Sent from a touch device. Please excuse my brevity. > > On 28 May 2015 05:21:49 GMT+12:00, Kevin Rushforth > wrote: > > > Sven Reimers wrote: > > So, is this a call for community and Gradle experts please > helps us? We are able (and want) to upgrade to a newer gradle > version? > > > Not for FX 8u. We will upgrade FX 9 to a newer gradle (e.g., .2.3 or > later). See: > > https://javafx-jira.kenai.com/browse/RT-40256 > > -- Kevin > > > We want to share the whole pile of dirty gradle scripts to get > you started? Sounds interesting to me... -Sven Am 27.05.2015 > 18:48 schrieb "David Hill" : > > On 5/27/15, 12:08 PM, Scott Palmer wrote: > > On May 27, 2015, at 10:04 AM, David > Hill wrote: > > On 5/24/15, 10:56 AM, Scott Palmer wrote: > > Where can I find the instructions for building > Scene Builder from source? I ran Ant in the > apps/scenebuilder folder and it produced > SceneBuilderApp.jar in the > 'SceneBuilderApp/dist' folder. But where's the > rest of it? It looks like the javapackager > part does run automatically, so I don't have a > native executable with a nice icon and all > those finishing touches that make it a "real" > app. > > I am in the process of adding a "run" command to > the ant script. We do not have plans at the moment > to add a packaging step. > > What happened to the original packaging step? The > Oracle download is a packaged app, was it a manual > step or something? I can?t even find the application > icon in the source. Our internal build has 2 parts - > OpenJFX and the "closed" stuff. The > > "closed" stuff has a lot of legacy steps that we have not > had the time or inclination to move to the OpenJFX side. > (after all, working with a complex chunk of delicate > gradle/ant code for a long time tends to make your eyes > bleed). But occasionally we get some motivation and we > move another bit of functionality over. I did ask our > packager guy if he could sketch out how to do this > standalone, so it might happen. > > I did notice the build output print a > "jfx-deployment:" step, but I guess > > that is something else. I haven't used Ant in > years, so I'm a little rusty. I was actually > surprised that there wasn't a Gradle script in > the apps/SceneBuilder folder. I thought > perhaps the apps are just using the default > NetBeans project format. I then noticed when > loading the project in NetBeans that I didn't > get the little "FX" decal on the coffee cup > icon, so it isn't a NetBean "JavaFX" project. > > When I added in the building of the apps in the > overall tree, I was constrained by several things > that gradle does not (or did not) play nicely > with. We wanted to treat most of the items as > independent sub projects, and at least some of > them have ant scripts that needed to be included > in the samples bundles. To shorten the story, > after a long while of tinkering, I found that for > our purposes, ant worked better for us. Gradle > imports the ant projects, and allows us to call > into them. > > Fair enough, there?s only so much tinkering one can > take, I?ve been through a fair bit of Gradle tinkering > myself. (My hope is that one day OpenJDK + OpenJFX > will build simply with ?grade build', using Gradle?s > support for native builds. Especially on Windows where > it would simplify things a lot if you can avoid > dependencies on Cygwin or MinGW. Gradle?s native > support is still incubating so it is a bit early to go > there, but I?ve used it recently for some Java +JNI > projects on Linux, Mac, and Windows (with Visual > Studio, not GCC) and it actually worked quite well.) > > We switched to gradle early on after a long time with a > big pile'o ant scripts. Major rework for that. We were > limited by the gradle versions we could get at the time. > Some choices like what we could do in the apps dir were > limited by that. More major rework when we moved as much > as we could to OpenJFX. Now, if we had a dedicated build > engineer we might be able to rebuild our current gradle to > use the new features. But as we only have part time on > about 3 guys willing to dive into that build mess that > each have a huge pile 'o bugs... :-) -- David > Hill Java Embedded Development "A > man's feet should be planted in his country, but his eyes > should survey the world." -- George Santayana (1863 - 1952) > From kevin.rushforth at oracle.com Wed May 27 19:53:17 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 27 May 2015 12:53:17 -0700 Subject: [8u60,9] review request: RT-40691: Update the JDK version used to build FX to JDK 8u40 Message-ID: <556620AD.70102@oracle.com> David, Chien, and Amy: As announced previously, this fix will update our builds to use (and require) JDK 8u40 to build FX. https://javafx-jira.kenai.com/browse/RT-40691 http://cr.openjdk.java.net/~kcr/RT-40691/webrev.00/ Please review and comment in JIRA. Thanks. -- Kevin From james.graham at oracle.com Wed May 27 23:40:17 2015 From: james.graham at oracle.com (Jim Graham) Date: Wed, 27 May 2015 16:40:17 -0700 Subject: [8u60,9] review request: RT-40691: Update the JDK version used to build FX to JDK 8u40 In-Reply-To: <556620AD.70102@oracle.com> References: <556620AD.70102@oracle.com> Message-ID: <556655E1.7000801@oracle.com> 8u45 is already out, shouldn't we require that as long as we are updating? ...jim On 5/27/2015 12:53 PM, Kevin Rushforth wrote: > David, Chien, and Amy: > > As announced previously, this fix will update our builds to use (and > require) JDK 8u40 to build FX. > > https://javafx-jira.kenai.com/browse/RT-40691 > http://cr.openjdk.java.net/~kcr/RT-40691/webrev.00/ > > Please review and comment in JIRA. > > Thanks. > > -- Kevin > From kevin.rushforth at oracle.com Wed May 27 23:45:05 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 27 May 2015 16:45:05 -0700 Subject: [8u60,9] review request: RT-40691: Update the JDK version used to build FX to JDK 8u40 In-Reply-To: <556655E1.7000801@oracle.com> References: <556620AD.70102@oracle.com> <556655E1.7000801@oracle.com> Message-ID: <55665701.5000108@oracle.com> We had considered that, but our build machines were updated with 8u40 and it didn't seem worth it given that there aren't any known bug fixes in 8u45 that would matter (e.g., in SwingInterop which is the big reason to switch to 8u40). I would recommend that developers keep their JDK up to date, so installing 8u45 now and then 8u51 and then 8u60 when they come out seems a good idea. -- Kevin Jim Graham wrote: > 8u45 is already out, shouldn't we require that as long as we are > updating? > > ...jim > > On 5/27/2015 12:53 PM, Kevin Rushforth wrote: >> David, Chien, and Amy: >> >> As announced previously, this fix will update our builds to use (and >> require) JDK 8u40 to build FX. >> >> https://javafx-jira.kenai.com/browse/RT-40691 >> http://cr.openjdk.java.net/~kcr/RT-40691/webrev.00/ >> >> Please review and comment in JIRA. >> >> Thanks. >> >> -- Kevin >> From c.keimel at emsw.de Thu May 28 09:21:44 2015 From: c.keimel at emsw.de (Keimel, Christoph) Date: Thu, 28 May 2015 09:21:44 +0000 Subject: Scene Builder - How to add a theme or load a css on startup / Where to contribute Message-ID: <8FF6D5A0093A1041873F086CCB503A2D4E8C8207@EM08VMSX.emsw.local> Hello First off: Thanks to Gluon for providing Scene Builder installers! We are currently evaluating how to integrate Scene Builder in our design process. We have a fairly large application with lots of forms. There will be multiple themes for the end user to choose from. We would like to make it easy for our designers to preview these themes directly in Scene Builder. I see that it is possible to choose a preview theme over the menu in Preview > JavaFX Theme. Is it possible to add our own themes here? Maybe import them together with a control library? I also noticed the possibility to add scene style sheets for the preview. Unfortunately Scene Builder forgets what I have loaded on every restart (Win7). Can I load scene style sheets on starting, i.e. with command line arguments? I read that Gluon hosts a repo with the Scene Builder sources on Bitbucket parallel to OpenJFX. If we would contribute, my first sense would be to contribute to Gluon, as this is where the build we use gets made. Or should we contribute to OpenJFX, as this will be pulled to the Gluon Repo? In any case, where is the right place to create bug reports or feature requests for Scene Builder? The JavaFX-Jira or Gluon Bitbucket Issues? Smile Christoph -- Christoph Keimel EM-SOFTWARE GmbH Oskar-Messter-Stra?e 29 85737 Ismaning Tel: 089 / 996547-26 Fax: 089 / 996547-99 Internet: http://www.emsw.de EMail: c.keimel at emsw.de Gesch?ftsf?hrer: Dipl.-Inf. (FH) Georg Engl UST-Id-Nr.: DE 131 175 644, HRB 80271 M?nchen From anton.nashatyrev at oracle.com Thu May 28 12:20:43 2015 From: anton.nashatyrev at oracle.com (Anton Nashatyrev) Date: Thu, 28 May 2015 15:20:43 +0300 Subject: [8u60, 9] Review request for RT-40498: WebView horizontal scrolling using mouse or touch device causes rendering artifacts Message-ID: <5567081B.9010209@oracle.com> Hi Anton, All can you please review the fix: https://javafx-jira.kenai.com/browse/RT-40498 http://cr.openjdk.java.net/~anashaty/RT-40498/webrev.00/ Thanks! Anton. From anton.tarasov at oracle.com Thu May 28 16:42:27 2015 From: anton.tarasov at oracle.com (Anton V. Tarasov) Date: Thu, 28 May 2015 19:42:27 +0300 Subject: Compiling OpenJFX + WebKit In-Reply-To: References: Message-ID: <55674573.3050904@oracle.com> Hi Michael, [Sorry for the delay...] On 11.05.2015 19:12, Michael Hoffer wrote: > Hi, > > I just tried to compile OpenJFX from the 8u-dev branch on OS X and Ubuntu. > Unfortunately, I'm experiencing several problems. Without WebKit everything > works fine. But with WebKit there are several problems: > > 1. the build script has a webview-deps:1.3 dependency which has not been > published on maven central. > > If I revert the version number of the dependency to the 1.2 version (newest > version that is available) I run into the next problem: As Kevin mentioned you can't build it with webview-deps 1.2 (except may be for OSX where the new deps weren't changed). On Linux webview-deps 1.3 additionally contain ICU 48 libs for static linking: lib/ libicudata.a libicui18n.a libicuio.a libicuuc.a include/unicode/ a list of related headers You can take the sources from here and try to build them on your own: http://site.icu-project.org/download/48 > > 2. WebKit does not compile on Ubuntu because of missing libraries (can be > fixed via sudo apt-get install libqt4-dev) > > If I add the missing dependencies I can compile WebKit, but Does it mean you found the missing ICU static libs in libqt4-dev?... > > 3. the generated Java code contains errors (also happens on OS X), starting > with > > openjfx/rt-8u-dev/modules/web/build/linux/Release/WebCore/generated/java/com/sun/webkit/dom/CounterImpl.java:5: > error: cannot find symbol > import com.sun.webkit.Disposer; > ^ > symbol: class Disposer > location: package com.sun.webkit The sources in: rt/modules/web/build/linux/Release/WebCore/generated/java are copied from: rt/modules/web/src/main/java-wrappers. These sources depend on the main sources in: rt/modules/web/src/main/java. The build process goes in the following order: 1. java sources: rt/modules/web/src/main/java 2. native sources: rt/modules/web/src/main/native 3. generated java sources: rt/modules/web/build/linux/Release/WebCore/generated/java So, on the 3rd step all the main java compiled sources should already be put into: rt/modules/web/build/classes/main including the com.sun.webkit.Disposer class. So, please check you have it there. Also, please make sure you have Gradle v1.8 as recommended on the wiki page. In case you continue facing issues with the generated java sources, please send me the full build log file... > > Are these known problems? I'd really love to compile my own OpenJFX version > as I did with the first Java 8 preview version where the compilation was > relatively easy to accomplish. > > 4. In my opinion the wiki should be updated with more recent information on > which os/library/compiler version is needed. On OS X for example, I needed > to use qtmake from qt5 since the qt4 version was missing the correct spec > file for clang. And it was generally unclear whether building on OS X 10.9 > or 10.10 is supported. > > Any help is appreciated! And I'm also willing to contribute documentation/ > fixes if necessary. (Kevin already responded to this point.) Thank you for the reporting problems! With regards, Anton. > > Regards, > Michael Hoffer > From anton.tarasov at oracle.com Thu May 28 16:47:04 2015 From: anton.tarasov at oracle.com (Anton V. Tarasov) Date: Thu, 28 May 2015 19:47:04 +0300 Subject: Compiling OpenJFX + WebKit In-Reply-To: <5550E180.4070904@oracle.com> References: <5550E180.4070904@oracle.com> Message-ID: <55674688.2050204@oracle.com> On 11.05.2015 20:06, Kevin Rushforth wrote: > Hi Michael, > > Thanks for pointing this out. I'm not sure what we did last time to get the webview-deps into > maven, but Anton can probably check into it. It will not build successfully with the older version > of webview-deps so I don't recommend wasting any time trying. Delivering to Maven Central is still in progress. The activity was suspended for a while (sorry about that...) but I'm planning to resume it ASAP. With regards, Anton. > > In addition, we now rely on upgraded compilers with C++11 support, and also Qt 5.2, to build > WebView. We can update the Wiki. If you can help (or at least point out all the places that you > found that are now out of date), that would be great. > > Our supported build platforms, which also need to be specified on the Wiki are: > > Windows: Windows 7 or later, VS 2013 > Mac: OS X 10.9.5 or later, Xcode 5.1.1 > Linux: Ubuntu 14.04 or later (we use Oracle Linux 6.4 with devtoolset-3 gcc 4.9 compilers) > > -- Kevin > > > Michael Hoffer wrote: >> Hi, >> >> I just tried to compile OpenJFX from the 8u-dev branch on OS X and Ubuntu. >> Unfortunately, I'm experiencing several problems. Without WebKit everything >> works fine. But with WebKit there are several problems: >> >> 1. the build script has a webview-deps:1.3 dependency which has not been >> published on maven central. >> >> If I revert the version number of the dependency to the 1.2 version (newest >> version that is available) I run into the next problem: >> >> 2. WebKit does not compile on Ubuntu because of missing libraries (can be >> fixed via sudo apt-get install libqt4-dev) >> >> If I add the missing dependencies I can compile WebKit, but >> >> 3. the generated Java code contains errors (also happens on OS X), starting >> with >> >> openjfx/rt-8u-dev/modules/web/build/linux/Release/WebCore/generated/java/com/sun/webkit/dom/CounterImpl.java:5: >> >> error: cannot find symbol >> import com.sun.webkit.Disposer; >> ^ >> symbol: class Disposer >> location: package com.sun.webkit >> >> Are these known problems? I'd really love to compile my own OpenJFX version >> as I did with the first Java 8 preview version where the compilation was >> relatively easy to accomplish. >> >> 4. In my opinion the wiki should be updated with more recent information on >> which os/library/compiler version is needed. On OS X for example, I needed >> to use qtmake from qt5 since the qt4 version was missing the correct spec >> file for clang. And it was generally unclear whether building on OS X 10.9 >> or 10.10 is supported. >> >> Any help is appreciated! And I'm also willing to contribute documentation/ >> fixes if necessary. >> >> Regards, >> Michael Hoffer >> From David.Hill at Oracle.com Thu May 28 18:26:58 2015 From: David.Hill at Oracle.com (David Hill) Date: Thu, 28 May 2015 14:26:58 -0400 Subject: review of CONF=NativeDebug for linux Message-ID: <55675DF2.6010801@Oracle.com> Kevin, et al. Trying to build on Linux with -PCONF=DebugNative fails due to T2K stuff. It is reasonably easy to make conditional the additions of the gcc warning flags we want. Jira: https://javafx-jira.kenai.com/browse/RT-46104 webrev: http://cr.openjdk.java.net/~ddhill/RT-46104 -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From anton.nashatyrev at oracle.com Thu May 28 18:50:39 2015 From: anton.nashatyrev at oracle.com (Anton Nashatyrev) Date: Thu, 28 May 2015 21:50:39 +0300 Subject: [8u60, 9] Review request for RT-46101: [WebView] Crash while content selection on yahoo.com Message-ID: <5567637F.8010001@oracle.com> Hi Anton, All can you please review the fix: https://javafx-jira.kenai.com/browse/RT-46101 http://cr.openjdk.java.net/~anashaty/RT-46101/webrev.00/ Thanks! Anton. From morris.meyer at oracle.com Thu May 28 19:20:33 2015 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 28 May 2015 15:20:33 -0400 Subject: [9-dev] RT-46093: Different months can get the same info "You were born yesterday" Message-ID: <55676A81.7090208@oracle.com> For those of us who weren't born yesterday, Please review the following issue in Ensemble8. The SimpleDataFormat was using minutes in hours instead of months for the formatted string. Thanks, --morris WEBREV - http://cr.openjdk.java.net/~morris/RT-46093.01/ JIRA - https://javafx-jira.kenai.com/browse/RT-46093 From mark.reinhold at oracle.com Thu May 28 22:31:43 2015 From: mark.reinhold at oracle.com (mark.reinhold at oracle.com) Date: Thu, 28 May 2015 15:31:43 -0700 (PDT) Subject: JEP 257: Update JavaFX/Media to Newer Version of GStreamer Message-ID: <20150528223143.7311D64B54@eggemoggin.niobe.net> New JEP Candidate: http://openjdk.java.net/jeps/257 - Mark From robert.zenz at sibvisions.com Fri May 29 07:20:47 2015 From: robert.zenz at sibvisions.com (Robert Zenz) Date: Fri, 29 May 2015 07:20:47 +0000 Subject: AW: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization In-Reply-To: References: <20150514204835.024FC62C90@eggemoggin.niobe.net> Message-ID: Okay, I think I slowly start to see how this will be working. But the logic within the Behaviors won't go away or be moved, am I seeing this correct? Maybe I should start with the viewpoint from which I'm looking at it. The Behaviors contain logic at the moment, various functions that are used by the skin or the behavior itself (for example the selectNextTab() function in the TabPaneBehavior). What I'm arguing for is having the possibility to override such functions at one central point, currently these functions are called from multiple locations, the skin and the behavior itself. So if I want to change that function, I can extend the behavior and override the function. Will such a thing be possible with the new InputMaps, or will I have to rewire all mappings that use a function in the behavior? What about "hard coded" calls to functions in the behavior? ----------------------------------------------------------------------- Von: Jonathan Giles [mailto:jonathan.giles at oracle.com] Gesendet: Dienstag, 19. Mai 2015 10:50 An: Robert Zenz; openjfx-dev at openjdk.java.net Betreff: Re: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization It's late and I'm writing this on my phone, but briefly, I think you've missed the 'project two' section: input maps are how behaviors are now specified, as a collection of inputs that map to some event handling code. All skins do in this environment is install a series of these mappings into the control input map. These are all accessible as public API. The big thing you miss out on is actually having access to the code within these event handlers (wish are all gathered in the behavior class). But you can always replace an input mapping with new code. I can clarify more tomorrow if things are unclear or if you have any further questions. -- Jonathan Sent from a touch device. Please excuse my brevity. From anton.nashatyrev at oracle.com Fri May 29 12:25:24 2015 From: anton.nashatyrev at oracle.com (Anton Nashatyrev) Date: Fri, 29 May 2015 15:25:24 +0300 Subject: [8u60, 9] Review request for RT-40743: [WebView] IllegalArgumentException when dragging in google maps Message-ID: <55685AB4.5060402@oracle.com> Hi Anton, All can you please review the fix: https://javafx-jira.kenai.com/browse/RT-40743 http://cr.openjdk.java.net/~anashaty/RT-40743/webrev.00/ Thanks! Anton. From kevin.rushforth at oracle.com Fri May 29 13:16:54 2015 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 29 May 2015 06:16:54 -0700 Subject: CFV: New OpenJFX Committer: Anton Nashatyrev Message-ID: <556866C6.1060104@oracle.com> I hereby nominate Anton Nashatyrev to OpenJFX Committer. Anton is a member of JavaFX team at Oracle working on WebKit and Media. A list of Anton's contributions is available via the following link: http://hg.openjdk.java.net/openjfx/8u-dev/rt/log?rev=nashat Votes are due by June 12, 2015. Only current OpenJFX Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [2]. Nomination to a project Committer is described in [3]. [1] http://openjdk.java.net/census#openjfx [2] http://openjdk.java.net/bylaws#lazy-consensus [3] http://openjdk.java.net/projects#project-committer Thank you. -- Kevin From David.Hill at Oracle.com Fri May 29 13:50:25 2015 From: David.Hill at Oracle.com (David Hill) Date: Fri, 29 May 2015 09:50:25 -0400 Subject: CFV: New OpenJFX Committer: Anton Nashatyrev In-Reply-To: <556866C6.1060104@oracle.com> References: <556866C6.1060104@oracle.com> Message-ID: <55686EA1.6030908@Oracle.com> YES On 5/29/15, 9:16 AM, Kevin Rushforth wrote: > I hereby nominate Anton Nashatyrev to OpenJFX Committer. > > Anton is a member of JavaFX team at Oracle working on WebKit and Media. > > A list of Anton's contributions is available via the following link: > > http://hg.openjdk.java.net/openjfx/8u-dev/rt/log?rev=nashat > > Votes are due by June 12, 2015. > > Only current OpenJFX Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. Nomination to a project Committer is described in [3]. > > [1] http://openjdk.java.net/census#openjfx > [2] http://openjdk.java.net/bylaws#lazy-consensus > [3] http://openjdk.java.net/projects#project-committer > > Thank you. > > -- Kevin > -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From tomas.mikula at gmail.com Fri May 29 14:33:38 2015 From: tomas.mikula at gmail.com (Tomas Mikula) Date: Fri, 29 May 2015 10:33:38 -0400 Subject: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization In-Reply-To: References: <20150514204835.024FC62C90@eggemoggin.niobe.net> Message-ID: Hi Robert, > The Behaviors contain logic at the moment, various functions that are used > by the skin or the behavior itself (for example the selectNextTab() function > in the TabPaneBehavior). In my view, such code should be refactored to not have any back-reference from skin to behavior. As a result, it will be impossible for the skin to directly call methods of behavior. Tomas From alexander.zvegintsev at oracle.com Fri May 29 15:11:28 2015 From: alexander.zvegintsev at oracle.com (Alexander Zvegintsev) Date: Fri, 29 May 2015 18:11:28 +0300 Subject: CFV: New OpenJFX Committer: Anton Nashatyrev In-Reply-To: <556866C6.1060104@oracle.com> References: <556866C6.1060104@oracle.com> Message-ID: <556881A0.4080504@oracle.com> Vote: yes -- Thanks, Alexander. On 05/29/2015 04:16 PM, Kevin Rushforth wrote: > I hereby nominate Anton Nashatyrev to OpenJFX Committer. > > Anton is a member of JavaFX team at Oracle working on WebKit and Media. > > A list of Anton's contributions is available via the following link: > > http://hg.openjdk.java.net/openjfx/8u-dev/rt/log?rev=nashat > > Votes are due by June 12, 2015. > > Only current OpenJFX Committers [1] are eligible to vote on this > nomination. Votes must be cast in the open by replying to this mailing > list. > > For Lazy Consensus voting instructions, see [2]. Nomination to a > project Committer is described in [3]. > > [1] http://openjdk.java.net/census#openjfx > [2] http://openjdk.java.net/bylaws#lazy-consensus > [3] http://openjdk.java.net/projects#project-committer > > Thank you. > > -- Kevin > From vadim.pakhnushev at oracle.com Fri May 29 16:02:02 2015 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Fri, 29 May 2015 19:02:02 +0300 Subject: CFV: New OpenJFX Committer: Anton Nashatyrev In-Reply-To: <556866C6.1060104@oracle.com> References: <556866C6.1060104@oracle.com> Message-ID: <55688D7A.60209@oracle.com> Vote: yes On 29.05.2015 16:16, Kevin Rushforth wrote: > I hereby nominate Anton Nashatyrev to OpenJFX Committer. > > Anton is a member of JavaFX team at Oracle working on WebKit and Media. > > A list of Anton's contributions is available via the following link: > > http://hg.openjdk.java.net/openjfx/8u-dev/rt/log?rev=nashat > > Votes are due by June 12, 2015. > > Only current OpenJFX Committers [1] are eligible to vote on this > nomination. Votes must be cast in the open by replying to this mailing > list. > > For Lazy Consensus voting instructions, see [2]. Nomination to a > project Committer is described in [3]. > > [1] http://openjdk.java.net/census#openjfx > [2] http://openjdk.java.net/bylaws#lazy-consensus > [3] http://openjdk.java.net/projects#project-committer > > Thank you. > > -- Kevin > From vadim.pakhnushev at oracle.com Fri May 29 16:02:13 2015 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Fri, 29 May 2015 19:02:13 +0300 Subject: In(Sanity) Testing Mondays Message-ID: <55688D85.9000602@oracle.com> Reminder, Monday is our weekly sanity testing. You can find your testing assignment at: https://wiki.openjdk.java.net/display/OpenJFX/Sanity+Testing Also please remember that the repo will be locked from 1am PDT until 1pm PDT. Happy testing! Thanks, Vadim From anton.tarasov at oracle.com Fri May 29 16:19:49 2015 From: anton.tarasov at oracle.com (Anton V. Tarasov) Date: Fri, 29 May 2015 19:19:49 +0300 Subject: CFV: New OpenJFX Committer: Anton Nashatyrev In-Reply-To: <556866C6.1060104@oracle.com> References: <556866C6.1060104@oracle.com> Message-ID: <556891A5.7020907@oracle.com> Vote: YES On 29.05.2015 16:16, Kevin Rushforth wrote: > I hereby nominate Anton Nashatyrev to OpenJFX Committer. > > Anton is a member of JavaFX team at Oracle working on WebKit and Media. > > A list of Anton's contributions is available via the following link: > > http://hg.openjdk.java.net/openjfx/8u-dev/rt/log?rev=nashat > > Votes are due by June 12, 2015. > > Only current OpenJFX Committers [1] are eligible to vote on this nomination. Votes must be cast in > the open by replying to this mailing list. > > For Lazy Consensus voting instructions, see [2]. Nomination to a project Committer is described in > [3]. > > [1] http://openjdk.java.net/census#openjfx > [2] http://openjdk.java.net/bylaws#lazy-consensus > [3] http://openjdk.java.net/projects#project-committer > > Thank you. > > -- Kevin >