From arunprasad.rajkumar at oracle.com Tue Apr 2 06:29:23 2019 From: arunprasad.rajkumar at oracle.com (Arunprasad Rajkumar) Date: Tue, 2 Apr 2019 11:59:23 +0530 Subject: [RFR][openjfx13] JDK-8214716: Record the versions of tools used to build FX in the repo Message-ID: Hi, Please review the following PR which add information about JavaFX dependency tools. https://github.com/javafxports/openjdk-jfx/pull/427 Thanks, Arun From wookey.dean at gmail.com Tue Apr 2 08:05:34 2019 From: wookey.dean at gmail.com (Dean Wookey) Date: Tue, 2 Apr 2019 10:05:34 +0200 Subject: RFR: JDK-8221691: CSS font caching could be improved Message-ID: Hi, Please review the fix for JDK-8221691: CSS font caching could be improved https://bugs.openjdk.java.net/browse/JDK-8221691 https://github.com/javafxports/openjdk-jfx/pull/424 Dean From diegocirujano at gmail.com Tue Apr 2 13:53:02 2019 From: diegocirujano at gmail.com (Diego Cirujano) Date: Tue, 2 Apr 2019 15:53:02 +0200 Subject: Call for IntelliJ IDEA user help Message-ID: Hi all, Christian and me are trying to improve the build.gradle file and it will let the diverse IDEs import it and it will allow us to remove the specific IDE files. If you are an IntelliJ IDEA user and you have at least Version 20.18.3, you can easily help us. Please, follow the following steps: 1.- Clone the repo git clone https://github.com/christianheilmann/openjdk-jfx.git 2.- Remove .idea directory 3.- Open openjfx from Intellij "File" -> "New" -> "Project from existing sources..." Can you answer the following questions: - Can you build from the IDE? - Can you check if there is any error(dependencies, etc.)? Thank you very much for your time! Diego -------------------------------------------------------------------------------------- We already test it in Windows and Mac and it should work, but it will help us to have at least another person(e.g GNU/Linux user) Thank you very much to Sverre Moe(@DJViking) and Nir Lisker(@nlisker) for working in the eclipse part. From thomas.manz+JFX at gmail.com Tue Apr 2 17:13:03 2019 From: thomas.manz+JFX at gmail.com (thomas.manz+JFX at gmail.com) Date: Tue, 2 Apr 2019 19:13:03 +0200 Subject: Fwd: JavaFX 11 on Raspberry Pi Message-ID: <017d01d4e977$56345fc0$029d1f40$@gmail.com> Thanks for the suggestion, I tried java-11.0.2 and java-12 from BellSoft but for both I still get the same result. The GUI is running but as soon as I press the button that starts to play the mp3 I get: Exception in thread "JavaFX Application Thread" java.lang.UnsatisfiedLinkError: no jfxmedia in java.library.path: [/usr/java/packages/lib, /lib, /usr/lib] I also could not find a file libjfxmedia.so in any of the packages. Any other suggestions? Thanks and best regards, Thomas -----Urspr?ngliche Nachricht----- Von: Michael Paus [mailto:mp at jugs.org] Gesendet: Donnerstag, 28. M?rz 2019 08:39 An: openjfx-dev at openjdk.java.net Betreff: Re: Fwd: JavaFX 11 on Raspberry Pi You might want to have a look at https://bell-sw.com/pages/java-12/ I don't know whether the audio works but I think it should be worth a try. Liberica already contains JavaFX, so you do not need the bits from Gluon. Michael Am 27.03.19 um 20:36 schrieb Thomas Manz: > Hello, > > in the last months I started to do some tests with Java 11 and JavaFX 11 on > a Raspberry Pi 3. I followed this manual (http://docs.gluonhq.com/embedded/) > but unfortunately I realized that so far Gluon?s EA build of JavaFX > 11-ea-25 for armv6hf does not support audio for javafx.media ( > https://stackoverflow.com/questions/53906096/play-mp3-with-javafx-11-on-raspberry-pi-3 > ). > > Last week I repeated this with the meanwhile published non-EA build of > JavaFX 11.0.2 for armv6hf but the problem still exists. > > In order to get a better feeling for the situation about JavaFX on the > Raspberry Pi I would be interested in some details: > 1. The comment on StackOverflow says there is something missing in Gluon?s > release - is this correct or did I make a mistake? > 2. In case the problem is in Gluon?s package: > a) do you know about plans to fix this in the near future? Maybe with > JavaFX 12? > b) are you aware of other sources for ARM builds of JavaFX 11 (that > might support audio)? > 3. Is there some kind of documentation accessible that shows what > functionalities are included / not included in JavaFX 11 for ARM or any > future releases? > > Thank you very much for your help! > > Best regards, > Thomas Manz From andrew at nmedia.net Wed Apr 3 02:07:06 2019 From: andrew at nmedia.net (Andrew Munn) Date: Tue, 2 Apr 2019 19:07:06 -0700 (PDT) Subject: ClassCastException from DoubleStringConverter Message-ID: This happens in FX 11.0.2 and 12. I declare a column for Doubles... @FXML private TableColumn myColumn; When I add this code: myColumn.setCellFactory(TextFieldTableCell.forTableColumn(new DoubleStringConverter())); I get this exception: Exception in thread "JavaFX Application Thread" java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Double (java.lang.Integer and java.lang.Double are in module java.base of loader 'bootstrap') at javafx.base/javafx.util.converter.DoubleStringConverter.toString(DoubleStringConverter.java:35) at javafx.controls/javafx.scene.control.cell.CellUtils.getItemText(CellUtils.java:107) at javafx.controls/javafx.scene.control.cell.CellUtils.updateItem(CellUtils.java:208) at javafx.controls/javafx.scene.control.cell.TextFieldTableCell.updateItem(TextFieldTableCell.java:211) at javafx.controls/javafx.scene.control.TableCell.updateItem(TableCell.java:665) at javafx.controls/javafx.scene.control.TableCell.indexChanged(TableCell.java:469) at javafx.controls/javafx.scene.control.IndexedCell.updateIndex(IndexedCell.java:120) at javafx.controls/javafx.scene.control.skin.TableRowSkinBase.updateCells(TableRowSkinBase.java:539) at javafx.controls/javafx.scene.control.skin.TableRowSkinBase.(TableRowSkinBase.java:159) at javafx.controls/javafx.scene.control.skin.TableRowSkin.(TableRowSkin.java:89) at javafx.controls/javafx.scene.control.TableRow.createDefaultSkin(TableRow.java:213) at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897) at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83) at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9529) at javafx.graphics/javafx.scene.Node.applyCss(Node.java:9616) at javafx.controls/javafx.scene.control.skin.VirtualFlow.setCellIndex(VirtualFlow.java:1715) at javafx.controls/javafx.scene.control.skin.VirtualFlow.getCell(VirtualFlow.java:1692) at javafx.controls/javafx.scene.control.skin.VirtualFlow.getCellLength(VirtualFlow.java:1801) at javafx.controls/javafx.scene.control.skin.VirtualFlow.computeViewportOffset(VirtualFlow.java:2639) at javafx.controls/javafx.scene.control.skin.VirtualFlow.layoutChildren(VirtualFlow.java:1245) at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1204) at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) at javafx.graphics/javafx.scene.Scene.doLayoutPass(Scene.java:576) at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2482) at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:412) at java.base/java.security.AccessController.doPrivileged(Native Method) at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:411) at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:438) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:519) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:499) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:492) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:320) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) at java.base/java.lang.Thread.run(Thread.java:834) From andrew at nmedia.net Wed Apr 3 02:22:37 2019 From: andrew at nmedia.net (Andrew Munn) Date: Tue, 2 Apr 2019 19:22:37 -0700 (PDT) Subject: ClassCastException from DoubleStringConverter In-Reply-To: References: Message-ID: And if I change the column to String I get this: myColumn.setCellFactory(TextFieldTableCell.forTableColumn()); Exception in thread "JavaFX Application Thread" java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String (java.lang.Integer and java.lang.String are in module java.base of loader 'bootstrap') On Tue, 2 Apr 2019, Andrew Munn wrote: > This happens in FX 11.0.2 and 12. I declare a column for Doubles... > > @FXML > private TableColumn myColumn; > > When I add this code: > myColumn.setCellFactory(TextFieldTableCell.forTableColumn(new DoubleStringConverter())); > > I get this exception: > > Exception in thread "JavaFX Application Thread" > java.lang.ClassCastException: class java.lang.Integer cannot be cast to > class java.lang.Double (java.lang.Integer and java.lang.Double are in > module java.base of loader 'bootstrap') > at javafx.base/javafx.util.converter.DoubleStringConverter.toString(DoubleStringConverter.java:35) > at javafx.controls/javafx.scene.control.cell.CellUtils.getItemText(CellUtils.java:107) > at javafx.controls/javafx.scene.control.cell.CellUtils.updateItem(CellUtils.java:208) > at javafx.controls/javafx.scene.control.cell.TextFieldTableCell.updateItem(TextFieldTableCell.java:211) > at javafx.controls/javafx.scene.control.TableCell.updateItem(TableCell.java:665) > at javafx.controls/javafx.scene.control.TableCell.indexChanged(TableCell.java:469) > at javafx.controls/javafx.scene.control.IndexedCell.updateIndex(IndexedCell.java:120) > at javafx.controls/javafx.scene.control.skin.TableRowSkinBase.updateCells(TableRowSkinBase.java:539) > at javafx.controls/javafx.scene.control.skin.TableRowSkinBase.(TableRowSkinBase.java:159) > at javafx.controls/javafx.scene.control.skin.TableRowSkin.(TableRowSkin.java:89) > at javafx.controls/javafx.scene.control.TableRow.createDefaultSkin(TableRow.java:213) > at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897) > at javafx.controls/javafx.scene.control.Control.access$000(Control.java:83) > at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89) > at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67) > at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:145) > at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9529) > at javafx.graphics/javafx.scene.Node.applyCss(Node.java:9616) > at javafx.controls/javafx.scene.control.skin.VirtualFlow.setCellIndex(VirtualFlow.java:1715) > at javafx.controls/javafx.scene.control.skin.VirtualFlow.getCell(VirtualFlow.java:1692) > at javafx.controls/javafx.scene.control.skin.VirtualFlow.getCellLength(VirtualFlow.java:1801) > at javafx.controls/javafx.scene.control.skin.VirtualFlow.computeViewportOffset(VirtualFlow.java:2639) > at javafx.controls/javafx.scene.control.skin.VirtualFlow.layoutChildren(VirtualFlow.java:1245) > at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1204) > at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) > at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) > at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) > at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) > at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) > at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) > at javafx.graphics/javafx.scene.Parent.layout(Parent.java:1211) > at javafx.graphics/javafx.scene.Scene.doLayoutPass(Scene.java:576) > at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2482) > at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:412) > at java.base/java.security.AccessController.doPrivileged(Native Method) > at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:411) > at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:438) > at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:519) > at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:499) > at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:492) > at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:320) > at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) > at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method) > at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) > at java.base/java.lang.Thread.run(Thread.java:834) > From marcel.au at web.de Wed Apr 3 09:00:10 2019 From: marcel.au at web.de (marcel Austenfeld) Date: Wed, 3 Apr 2019 11:00:10 +0200 Subject: Eclipse RCP HighDPI Scaling on Linux broken with embedded JavaFX Message-ID: From marcel.au at web.de Wed Apr 3 09:02:26 2019 From: marcel.au at web.de (marcel Austenfeld) Date: Wed, 3 Apr 2019 11:02:26 +0200 Subject: Eclipse RCP HighDPI Scaling on Linux broken with embedded JavaFX Message-ID: I already filed a bug report (with screenshot) to the Eclipse bug database but I think JavaFX is responsible for this weired behaviour on Linux and GTK 3, see: ? https://bugs.eclipse.org/bugs/show_bug.cgi?id=546011 ? The bug only occurs when the display settings (e.g., on Ubuntu - but also tested on Debian and Arch KDE) is set to a scaled mode of 2 which is the default setting on high dpi displays. ? I tested this mainly with a screen resolution of 3000*2000 but also with VirtualBox on a Retina Display. ? At 100% (scale 1) the application works fine and the bug does not occur. ? As described in the bug report if I open at startup only SWT view perspectives everything scales correctly at scale factor 2. ? However if I then open an embedded FXCanvas (e.g. an integrated SceneBuilder perspective) the whole application is scaled to 1 and all parts are not repainted correctly (see screenshot Eclipse bug database). ? I run my application on OpenJDK 12 with OpenJFX 12. ? An older version? of my app based on Java 1.8.72 and the embedded JavaFx (GTK 2) works fine and does not show this behaviour on HighDPI. ? Are there any new settings which could cause this behaviour on GTK3? From cnicholas at ikonscience.com Wed Apr 3 14:51:27 2019 From: cnicholas at ikonscience.com (Chris Nicholas) Date: Wed, 3 Apr 2019 14:51:27 +0000 Subject: JavaFx 11 on RHEL 6 Message-ID: <6da8571ac844415381ecae9404303b01@MBX02B-IAD3.mex08.mlsrvr.com> Hi. I?ve been directed to forward this query to this address by Gluon support. Here?s the query: Our company makes a desktop application in Java. We have invested quite heavily in switching our application to JavaFX over the last few years. We're now trying to switch (from Oracle Java 8) to use java 11 with openjdk and openjfx. It all seems fine except if I want to run our application on Linux RHEL 6. Then I get errors about unsatisfied links to do with glibc version, while trying to initialise the graphics. We've reached out to our customers and those that run linux are pretty much all still on RHEL 6 and have no plans to move. I've looked about on the internet and can't find any solution to this problem. Are there any plans for addressing this in future versions of openjfx? Let me know if you need anything more. From kevin.rushforth at oracle.com Wed Apr 3 15:09:22 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 3 Apr 2019 08:09:22 -0700 Subject: JavaFx 11 on RHEL 6 In-Reply-To: <6da8571ac844415381ecae9404303b01@MBX02B-IAD3.mex08.mlsrvr.com> References: <6da8571ac844415381ecae9404303b01@MBX02B-IAD3.mex08.mlsrvr.com> Message-ID: <610a31a6-7a55-14a4-5862-d3221994cd4a@oracle.com> As of JDK 9, JavaFX requires RHEL 7 or later, so no, there is no support for RHEL 6. It would be a moderate effort to add this (mostly in the build scripts and particularly in the way the native media libraries are built). We have no plans to add this support. -- Kevin On 4/3/2019 7:51 AM, Chris Nicholas wrote: > Hi. I?ve been directed to forward this query to this address by Gluon support. Here?s the query: > > Our company makes a desktop application in Java. We have invested quite heavily in switching our application to JavaFX over the last few years. We're now trying to switch (from Oracle Java 8) to use java 11 with openjdk and openjfx. It all seems fine except if I want to run our application on Linux RHEL 6. Then I get errors about unsatisfied links to do with glibc version, while trying to initialise the graphics. We've reached out to our customers and those that run linux are pretty much all still on RHEL 6 and have no plans to move. I've looked about on the internet and can't find any solution to this problem. Are there any plans for addressing this in future versions of openjfx? > > Let me know if you need anything more. > > From cnicholas at ikonscience.com Wed Apr 3 15:17:46 2019 From: cnicholas at ikonscience.com (Chris Nicholas) Date: Wed, 3 Apr 2019 15:17:46 +0000 Subject: JavaFx 11 on RHEL 6 In-Reply-To: <610a31a6-7a55-14a4-5862-d3221994cd4a@oracle.com> References: <6da8571ac844415381ecae9404303b01@MBX02B-IAD3.mex08.mlsrvr.com> <610a31a6-7a55-14a4-5862-d3221994cd4a@oracle.com> Message-ID: Hi Kevin Thanks for your prompt response. We were thinking about getting the code ourselves and trying to sort this locally. Do you think this is completely out of the question? I presume altering build scripts would not be a problem for us, but if there are any significant, possibly architectural, changes in the software itself (that require something RHEL 7 exclusive), then perhaps we might be barking up the wrong tree. Can you think of anything? Off the top of your head. Thanks Chris -----Original Message----- From: Kevin Rushforth [mailto:kevin.rushforth at oracle.com] Sent: 03 April 2019 16:09 To: Chris Nicholas ; openjfx-dev at openjdk.java.net Subject: Re: JavaFx 11 on RHEL 6 As of JDK 9, JavaFX requires RHEL 7 or later, so no, there is no support for RHEL 6. It would be a moderate effort to add this (mostly in the build scripts and particularly in the way the native media libraries are built). We have no plans to add this support. -- Kevin On 4/3/2019 7:51 AM, Chris Nicholas wrote: > Hi. I?ve been directed to forward this query to this address by Gluon support. Here?s the query: > > Our company makes a desktop application in Java. We have invested quite heavily in switching our application to JavaFX over the last few years. We're now trying to switch (from Oracle Java 8) to use java 11 with openjdk and openjfx. It all seems fine except if I want to run our application on Linux RHEL 6. Then I get errors about unsatisfied links to do with glibc version, while trying to initialise the graphics. We've reached out to our customers and those that run linux are pretty much all still on RHEL 6 and have no plans to move. I've looked about on the internet and can't find any solution to this problem. Are there any plans for addressing this in future versions of openjfx? > > Let me know if you need anything more. > > From kevin.rushforth at oracle.com Wed Apr 3 15:28:32 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 3 Apr 2019 08:28:32 -0700 Subject: JavaFx 11 on RHEL 6 In-Reply-To: References: <6da8571ac844415381ecae9404303b01@MBX02B-IAD3.mex08.mlsrvr.com> <610a31a6-7a55-14a4-5862-d3221994cd4a@oracle.com> Message-ID: <2cb6d88d-ac3c-820d-91bd-186f0dbf9065@oracle.com> The main thing we need the newer Glibc for was the native gstreamer stack. Our solution for FX 8, which still supports RHEL 6, was to build glib on linux and link it into the runtime. You might be able to look at the media Makefiles for FX 8 at https://hg.openjdk.java.net/openjfx/8u-dev/rt , specifically, the FX 8 build changes for JDK-8199527. There might also be some changes needed for building the glass GTK2 code, which were uncovered when we recently backported GTK3 to FX 8. I won't be able to answer any specific questions you might have, but maybe that will point you in the right direction. -- Kevin On 4/3/2019 8:17 AM, Chris Nicholas wrote: > Hi Kevin > > Thanks for your prompt response. > > We were thinking about getting the code ourselves and trying to sort this locally. Do you think this is completely out of the question? I presume altering build scripts would not be a problem for us, but if there are any significant, possibly architectural, changes in the software itself (that require something RHEL 7 exclusive), then perhaps we might be barking up the wrong tree. Can you think of anything? Off the top of your head. > > Thanks > > Chris > > -----Original Message----- > From: Kevin Rushforth [mailto:kevin.rushforth at oracle.com] > Sent: 03 April 2019 16:09 > To: Chris Nicholas ; openjfx-dev at openjdk.java.net > Subject: Re: JavaFx 11 on RHEL 6 > > As of JDK 9, JavaFX requires RHEL 7 or later, so no, there is no support for RHEL 6. It would be a moderate effort to add this (mostly in the build scripts and particularly in the way the native media libraries are built). We have no plans to add this support. > > -- Kevin > > > On 4/3/2019 7:51 AM, Chris Nicholas wrote: >> Hi. I?ve been directed to forward this query to this address by Gluon support. Here?s the query: >> >> Our company makes a desktop application in Java. We have invested quite heavily in switching our application to JavaFX over the last few years. We're now trying to switch (from Oracle Java 8) to use java 11 with openjdk and openjfx. It all seems fine except if I want to run our application on Linux RHEL 6. Then I get errors about unsatisfied links to do with glibc version, while trying to initialise the graphics. We've reached out to our customers and those that run linux are pretty much all still on RHEL 6 and have no plans to move. I've looked about on the internet and can't find any solution to this problem. Are there any plans for addressing this in future versions of openjfx? >> >> Let me know if you need anything more. >> >> > > From alexander.matveev at oracle.com Thu Apr 4 03:30:44 2019 From: alexander.matveev at oracle.com (Alexander Matveev) Date: Wed, 3 Apr 2019 20:30:44 -0700 Subject: [13] RFR: JDK-8133841: Full HD video can not be played on standard 1080p screen in portrait mode Message-ID: <8e24e7ce-079f-085f-5ce7-b61cb5413ab5@oracle.com> Hi Kevin, Please review the following: https://bugs.openjdk.java.net/browse/JDK-8133841 ?- Added support for portrait videos (1080x1920) on Windows. Thanks, Alexander From arunprasad.rajkumar at oracle.com Thu Apr 4 05:32:46 2019 From: arunprasad.rajkumar at oracle.com (Arunprasad Rajkumar) Date: Thu, 4 Apr 2019 11:02:46 +0530 Subject: [RFR] [openjfx13] JDK-8221941: Wrong package declaration for WCTextRunImpl.java in web module Message-ID: Hi Kevin, Please review the following PR, https://github.com/javafxports/openjdk-jfx/pull/429 Thanks, Arun From streifi at icloud.com Fri Apr 5 11:51:20 2019 From: streifi at icloud.com (Christian Heilmann) Date: Fri, 05 Apr 2019 11:51:20 GMT Subject: =?utf-8?B?UkZSOiBKREstODIyMTk4NzogTlBFIGluIGphdmFmeC5ncmFwaGljcy9qYXZh?= =?utf-8?B?Znguc3RhZ2UuV2luZG93JFRLQm91bmRzQ29uZmlndXJhdG9yLmFwcGx5?= Message-ID: Please review the fix for?"NPE in javafx.graphics/javafx.stage.Window$TKBoundsConfigurator.apply": https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8221987 https://github.com/javafxports/openjdk-jfx/pull/431 From johan.vos at gluonhq.com Fri Apr 5 12:36:26 2019 From: johan.vos at gluonhq.com (Johan Vos) Date: Fri, 5 Apr 2019 14:36:26 +0200 Subject: 11-backports Message-ID: Hi Kevin, I ask permission to backport the following issues to 11-dev: JDK-8209457 : [WebView] Canvas.toDataURL with image/jpeg MIME type fails JDK-8213541 : WebView does not handle HTTP response without ContentType JDK-8211307 : Add prefix to build tools paths JDK-8207772 : File API and FileReader should be supported in WebView JDK-8214119 : Update to 607.1 version of WebKit JDK-8214452 : Update libxml2 to version 2.9.9 JDK-8211454 : Update SQLite to version 3.26.0 JDK-8215702 : SVG gradients are not rendered JDK-8215799 : Complex text is not rendered by webkit on Windows JDK-8214185 : Upgrade GStreamer to the latest (1.14.4) version JDK-8213806 : WebView - JVM crashes for given HTML JDK-8218611 : [DRT] fast/xslt tests fails with Unsupported encoding windows-1251 JDK-8219539 : Cherry pick GTK WebKit 2.22.6 changes - Johan From kevin.rushforth at oracle.com Fri Apr 5 12:39:47 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 5 Apr 2019 05:39:47 -0700 Subject: 11-backports In-Reply-To: References: Message-ID: <7308ad01-8f16-a411-41b3-cba6c3ade55a@oracle.com> +1 On 4/5/2019 5:36 AM, Johan Vos wrote: > Hi Kevin, > > I ask permission to backport the following issues to 11-dev: > > JDK-8209457 : [WebView] Canvas.toDataURL with image/jpeg MIME type fails > JDK-8213541 : WebView does not handle HTTP response without ContentType > JDK-8211307 : Add prefix to build tools paths > JDK-8207772 : File API and FileReader should be supported in WebView > JDK-8214119 : Update to 607.1 version of WebKit > JDK-8214452 : Update libxml2 to version 2.9.9 > JDK-8211454 : Update SQLite to version 3.26.0 > JDK-8215702 : SVG gradients are not rendered > JDK-8215799 : Complex text is not rendered by webkit on Windows > JDK-8214185 : Upgrade GStreamer to the latest (1.14.4) version > JDK-8213806 : WebView - JVM crashes for given HTML > JDK-8218611 : [DRT] fast/xslt tests fails with Unsupported encoding > windows-1251 > JDK-8219539 : Cherry pick GTK WebKit 2.22.6 changes > > - Johan From thiago.sayao at clamed.com.br Fri Apr 5 12:54:47 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Fri, 5 Apr 2019 12:54:47 +0000 Subject: Request to bump JDK-8220272 priority Message-ID: Hi, Is it possible to bump up the JDK-8220272 priority? https://bugs.openjdk.java.net/browse/JDK-8220272 We are building a Point of Sale application in OpenJfx for Brazilian Pharmacy Retail. This bug often change the order or windows, so top modal windows shows behind it's parent and users thinks the system hanged (because events on the window are blocked since there is a modal child window that is behind). I can work to help fix it (I lack knowledge of openjfx internals, but at least I can try). Thanks. From kevin.rushforth at oracle.com Fri Apr 5 17:56:48 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 5 Apr 2019 10:56:48 -0700 Subject: [13] RFR: JDK-8221993: Create test to validate package declarations in source files Message-ID: <98811c11-d611-1aa2-a86e-8a6362f32af2@oracle.com> Please review the following test to check that the package name matches the file's location on disk: https://bugs.openjdk.java.net/browse/JDK-8221993 https://github.com/javafxports/openjdk-jfx/pull/430 -- Kevin From nlisker at gmail.com Sat Apr 6 15:37:53 2019 From: nlisker at gmail.com (Nir Lisker) Date: Sat, 6 Apr 2019 18:37:53 +0300 Subject: Review Request: JDK-8222073: Revert unintentional change to Dialog.java Message-ID: Hi Kevin, Please review the fix for: https://bugs.openjdk.java.net/browse/JDK-8222073 http://cr.openjdk.java.net/~nlisker/8222073/webrev.00/ Nir From thiago.sayao at clamed.com.br Sun Apr 7 19:20:08 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Sun, 7 Apr 2019 19:20:08 +0000 Subject: Call for IntelliJ IDEA user help Message-ID: Hi Diego, I have downloaded the sources and imported the project with the "Import project from external model" -> Gradle. I am able to build it in intellij from the gradle tab (openjdk-jfx -> Tasks -> build -> build). I have used Sdkman to install gradle 5.3.1 and ant. I have used Ubuntu 19.04 beta and IntelliJ Idea 2019.1 Ultimate. Cheers. From thiago.sayao at clamed.com.br Sun Apr 7 20:49:49 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Sun, 7 Apr 2019 20:49:49 +0000 Subject: Request to bump JDK-8220272 priority In-Reply-To: References: Message-ID: Did more research on this bug. It seems to happen when a stage has more than on child. The second child does not fire events on GlassWindowEventHandler. Still do not know why.. Reporting here since I can't update the bug (no access). ________________________________ De: openjfx-dev em nome de Thiago Milczarek Sayao Enviado: sexta-feira, 5 de abril de 2019 09:54 Para: openjfx-dev at openjdk.java.net Assunto: Request to bump JDK-8220272 priority Hi, Is it possible to bump up the JDK-8220272 priority? https://bugs.openjdk.java.net/browse/JDK-8220272 We are building a Point of Sale application in OpenJfx for Brazilian Pharmacy Retail. This bug often change the order or windows, so top modal windows shows behind it's parent and users thinks the system hanged (because events on the window are blocked since there is a modal child window that is behind). I can work to help fix it (I lack knowledge of openjfx internals, but at least I can try). Thanks. From thiago.sayao at clamed.com.br Mon Apr 8 02:00:33 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Mon, 8 Apr 2019 02:00:33 +0000 Subject: Request to bump JDK-8220272 priority In-Reply-To: References: , Message-ID: Did some more research. For some reason enterModal() on ui/Window.java is never called. The native part on gtk/GlassWindow.cpp is also never called. So, something else is doing the "MODAL" work inside the Java code and not on the native part. I think the bug is on WindowStage.java -> setVisible. Commenting out this line on setVisible seems to fix the problem: // After setting visible to true on the native window, we block // other windows. if (visible) { if (modality == Modality.WINDOW_MODAL) { if (owner != null && owner instanceof WindowStage) { //HERE ---> ((WindowStage) owner).setEnabled(false); } } else if (modality == Modality.APPLICATION_MODAL) { windowsSetEnabled(false); } if (isAppletStage && null != appletWindow) { System.out.println("assertStageOrder"); appletWindow.assertStageOrder(); } } What I think it's happening: setEnable(false) is being called on "Last Dialog" (reference to the example code on the bug report) owner which is "Second Window", so "Fist Window" is assuming as the top window again. It's somehow depending on event order. On my work machine the result varies, but mostly it shows the bug. On my home machine (which is newer and much more powerful) it *always* shows the bug. De: openjfx-dev em nome de Thiago Milczarek Sayao Enviado: domingo, 7 de abril de 2019 17:49 Para: openjfx-dev at openjdk.java.net Assunto: RE: Request to bump JDK-8220272 priority ? Did more research on this bug. It seems to happen when a stage has more than on child. The second child does not fire events on GlassWindowEventHandler. Still do not know why.. Reporting here since I can't update the bug (no access). ________________________________ De: openjfx-dev em nome de Thiago Milczarek Sayao Enviado: sexta-feira, 5 de abril de 2019 09:54 Para: openjfx-dev at openjdk.java.net Assunto: Request to bump JDK-8220272 priority Hi, Is it possible to bump up the JDK-8220272 priority? https://bugs.openjdk.java.net/browse/JDK-8220272 We are building a Point of Sale application in OpenJfx for Brazilian Pharmacy Retail. This bug often change the order or windows, so top modal windows shows behind it's parent and users thinks the system hanged (because events on the window are blocked since there is a modal child window that is behind). I can work to help fix it (I lack knowledge of openjfx internals, but at least I can try). Thanks. From kevin.rushforth at oracle.com Mon Apr 8 15:24:09 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 8 Apr 2019 08:24:09 -0700 Subject: [13] RFR: JDK-8222036: antlr generated files written to wrong location on Windows Message-ID: Hi Arun, Please review the following: https://bugs.openjdk.java.net/browse/JDK-8222036 https://github.com/javafxports/openjdk-jfx/pull/434 The problem is that antlr doesn't consistently handle forward-slashes in file paths on Windows. Details are in the GitHub PR. -- Kevin From mike.ennen at gmail.com Mon Apr 8 16:07:15 2019 From: mike.ennen at gmail.com (Michael Ennen) Date: Mon, 8 Apr 2019 09:07:15 -0700 Subject: [13] RFR: JDK-8221269: Remove embedded antlr actions from grammar Message-ID: Please review the following on Github to remove embedded grammar actions. Details are in the PR and bug report. https://bugs.openjdk.java.net/browse/JDK-8221269 https://github.com/javafxports/openjdk-jfx/pull/413 -- Michael Ennen From alexander.matveev at oracle.com Tue Apr 9 18:59:59 2019 From: alexander.matveev at oracle.com (Alexander Matveev) Date: Tue, 9 Apr 2019 11:59:59 -0700 Subject: [13] RFR: JDK-8222217: FX build fails on 32-bit Windows after fix for JDK-8133841 In-Reply-To: <8e24e7ce-079f-085f-5ce7-b61cb5413ab5@oracle.com> References: <8e24e7ce-079f-085f-5ce7-b61cb5413ab5@oracle.com> Message-ID: <1c592a01-d179-4f9d-e705-7d49c290f156@oracle.com> Hi Kevin, Please review the following: https://bugs.openjdk.java.net/browse/JDK-8222217 - Fixed build failure after JDK-8133841. Thanks, Alexander From arunprasad.rajkumar at oracle.com Wed Apr 10 11:49:50 2019 From: arunprasad.rajkumar at oracle.com (Arunprasad Rajkumar) Date: Wed, 10 Apr 2019 17:19:50 +0530 Subject: [RFR][openjfx13] JDK-8221300, JDK-8221302, JDK-8221299: Upgrade to {Xcode 10.1, gcc 8.2, Visual Studio 2017 version 15.9.6} Message-ID: Hi Kevin, Johan, Please review the following Github PR which upgrades toolchains. https://github.com/javafxports/openjdk-jfx/pull/438 The above PR is targeted for the following JBS issue, JDK-8221300: Upgrade to Xcode 10.1 JDK-8221302: Upgrade to gcc 8.2 on Linux JDK-8221299: Upgrade to Visual Studio 2017 version 15.9.6 Thanks, Arun From nlisker at gmail.com Thu Apr 11 05:18:33 2019 From: nlisker at gmail.com (Nir Lisker) Date: Thu, 11 Apr 2019 08:18:33 +0300 Subject: ant error while performing a 'gradle clean' Message-ID: Hi, When I run a `gradle clean` I get the following message: > Task :apps:cleanWin FAILED 'ant' is not recognized as an internal or external command, operable program or batch file. FAILURE: Build failed with an exception. * Where: Build file 'C:\Dev\openjfx\rt\build.gradle' line: 758 * What went wrong: Execution failed for task ':apps:cleanWin'. > Process 'command 'cmd'' finished with non-zero exit value 1 However, just running `ant version` gives: Apache Ant(TM) version 1.10.5 compiled on July 10 2018 `gradle build` also works fine. There is a PATH variable set to 'apache-ant-1.10.5/bin'. Any ideas? - Nir From nlisker at gmail.com Thu Apr 11 11:15:29 2019 From: nlisker at gmail.com (Nir Lisker) Date: Thu, 11 Apr 2019 14:15:29 +0300 Subject: Review Request: JDK-8221708: Update Eclipse project files for non-modular projects In-Reply-To: References: Message-ID: The patch requires an Eclipse developer to test it. Please kindly volunteer yourselves :) On Sat, Mar 30, 2019 at 4:28 PM Nir Lisker wrote: > Hi, > > Please review the fix for: > > https://bugs.openjdk.java.net/browse/JDK-8221708 > http://cr.openjdk.java.net/~nlisker/8221708/webrev.00/ > > Users of Eclipse are encourage to comment. > > Thanks, > Nir > From kevin.rushforth at oracle.com Thu Apr 11 11:18:22 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 11 Apr 2019 04:18:22 -0700 Subject: ant error while performing a 'gradle clean' In-Reply-To: References: Message-ID: <84631a98-0b18-3d8a-b2d2-76570e454be0@oracle.com> I suspect that gradle apps will fail in the same way. Try setting ANT_HOME. -- Kevin On 4/10/2019 10:18 PM, Nir Lisker wrote: > Hi, > > When I run a `gradle clean` I get the following message: > >> Task :apps:cleanWin FAILED > 'ant' is not recognized as an internal or external command, > operable program or batch file. > > FAILURE: Build failed with an exception. > > * Where: > Build file 'C:\Dev\openjfx\rt\build.gradle' line: 758 > > * What went wrong: > Execution failed for task ':apps:cleanWin'. >> Process 'command 'cmd'' finished with non-zero exit value 1 > However, just running `ant version` gives: > > Apache Ant(TM) version 1.10.5 compiled on July 10 2018 > > `gradle build` also works fine. > > There is a PATH variable set to 'apache-ant-1.10.5/bin'. > > Any ideas? > > - Nir From nlisker at gmail.com Thu Apr 11 11:57:17 2019 From: nlisker at gmail.com (Nir Lisker) Date: Thu, 11 Apr 2019 14:57:17 +0300 Subject: ant error while performing a 'gradle clean' In-Reply-To: <84631a98-0b18-3d8a-b2d2-76570e454be0@oracle.com> References: <84631a98-0b18-3d8a-b2d2-76570e454be0@oracle.com> Message-ID: Thanks, setting ANT_HOME worked, though I'm not sure why it's needed. Line 756 seems to call ant without needing its home path, since the executable is defined in the path variable. Is this a bug in the build or new instructions after some update? On Thu, Apr 11, 2019 at 2:18 PM Kevin Rushforth wrote: > I suspect that gradle apps will fail in the same way. Try setting ANT_HOME. > > -- Kevin > > > On 4/10/2019 10:18 PM, Nir Lisker wrote: > > Hi, > > > > When I run a `gradle clean` I get the following message: > > > >> Task :apps:cleanWin FAILED > > 'ant' is not recognized as an internal or external command, > > operable program or batch file. > > > > FAILURE: Build failed with an exception. > > > > * Where: > > Build file 'C:\Dev\openjfx\rt\build.gradle' line: 758 > > > > * What went wrong: > > Execution failed for task ':apps:cleanWin'. > >> Process 'command 'cmd'' finished with non-zero exit value 1 > > However, just running `ant version` gives: > > > > Apache Ant(TM) version 1.10.5 compiled on July 10 2018 > > > > `gradle build` also works fine. > > > > There is a PATH variable set to 'apache-ant-1.10.5/bin'. > > > > Any ideas? > > > > - Nir > > From johan.vos at gluonhq.com Fri Apr 12 08:22:13 2019 From: johan.vos at gluonhq.com (Johan Vos) Date: Fri, 12 Apr 2019 10:22:13 +0200 Subject: Review Request: JDK-8222066: Change JavaFX release version to 11.0.3 in 11-dev Message-ID: Hi Kevin, Please review http://cr.openjdk.java.net/~jvos/8222066/webrev.00/ which fixes https://bugs.openjdk.java.net/browse/JDK-8222066 - Johan From kevin.rushforth at oracle.com Fri Apr 12 12:19:12 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 12 Apr 2019 05:19:12 -0700 Subject: Review Request: JDK-8222066: Change JavaFX release version to 11.0.3 in 11-dev In-Reply-To: References: Message-ID: +1 On 4/12/2019 1:22 AM, Johan Vos wrote: > Hi Kevin, > > Please review > http://cr.openjdk.java.net/~jvos/8222066/webrev.00/?which fixes > https://bugs.openjdk.java.net/browse/JDK-8222066 > > - Johan From james at mindmagic.ca Fri Apr 12 19:32:32 2019 From: james at mindmagic.ca (James Dunsdon) Date: Fri, 12 Apr 2019 13:32:32 -0600 Subject: child z ordering Message-ID: Hi, I'm wondering if there is any consideration towards being able to modify child Z ordering. Currently it only seems based on add order. There are a few use cases where slight overlapping might be desired in which case z ordering should be independently controllable of layout order. toFront(), toBack() only seem to work with Groups. I've given a code example of a use case below. My current workaround is to use rotations to created the desired effect. import javafx.application.Application; import javafx.geometry.Pos; import javafx.scene.Node; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.scene.shape.Circle; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; public class Main extends Application { ??? @Override ??? public void start(Stage primaryStage) throws Exception{ ??????? Parent root = new VBox(createDefaultBehavior(), createPreferredBehavior()); ??????? primaryStage.setTitle("Hello World"); ??????? primaryStage.setScene(new Scene(root, 300, 275)); ??????? primaryStage.show(); ??? } ??? private Node createDefaultBehavior(){ ??????? HBox box = new HBox(createCircle(), createRectangle()); ??????? box.setAlignment(Pos.CENTER_LEFT); ??????? box.setSpacing(-10); ??????? return box; ??? } ??? /* ??? in this case since we are using symmetric shapes the node rotations are unnecessary, ??? however they would be required for most content ???? */ ??? private Node createPreferredBehavior(){ ??????? Node circle = createCircle(); ??????? circle.setRotate(-180); ??????? Node rectangle = createRectangle(); ??????? rectangle.setRotate(-180); ??????? HBox box = new HBox(rectangle, circle); ??????? box.setAlignment(Pos.CENTER_RIGHT); ??????? box.setRotate(180); ??????? box.setSpacing(-10); ??????? return box; ??? } ??? private Node createCircle(){ ??????? Circle circle = new Circle(30, Color.RED); ??????? circle.setStroke(Color.GOLDENROD); ??????? circle.setStrokeWidth(4.0); ??????? return circle; ??? } ??? private Node createRectangle(){ ??????? Rectangle rectangle = new Rectangle(100, 40, Color.GREEN); ??????? rectangle.setStroke(Color.GOLDENROD); ??????? rectangle.setStrokeWidth(4.0); ??????? return rectangle; ??? } ??? public static void main(String[] args) { ??????? launch(args); ??? } } Thanks, James Dunsdon (nervous first time poster) From kevin.rushforth at oracle.com Sat Apr 13 12:58:12 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Sat, 13 Apr 2019 05:58:12 -0700 Subject: child z ordering In-Reply-To: References: Message-ID: <71ce3940-63cb-e93a-18f2-fa64d998255b@oracle.com> See Parent::viewOrder. -- Kevin On 4/12/2019 12:32 PM, James Dunsdon wrote: > Hi, > > I'm wondering if there is any consideration towards being able to > modify child Z ordering. Currently it only seems based on add order. > There are a few use cases where slight overlapping might be desired in > which case z ordering should be independently controllable of layout > order. toFront(), toBack() only seem to work with Groups. I've given a > code example of a use case below. My current workaround is to use > rotations to created the desired effect. > > > import javafx.application.Application; > import javafx.geometry.Pos; > import javafx.scene.Node; > import javafx.scene.Parent; > import javafx.scene.Scene; > import javafx.scene.layout.HBox; > import javafx.scene.layout.VBox; > import javafx.scene.paint.Color; > import javafx.scene.shape.Circle; > import javafx.scene.shape.Rectangle; > import javafx.stage.Stage; > > public class Main extends Application { > > ??? @Override > ??? public void start(Stage primaryStage) throws Exception{ > ??????? Parent root = new VBox(createDefaultBehavior(), > createPreferredBehavior()); > ??????? primaryStage.setTitle("Hello World"); > ??????? primaryStage.setScene(new Scene(root, 300, 275)); > ??????? primaryStage.show(); > ??? } > > ??? private Node createDefaultBehavior(){ > ??????? HBox box = new HBox(createCircle(), createRectangle()); > ??????? box.setAlignment(Pos.CENTER_LEFT); > ??????? box.setSpacing(-10); > ??????? return box; > ??? } > > ??? /* > ??? in this case since we are using symmetric shapes the node > rotations are unnecessary, > ??? however they would be required for most content > ???? */ > ??? private Node createPreferredBehavior(){ > ??????? Node circle = createCircle(); > ??????? circle.setRotate(-180); > ??????? Node rectangle = createRectangle(); > ??????? rectangle.setRotate(-180); > ??????? HBox box = new HBox(rectangle, circle); > ??????? box.setAlignment(Pos.CENTER_RIGHT); > ??????? box.setRotate(180); > ??????? box.setSpacing(-10); > ??????? return box; > ??? } > > ??? private Node createCircle(){ > ??????? Circle circle = new Circle(30, Color.RED); > ??????? circle.setStroke(Color.GOLDENROD); > ??????? circle.setStrokeWidth(4.0); > ??????? return circle; > ??? } > > ??? private Node createRectangle(){ > ??????? Rectangle rectangle = new Rectangle(100, 40, Color.GREEN); > ??????? rectangle.setStroke(Color.GOLDENROD); > ??????? rectangle.setStrokeWidth(4.0); > ??????? return rectangle; > ??? } > > > ??? public static void main(String[] args) { > ??????? launch(args); > ??? } > } > > > Thanks, > > James Dunsdon > > (nervous first time poster) > > > From kevin.rushforth at oracle.com Sat Apr 13 13:08:40 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Sat, 13 Apr 2019 06:08:40 -0700 Subject: [13] RFR: JDK-8221702: Use HTTPS to download all build dependencies Message-ID: Please review the following simple fix to fix the one place in build.gradle where we mistakenly use "http" rather than "https" to download build-time artifacts. https://bugs.openjdk.java.net/browse/JDK-8221702 https://github.com/javafxports/openjdk-jfx/pull/442 -- Kevin From johan.vos at gluonhq.com Sat Apr 13 13:25:28 2019 From: johan.vos at gluonhq.com (Johan Vos) Date: Sat, 13 Apr 2019 15:25:28 +0200 Subject: [13] RFR: JDK-8221702: Use HTTPS to download all build dependencies In-Reply-To: References: Message-ID: +1 On Sat, Apr 13, 2019 at 3:22 PM Kevin Rushforth wrote: > Please review the following simple fix to fix the one place in > build.gradle where we mistakenly use "http" rather than "https" to > download build-time artifacts. > > https://bugs.openjdk.java.net/browse/JDK-8221702 > https://github.com/javafxports/openjdk-jfx/pull/442 > > -- Kevin > > From johan.vos at gluonhq.com Sat Apr 13 18:48:23 2019 From: johan.vos at gluonhq.com (Johan Vos) Date: Sat, 13 Apr 2019 20:48:23 +0200 Subject: backport of JDK-8221702 Message-ID: Hi Kevin, I ask permission to backport the following issue to jfx-11: JDK-8221702: Use HTTPS to download all build dependencies. - Johan From jshattu at gmail.com Sun Apr 14 18:26:30 2019 From: jshattu at gmail.com (Jason Shattu) Date: Sun, 14 Apr 2019 18:26:30 +0000 Subject: Bug in TreeTableCell label rendering when doing cell.setText(null) In-Reply-To: References: Message-ID: Hi Guys, Noticed a problem with TreeTableView that has existed at least from JavaFX 11, but doesn't exists in JavaFX 8. On the overridden method for TreeTableCell.updateItem(cell) If you cell.setText(null) then the graphic node appears fully left justified regardless of proper indentation although arrows remain in the correct place. This doesn't happen for TreeView. using cell.setText(" ") appears to resolve the issue. Where is the appropriate place to raise this bug? You may ask why I am not using the text field, it's because I want multiple background colours in my text in the cell, so I use the graphic node to allow me to do this. Thanks, Jason Thanks, Jason ------ Original Message ------ From: "Kevin Rushforth" To: "Johan Vos" ; "openjfx-dev at openjdk.java.net List" Sent: 12/04/2019 13:19:12 Subject: Re: Review Request: JDK-8222066: Change JavaFX release version to 11.0.3 in 11-dev >+1 > >On 4/12/2019 1:22 AM, Johan Vos wrote: >>Hi Kevin, >> >>Please review http://cr.openjdk.java.net/~jvos/8222066/webrev.00/ which fixes https://bugs.openjdk.java.net/browse/JDK-8222066 >> >>- Johan > From thiago.sayao at clamed.com.br Mon Apr 15 00:46:51 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Mon, 15 Apr 2019 00:46:51 +0000 Subject: JDK-8220272: Found the problem + possible fix Message-ID: * THE PROBLEM * In GlassApplication.cpp, the GDK_FOCUS_CHANGE event gets called from the last window to the first on my setup (I suspect "out-of-order" on some setups and even occasionally in the expected order). So the code to keep the latest enabled window fails (refering to WindowStage.java activeWindows) - that's why the "First Window" (on the code to reproduce the bug report) shows on top - because openjfx thinks it was the latest window. In WindowStage.java: ??? final void handleFocusDisabled() { ??????? if (activeWindows.isEmpty()) { ??????????? return; ??????? } ??????? WindowStage window = activeWindows.get(activeWindows.size() - 1); //<-- HERE!! ??????? window.setIconified(false); ??????? window.requestToFront(); ??????? window.requestFocus(); ??? } When there is a WINDOW_MODAL this code gets called because the modal window disable?it's parents (so they do not get events - it's correct). So openjfx brings up what it thinks it's the latest window - but since the out of order GDK_FOCUS_CHANGE - it's the wrong window (activeWindows list has not the correct order). The Gtk docs states GDK_FOCUS_CHANGE is true "if the window has gained the keyboard focus" which may not be directly correlated to openjfx's WindowEvent.FOCUS_GAINED. * THE FIX * To fix this, WindowEvent.FOCUS_GAINED must be called in order of which window is shown (because the window is inserted on activeWindows at this event). So I have modified glass_window.cpp to immediately call WindowEvent.FOCUS_GAINED when showing the window: void WindowContextBase::set_visible(bool visible) { if (visible) { gtk_widget_show_all(gtk_widget); //JDK-8220272 - fire event first because GDK_FOCUS_CHANGE is not always in order if(jwindow && isEnabled()) { mainEnv->CallVoidMethod(jwindow, jWindowNotifyFocus, com_sun_glass_events_WindowEvent_FOCUS_GAINED); } } else { gtk_widget_hide(gtk_widget); if (jview && is_mouse_entered) { is_mouse_entered = false; mainEnv->CallVoidMethod(jview, jViewNotifyMouse, com_sun_glass_events_MouseEvent_EXIT, com_sun_glass_events_MouseEvent_BUTTON_NONE, 0, 0, 0, 0, 0, JNI_FALSE, JNI_FALSE); CHECK_JNI_EXCEPTION(mainEnv) } } } Did some tests and it seems to fix the problem. I do not have permission to make a PR, so posting the fix here. Will happily do the PR if required. Thanks. From jshattu at gmail.com Mon Apr 15 04:46:28 2019 From: jshattu at gmail.com (Jason Shattu) Date: Mon, 15 Apr 2019 04:46:28 +0000 Subject: Wobbly left contents in SplitPane when moving divider in JavaFX 11 onwards In-Reply-To: <71ce3940-63cb-e93a-18f2-fa64d998255b@oracle.com> References: <71ce3940-63cb-e93a-18f2-fa64d998255b@oracle.com> Message-ID: Hi all, this code highlights the problem running on JavaFX 11+, import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.SplitPane; import javafx.scene.control.TextArea; import javafx.stage.Stage; public class DemoBug extends Application { public static void main(String[] args) { launch(args); } public void start(Stage primaryStage) { TextArea textArea = new TextArea("I am Wobbly\nwhen you move the\n divider\nthis TextArea can be any component\nfor the problem to happen"); SplitPane s = new SplitPane(textArea, new TextArea("def")); primaryStage.setScene(new Scene(s,300,300)); primaryStage.show(); } } Thanks, Jason ------ Original Message ------ From: "Kevin Rushforth" To: openjfx-dev at openjdk.java.net Sent: 13/04/2019 13:58:12 Subject: Re: child z ordering >See Parent::viewOrder. > >-- Kevin > >On 4/12/2019 12:32 PM, James Dunsdon wrote: >>Hi, >> >>I'm wondering if there is any consideration towards being able to modify child Z ordering. Currently it only seems based on add order. There are a few use cases where slight overlapping might be desired in which case z ordering should be independently controllable of layout order. toFront(), toBack() only seem to work with Groups. I've given a code example of a use case below. My current workaround is to use rotations to created the desired effect. >> >> >>import javafx.application.Application; >>import javafx.geometry.Pos; >>import javafx.scene.Node; >>import javafx.scene.Parent; >>import javafx.scene.Scene; >>import javafx.scene.layout.HBox; >>import javafx.scene.layout.VBox; >>import javafx.scene.paint.Color; >>import javafx.scene.shape.Circle; >>import javafx.scene.shape.Rectangle; >>import javafx.stage.Stage; >> >>public class Main extends Application { >> >> @Override >> public void start(Stage primaryStage) throws Exception{ >> Parent root = new VBox(createDefaultBehavior(), createPreferredBehavior()); >> primaryStage.setTitle("Hello World"); >> primaryStage.setScene(new Scene(root, 300, 275)); >> primaryStage.show(); >> } >> >> private Node createDefaultBehavior(){ >> HBox box = new HBox(createCircle(), createRectangle()); >> box.setAlignment(Pos.CENTER_LEFT); >> box.setSpacing(-10); >> return box; >> } >> >> /* >> in this case since we are using symmetric shapes the node rotations are unnecessary, >> however they would be required for most content >> */ >> private Node createPreferredBehavior(){ >> Node circle = createCircle(); >> circle.setRotate(-180); >> Node rectangle = createRectangle(); >> rectangle.setRotate(-180); >> HBox box = new HBox(rectangle, circle); >> box.setAlignment(Pos.CENTER_RIGHT); >> box.setRotate(180); >> box.setSpacing(-10); >> return box; >> } >> >> private Node createCircle(){ >> Circle circle = new Circle(30, Color.RED); >> circle.setStroke(Color.GOLDENROD); >> circle.setStrokeWidth(4.0); >> return circle; >> } >> >> private Node createRectangle(){ >> Rectangle rectangle = new Rectangle(100, 40, Color.GREEN); >> rectangle.setStroke(Color.GOLDENROD); >> rectangle.setStrokeWidth(4.0); >> return rectangle; >> } >> >> >> public static void main(String[] args) { >> launch(args); >> } >>} >> >> >>Thanks, >> >>James Dunsdon >> >>(nervous first time poster) >> >> >> > From nlisker at gmail.com Mon Apr 15 09:45:36 2019 From: nlisker at gmail.com (Nir Lisker) Date: Mon, 15 Apr 2019 12:45:36 +0300 Subject: JDK-8220272: Found the problem + possible fix In-Reply-To: References: Message-ID: Hi Thiago, Anyone can create a PR on GitHub, see https://github.com/javafxports/openjdk-jfx/blob/develop/.github/CONTRIBUTING.md . - Nir On Mon, Apr 15, 2019 at 3:47 AM Thiago Milczarek Sayao < thiago.sayao at clamed.com.br> wrote: > * THE PROBLEM * > > In GlassApplication.cpp, the GDK_FOCUS_CHANGE event gets called from the > last window to the first on my setup (I suspect "out-of-order" on some > setups and even occasionally in the expected order). So the code to keep > the latest enabled window fails (refering to WindowStage.java > activeWindows) - that's why the "First Window" (on the code to reproduce > the bug report) shows on top - because openjfx thinks it was the latest > window. In WindowStage.java: > > final void handleFocusDisabled() { > if (activeWindows.isEmpty()) { > return; > } > WindowStage window = activeWindows.get(activeWindows.size() - 1); > //<-- HERE!! > window.setIconified(false); > window.requestToFront(); > window.requestFocus(); > } > > When there is a WINDOW_MODAL this code gets called because the modal > window disable it's parents (so they do not get events - it's correct). So > openjfx brings up what it thinks it's the latest window - but since the out > of order GDK_FOCUS_CHANGE - it's the wrong window (activeWindows list has > not the correct order). > > The Gtk docs states GDK_FOCUS_CHANGE is true "if the window has gained the > keyboard focus" which may not be directly correlated to openjfx's > WindowEvent.FOCUS_GAINED. > > * THE FIX * > > To fix this, WindowEvent.FOCUS_GAINED must be called in order of which > window is shown (because the window is inserted on activeWindows at this > event). > > So I have modified glass_window.cpp to immediately call > WindowEvent.FOCUS_GAINED when showing the window: > > void WindowContextBase::set_visible(bool visible) { > if (visible) { > gtk_widget_show_all(gtk_widget); > > //JDK-8220272 - fire event first because GDK_FOCUS_CHANGE is not > always in order > if(jwindow && isEnabled()) { > mainEnv->CallVoidMethod(jwindow, jWindowNotifyFocus, > com_sun_glass_events_WindowEvent_FOCUS_GAINED); > } > } else { > gtk_widget_hide(gtk_widget); > if (jview && is_mouse_entered) { > is_mouse_entered = false; > mainEnv->CallVoidMethod(jview, jViewNotifyMouse, > com_sun_glass_events_MouseEvent_EXIT, > com_sun_glass_events_MouseEvent_BUTTON_NONE, > 0, 0, > 0, 0, > 0, > JNI_FALSE, > JNI_FALSE); > CHECK_JNI_EXCEPTION(mainEnv) > } > } > } > > Did some tests and it seems to fix the problem. > > I do not have permission to make a PR, so posting the fix here. Will > happily do the PR if required. > > Thanks. > > From jshattu at gmail.com Mon Apr 15 09:54:08 2019 From: jshattu at gmail.com (Jason Shattu) Date: Mon, 15 Apr 2019 09:54:08 +0000 Subject: JDK-8220272: Found the problem + possible fix In-Reply-To: References: Message-ID: Forgive my ignorance, but I can't work out how to submit an OpenJFX bug report. The link you've sent ultimately brings you to this page: https://bugs.openjdk.java.net/secure/Dashboard.jspa but I don't see any thing for JavaFX here. Thanks, Jason ------ Original Message ------ From: "Nir Lisker" To: "Thiago Milczarek Sayao" Cc: "openjfx-dev at openjdk.java.net" Sent: 15/04/2019 10:45:36 Subject: Re: JDK-8220272: Found the problem + possible fix >Hi Thiago, > >Anyone can create a PR on GitHub, see >https://github.com/javafxports/openjdk-jfx/blob/develop/.github/CONTRIBUTING.md >. > >- Nir > >On Mon, Apr 15, 2019 at 3:47 AM Thiago Milczarek Sayao < >thiago.sayao at clamed.com.br> wrote: > >> * THE PROBLEM * >> >> In GlassApplication.cpp, the GDK_FOCUS_CHANGE event gets called from the >> last window to the first on my setup (I suspect "out-of-order" on some >> setups and even occasionally in the expected order). So the code to keep >> the latest enabled window fails (refering to WindowStage.java >> activeWindows) - that's why the "First Window" (on the code to reproduce >> the bug report) shows on top - because openjfx thinks it was the latest >> window. In WindowStage.java: >> >> final void handleFocusDisabled() { >> if (activeWindows.isEmpty()) { >> return; >> } >> WindowStage window = activeWindows.get(activeWindows.size() - 1); >> //<-- HERE!! >> window.setIconified(false); >> window.requestToFront(); >> window.requestFocus(); >> } >> >> When there is a WINDOW_MODAL this code gets called because the modal >> window disable it's parents (so they do not get events - it's correct). So >> openjfx brings up what it thinks it's the latest window - but since the out >> of order GDK_FOCUS_CHANGE - it's the wrong window (activeWindows list has >> not the correct order). >> >> The Gtk docs states GDK_FOCUS_CHANGE is true "if the window has gained the >> keyboard focus" which may not be directly correlated to openjfx's >> WindowEvent.FOCUS_GAINED. >> >> * THE FIX * >> >> To fix this, WindowEvent.FOCUS_GAINED must be called in order of which >> window is shown (because the window is inserted on activeWindows at this >> event). >> >> So I have modified glass_window.cpp to immediately call >> WindowEvent.FOCUS_GAINED when showing the window: >> >> void WindowContextBase::set_visible(bool visible) { >> if (visible) { >> gtk_widget_show_all(gtk_widget); >> >> //JDK-8220272 - fire event first because GDK_FOCUS_CHANGE is not >> always in order >> if(jwindow && isEnabled()) { >> mainEnv->CallVoidMethod(jwindow, jWindowNotifyFocus, >> com_sun_glass_events_WindowEvent_FOCUS_GAINED); >> } >> } else { >> gtk_widget_hide(gtk_widget); >> if (jview && is_mouse_entered) { >> is_mouse_entered = false; >> mainEnv->CallVoidMethod(jview, jViewNotifyMouse, >> com_sun_glass_events_MouseEvent_EXIT, >> com_sun_glass_events_MouseEvent_BUTTON_NONE, >> 0, 0, >> 0, 0, >> 0, >> JNI_FALSE, >> JNI_FALSE); >> CHECK_JNI_EXCEPTION(mainEnv) >> } >> } >> } >> >> Did some tests and it seems to fix the problem. >> >> I do not have permission to make a PR, so posting the fix here. Will >> happily do the PR if required. >> >> Thanks. >> >> From mp at jugs.org Mon Apr 15 10:17:08 2019 From: mp at jugs.org (Michael Paus) Date: Mon, 15 Apr 2019 12:17:08 +0200 Subject: JDK-8220272: Found the problem + possible fix In-Reply-To: References: Message-ID: If you want to report a bug go here: https://bugreport.java.com/bugreport/ Without the proper permissions you can't create a bug report directly via the link you have mentioned. Once submitted it takes about 1-2 days until the bug gets entered into the bug database and after that you can search for it via your link. Michael Am 15.04.19 um 11:54 schrieb Jason Shattu: > Forgive my ignorance, but I can't work out how to submit an OpenJFX > bug report. > > The link you've sent? ultimately brings you to this page: > https://bugs.openjdk.java.net/secure/Dashboard.jspa > > but I don't see any thing for JavaFX here. > > Thanks, > Jason > > ------ Original Message ------ > From: "Nir Lisker" > To: "Thiago Milczarek Sayao" > Cc: "openjfx-dev at openjdk.java.net" > Sent: 15/04/2019 10:45:36 > Subject: Re: JDK-8220272: Found the problem + possible fix > >> Hi Thiago, >> >> Anyone can create a PR on GitHub, see >> https://github.com/javafxports/openjdk-jfx/blob/develop/.github/CONTRIBUTING.md >> >> . >> >> - Nir >> >> On Mon, Apr 15, 2019 at 3:47 AM Thiago Milczarek Sayao < >> thiago.sayao at clamed.com.br> wrote: >> >>> ?* THE PROBLEM * >>> >>> ?In GlassApplication.cpp, the GDK_FOCUS_CHANGE event gets called >>> from the >>> ?last window to the first on my setup (I suspect "out-of-order" on some >>> ?setups and even occasionally in the expected order). So the code to >>> keep >>> ?the latest enabled window fails (refering to WindowStage.java >>> ?activeWindows) - that's why the "First Window" (on the code to >>> reproduce >>> ?the bug report) shows on top - because openjfx thinks it was the >>> latest >>> ?window. In WindowStage.java: >>> >>> ???? final void handleFocusDisabled() { >>> ???????? if (activeWindows.isEmpty()) { >>> ???????????? return; >>> ???????? } >>> ???????? WindowStage window = activeWindows.get(activeWindows.size() >>> - 1); >>> ?//<-- HERE!! >>> ???????? window.setIconified(false); >>> ???????? window.requestToFront(); >>> ???????? window.requestFocus(); >>> ???? } >>> >>> ?When there is a WINDOW_MODAL this code gets called because the modal >>> ?window disable it's parents (so they do not get events - it's >>> correct). So >>> ?openjfx brings up what it thinks it's the latest window - but since >>> the out >>> ?of order GDK_FOCUS_CHANGE - it's the wrong window (activeWindows >>> list has >>> ?not the correct order). >>> >>> ?The Gtk docs states GDK_FOCUS_CHANGE is true "if the window has >>> gained the >>> ?keyboard focus" which may not be directly correlated to openjfx's >>> ?WindowEvent.FOCUS_GAINED. >>> >>> ?* THE FIX * >>> >>> ?To fix this, WindowEvent.FOCUS_GAINED must be called in order of which >>> ?window is shown (because the window is inserted on activeWindows at >>> this >>> ?event). >>> >>> ?So I have modified glass_window.cpp to immediately call >>> ?WindowEvent.FOCUS_GAINED when showing the window: >>> >>> ?void WindowContextBase::set_visible(bool visible) { >>> ???? if (visible) { >>> ???????? gtk_widget_show_all(gtk_widget); >>> >>> ???????? //JDK-8220272 - fire event first because GDK_FOCUS_CHANGE >>> is not >>> ?always in order >>> ???????? if(jwindow && isEnabled()) { >>> ???????????? mainEnv->CallVoidMethod(jwindow, jWindowNotifyFocus, >>> ?com_sun_glass_events_WindowEvent_FOCUS_GAINED); >>> ???????? } >>> ???? } else { >>> ???????? gtk_widget_hide(gtk_widget); >>> ???????? if (jview && is_mouse_entered) { >>> ???????????? is_mouse_entered = false; >>> ???????????? mainEnv->CallVoidMethod(jview, jViewNotifyMouse, >>> ???????????????????? com_sun_glass_events_MouseEvent_EXIT, >>> com_sun_glass_events_MouseEvent_BUTTON_NONE, >>> ???????????????????? 0, 0, >>> ???????????????????? 0, 0, >>> ???????????????????? 0, >>> ???????????????????? JNI_FALSE, >>> ???????????????????? JNI_FALSE); >>> ???????????? CHECK_JNI_EXCEPTION(mainEnv) >>> ???????? } >>> ???? } >>> ?} >>> >>> ?Did some tests and it seems to fix the problem. >>> >>> ?I do not have permission to make a PR, so posting the fix here. Will >>> ?happily do the PR if required. >>> >>> ?Thanks. >>> >>> From kevin.rushforth at oracle.com Mon Apr 15 11:50:27 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 15 Apr 2019 04:50:27 -0700 Subject: backport of JDK-8221702 In-Reply-To: References: Message-ID: +1 On 4/13/2019 11:48 AM, Johan Vos wrote: > Hi Kevin, > > I ask permission to backport the following issue to jfx-11: > JDK-8221702: Use HTTPS to download all build dependencies. > > - Johan From kevin.rushforth at oracle.com Mon Apr 15 12:27:49 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 15 Apr 2019 05:27:49 -0700 Subject: JDK-8220272: Found the problem + possible fix In-Reply-To: References: Message-ID: <14b51d14-14a7-b8cd-f610-4bc2cf2e14c4@oracle.com> Hi Thiago, If you are interested in contributing a fix, please see CONTRIBUTING.md [1] for instructions. Before we can evaluate your proposed fix, we will need is a signed OCA [2] from you. Thank you. -- Kevin [1] https://github.com/javafxports/openjdk-jfx/blob/develop/.github/CONTRIBUTING.md [2] http://www.oracle.com/technetwork/community/oca-486395.html On 4/14/2019 5:46 PM, Thiago Milczarek Sayao wrote: > * THE PROBLEM * > > In GlassApplication.cpp, the GDK_FOCUS_CHANGE event gets called from the last window to the first on my setup (I suspect "out-of-order" on some setups and even occasionally in the expected order). So the code to keep the latest enabled window fails (refering to WindowStage.java activeWindows) - that's why the "First Window" (on the code to reproduce the bug report) shows on top - because openjfx thinks it was the latest window. In WindowStage.java: > > ??? final void handleFocusDisabled() { > ??????? if (activeWindows.isEmpty()) { > ??????????? return; > ??????? } > ??????? WindowStage window = activeWindows.get(activeWindows.size() - 1); //<-- HERE!! > ??????? window.setIconified(false); > ??????? window.requestToFront(); > ??????? window.requestFocus(); > ??? } > > When there is a WINDOW_MODAL this code gets called because the modal window disable?it's parents (so they do not get events - it's correct). So openjfx brings up what it thinks it's the latest window - but since the out of order GDK_FOCUS_CHANGE - it's the wrong window (activeWindows list has not the correct order). > > The Gtk docs states GDK_FOCUS_CHANGE is true "if the window has gained the keyboard focus" which may not be directly correlated to openjfx's WindowEvent.FOCUS_GAINED. > > * THE FIX * > > To fix this, WindowEvent.FOCUS_GAINED must be called in order of which window is shown (because the window is inserted on activeWindows at this event). > > So I have modified glass_window.cpp to immediately call WindowEvent.FOCUS_GAINED when showing the window: > > void WindowContextBase::set_visible(bool visible) { > if (visible) { > gtk_widget_show_all(gtk_widget); > > //JDK-8220272 - fire event first because GDK_FOCUS_CHANGE is not always in order > if(jwindow && isEnabled()) { > mainEnv->CallVoidMethod(jwindow, jWindowNotifyFocus, com_sun_glass_events_WindowEvent_FOCUS_GAINED); > } > } else { > gtk_widget_hide(gtk_widget); > if (jview && is_mouse_entered) { > is_mouse_entered = false; > mainEnv->CallVoidMethod(jview, jViewNotifyMouse, > com_sun_glass_events_MouseEvent_EXIT, > com_sun_glass_events_MouseEvent_BUTTON_NONE, > 0, 0, > 0, 0, > 0, > JNI_FALSE, > JNI_FALSE); > CHECK_JNI_EXCEPTION(mainEnv) > } > } > } > > Did some tests and it seems to fix the problem. > > I do not have permission to make a PR, so posting the fix here. Will happily do the PR if required. > > Thanks. > From jshattu at gmail.com Mon Apr 15 14:37:57 2019 From: jshattu at gmail.com (Jason Shattu) Date: Mon, 15 Apr 2019 14:37:57 +0000 Subject: Some general questions about JavaFX In-Reply-To: <14b51d14-14a7-b8cd-f610-4bc2cf2e14c4@oracle.com> References: <14b51d14-14a7-b8cd-f610-4bc2cf2e14c4@oracle.com> Message-ID: Hi all, >From a developer who wants to use JavaFX 11+ and as someone that wants to raise bugs, what's the difference between the Oracle Java Bug Database (which is very difficult to use) and the GitHub repo issues list. I've found 3 annoying bugs with JavaFX in the recent 11+ version (not present in the Java 8 SDK), but i'm finding it hard to find out if these are being worked up or will ever be worked on. Im thinking of going back to JavaFX 8, but that means downgrading to Java 8 too, unless someone can tell me if there is a JavaFX 8 bundle I can use The Oracle Java Bug Database seem to just very old bugs and has limited facilities to search. Guidance anyone? ------ Original Message ------ From: "Kevin Rushforth" To: openjfx-dev at openjdk.java.net Sent: 15/04/2019 13:27:49 Subject: Re: JDK-8220272: Found the problem + possible fix >Hi Thiago, > >If you are interested in contributing a fix, please see CONTRIBUTING.md [1] for instructions. Before we can evaluate your proposed fix, we will need is a signed OCA [2] from you. > >Thank you. > >-- Kevin > >[1] https://github.com/javafxports/openjdk-jfx/blob/develop/.github/CONTRIBUTING.md >[2] http://www.oracle.com/technetwork/community/oca-486395.html > >On 4/14/2019 5:46 PM, Thiago Milczarek Sayao wrote: >>* THE PROBLEM * >> >>In GlassApplication.cpp, the GDK_FOCUS_CHANGE event gets called from the last window to the first on my setup (I suspect "out-of-order" on some setups and even occasionally in the expected order). So the code to keep the latest enabled window fails (refering to WindowStage.java activeWindows) - that's why the "First Window" (on the code to reproduce the bug report) shows on top - because openjfx thinks it was the latest window. In WindowStage.java: >> >> final void handleFocusDisabled() { >> if (activeWindows.isEmpty()) { >> return; >> } >> WindowStage window = activeWindows.get(activeWindows.size() - 1); //<-- HERE!! >> window.setIconified(false); >> window.requestToFront(); >> window.requestFocus(); >> } >> >>When there is a WINDOW_MODAL this code gets called because the modal window disable it's parents (so they do not get events - it's correct). So openjfx brings up what it thinks it's the latest window - but since the out of order GDK_FOCUS_CHANGE - it's the wrong window (activeWindows list has not the correct order). >> >>The Gtk docs states GDK_FOCUS_CHANGE is true "if the window has gained the keyboard focus" which may not be directly correlated to openjfx's WindowEvent.FOCUS_GAINED. >> >>* THE FIX * >> >>To fix this, WindowEvent.FOCUS_GAINED must be called in order of which window is shown (because the window is inserted on activeWindows at this event). >> >>So I have modified glass_window.cpp to immediately call WindowEvent.FOCUS_GAINED when showing the window: >> >>void WindowContextBase::set_visible(bool visible) { >> if (visible) { >> gtk_widget_show_all(gtk_widget); >> >> //JDK-8220272 - fire event first because GDK_FOCUS_CHANGE is not always in order >> if(jwindow && isEnabled()) { >> mainEnv->CallVoidMethod(jwindow, jWindowNotifyFocus, com_sun_glass_events_WindowEvent_FOCUS_GAINED); >> } >> } else { >> gtk_widget_hide(gtk_widget); >> if (jview && is_mouse_entered) { >> is_mouse_entered = false; >> mainEnv->CallVoidMethod(jview, jViewNotifyMouse, >> com_sun_glass_events_MouseEvent_EXIT, >> com_sun_glass_events_MouseEvent_BUTTON_NONE, >> 0, 0, >> 0, 0, >> 0, >> JNI_FALSE, >> JNI_FALSE); >> CHECK_JNI_EXCEPTION(mainEnv) >> } >> } >>} >> >>Did some tests and it seems to fix the problem. >> >>I do not have permission to make a PR, so posting the fix here. Will happily do the PR if required. >> >>Thanks. >> > From kevin.rushforth at oracle.com Mon Apr 15 15:41:15 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 15 Apr 2019 08:41:15 -0700 Subject: Some general questions about JavaFX In-Reply-To: References: <14b51d14-14a7-b8cd-f610-4bc2cf2e14c4@oracle.com> Message-ID: As noted in the project README [1] on GItHub, JBS [2] is the official bug tracker for the OpenJFX project. The GitHub issue tracker is just for convenience. Before a bug can be fixed we need a JBS bug. Bugs can be filed here [3]. -- Kevin [1] https://github.com/javafxports/openjdk-jfx#issue-tracking [2] https://bugs.openjdk.java.net/ [3] http://bugreport.java.com/ On 4/15/2019 7:37 AM, Jason Shattu wrote: > Hi all, > > From a developer who wants to use JavaFX 11+ and as someone that wants > to raise bugs, what's the difference between the Oracle Java Bug > Database (which is very difficult to use) and the GitHub repo issues > list. > > I've found 3 annoying bugs with JavaFX in the recent 11+ version (not > present in the Java 8 SDK), but i'm finding it hard to find out if > these are being worked up or will ever be worked on. > > Im thinking of going back to JavaFX 8, but that means downgrading to > Java 8 too, unless someone can tell me if there is a JavaFX 8 bundle I > can use > > The Oracle Java Bug Database seem to just very old bugs and has > limited facilities to search. > > Guidance anyone? > > ------ Original Message ------ > From: "Kevin Rushforth" > To: openjfx-dev at openjdk.java.net > Sent: 15/04/2019 13:27:49 > Subject: Re: JDK-8220272: Found the problem + possible fix > >> Hi Thiago, >> >> If you are interested in contributing a fix, please see >> CONTRIBUTING.md [1] for instructions. Before we can evaluate your >> proposed fix, we will need is a signed OCA [2] from you. >> >> Thank you. >> >> -- Kevin >> >> [1] >> https://github.com/javafxports/openjdk-jfx/blob/develop/.github/CONTRIBUTING.md >> [2] http://www.oracle.com/technetwork/community/oca-486395.html >> >> On 4/14/2019 5:46 PM, Thiago Milczarek Sayao wrote: >>> * THE PROBLEM * >>> >>> In GlassApplication.cpp, the GDK_FOCUS_CHANGE event gets called from >>> the last window to the first on my setup (I suspect "out-of-order" >>> on some setups and even occasionally in the expected order). So the >>> code to keep the latest enabled window fails (refering to >>> WindowStage.java activeWindows) - that's why the "First Window" (on >>> the code to reproduce the bug report) shows on top - because openjfx >>> thinks it was the latest window. In WindowStage.java: >>> >>> ???? final void handleFocusDisabled() { >>> ???????? if (activeWindows.isEmpty()) { >>> ???????????? return; >>> ???????? } >>> ???????? WindowStage window = activeWindows.get(activeWindows.size() >>> - 1); //<-- HERE!! >>> ???????? window.setIconified(false); >>> ???????? window.requestToFront(); >>> ???????? window.requestFocus(); >>> ???? } >>> >>> When there is a WINDOW_MODAL this code gets called because the modal >>> window disable it's parents (so they do not get events - it's >>> correct). So openjfx brings up what it thinks it's the latest window >>> - but since the out of order GDK_FOCUS_CHANGE - it's the wrong >>> window (activeWindows list has not the correct order). >>> >>> The Gtk docs states GDK_FOCUS_CHANGE is true "if the window has >>> gained the keyboard focus" which may not be directly correlated to >>> openjfx's WindowEvent.FOCUS_GAINED. >>> >>> * THE FIX * >>> >>> To fix this, WindowEvent.FOCUS_GAINED must be called in order of >>> which window is shown (because the window is inserted on >>> activeWindows at this event). >>> >>> So I have modified glass_window.cpp to immediately call >>> WindowEvent.FOCUS_GAINED when showing the window: >>> >>> void WindowContextBase::set_visible(bool visible) { >>> ???? if (visible) { >>> ???????? gtk_widget_show_all(gtk_widget); >>> >>> ???????? //JDK-8220272 - fire event first because GDK_FOCUS_CHANGE >>> is not always in order >>> ???????? if(jwindow && isEnabled()) { >>> ???????????? mainEnv->CallVoidMethod(jwindow, jWindowNotifyFocus, >>> com_sun_glass_events_WindowEvent_FOCUS_GAINED); >>> ???????? } >>> ???? } else { >>> ???????? gtk_widget_hide(gtk_widget); >>> ???????? if (jview && is_mouse_entered) { >>> ???????????? is_mouse_entered = false; >>> ???????????? mainEnv->CallVoidMethod(jview, jViewNotifyMouse, >>> ???????????????????? com_sun_glass_events_MouseEvent_EXIT, >>> com_sun_glass_events_MouseEvent_BUTTON_NONE, >>> ???????????????????? 0, 0, >>> ???????????????????? 0, 0, >>> ???????????????????? 0, >>> ???????????????????? JNI_FALSE, >>> ???????????????????? JNI_FALSE); >>> ???????????? CHECK_JNI_EXCEPTION(mainEnv) >>> ???????? } >>> ???? } >>> } >>> >>> Did some tests and it seems to fix the problem. >>> >>> I do not have permission to make a PR, so posting the fix here. Will >>> happily do the PR if required. >>> >>> Thanks. >>> >> From kevin.rushforth at oracle.com Mon Apr 15 15:52:23 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 15 Apr 2019 08:52:23 -0700 Subject: Some general questions about JavaFX In-Reply-To: References: <14b51d14-14a7-b8cd-f610-4bc2cf2e14c4@oracle.com> Message-ID: > The Oracle Java Bug Database seem to just very old bugs and has limited facilities to search. I guess you just need a little help using JBS, which is based on JIRA. It has much more sophisticated searching capabilities than the GitHub issue tracker (which, to be honest, I can't imagine using for a large project with multiple release trains, but that's a discussion for another day). In any case, here is a query that will show all of the open JavaFX bugs in descending order of creation: https://bugs.openjdk.java.net/browse/JDK-8222450?jql=project%20%3D%20JDK%20AND%20issuetype%20%3D%20Bug%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20New)%20AND%20component%20%3D%20javafx%20ORDER%20BY%20created%20DESC You can customize it by searching for specific text, but that should get you started. -- Kevin On 4/15/2019 7:37 AM, Jason Shattu wrote: > Hi all, > > From a developer who wants to use JavaFX 11+ and as someone that wants > to raise bugs, what's the difference between the Oracle Java Bug > Database (which is very difficult to use) and the GitHub repo issues > list. > > I've found 3 annoying bugs with JavaFX in the recent 11+ version (not > present in the Java 8 SDK), but i'm finding it hard to find out if > these are being worked up or will ever be worked on. > > Im thinking of going back to JavaFX 8, but that means downgrading to > Java 8 too, unless someone can tell me if there is a JavaFX 8 bundle I > can use > > The Oracle Java Bug Database seem to just very old bugs and has > limited facilities to search. > > Guidance anyone? > > ------ Original Message ------ > From: "Kevin Rushforth" > To: openjfx-dev at openjdk.java.net > Sent: 15/04/2019 13:27:49 > Subject: Re: JDK-8220272: Found the problem + possible fix > >> Hi Thiago, >> >> If you are interested in contributing a fix, please see >> CONTRIBUTING.md [1] for instructions. Before we can evaluate your >> proposed fix, we will need is a signed OCA [2] from you. >> >> Thank you. >> >> -- Kevin >> >> [1] >> https://github.com/javafxports/openjdk-jfx/blob/develop/.github/CONTRIBUTING.md >> [2] http://www.oracle.com/technetwork/community/oca-486395.html >> >> On 4/14/2019 5:46 PM, Thiago Milczarek Sayao wrote: >>> * THE PROBLEM * >>> >>> In GlassApplication.cpp, the GDK_FOCUS_CHANGE event gets called from >>> the last window to the first on my setup (I suspect "out-of-order" >>> on some setups and even occasionally in the expected order). So the >>> code to keep the latest enabled window fails (refering to >>> WindowStage.java activeWindows) - that's why the "First Window" (on >>> the code to reproduce the bug report) shows on top - because openjfx >>> thinks it was the latest window. In WindowStage.java: >>> >>> ???? final void handleFocusDisabled() { >>> ???????? if (activeWindows.isEmpty()) { >>> ???????????? return; >>> ???????? } >>> ???????? WindowStage window = activeWindows.get(activeWindows.size() >>> - 1); //<-- HERE!! >>> ???????? window.setIconified(false); >>> ???????? window.requestToFront(); >>> ???????? window.requestFocus(); >>> ???? } >>> >>> When there is a WINDOW_MODAL this code gets called because the modal >>> window disable it's parents (so they do not get events - it's >>> correct). So openjfx brings up what it thinks it's the latest window >>> - but since the out of order GDK_FOCUS_CHANGE - it's the wrong >>> window (activeWindows list has not the correct order). >>> >>> The Gtk docs states GDK_FOCUS_CHANGE is true "if the window has >>> gained the keyboard focus" which may not be directly correlated to >>> openjfx's WindowEvent.FOCUS_GAINED. >>> >>> * THE FIX * >>> >>> To fix this, WindowEvent.FOCUS_GAINED must be called in order of >>> which window is shown (because the window is inserted on >>> activeWindows at this event). >>> >>> So I have modified glass_window.cpp to immediately call >>> WindowEvent.FOCUS_GAINED when showing the window: >>> >>> void WindowContextBase::set_visible(bool visible) { >>> ???? if (visible) { >>> ???????? gtk_widget_show_all(gtk_widget); >>> >>> ???????? //JDK-8220272 - fire event first because GDK_FOCUS_CHANGE >>> is not always in order >>> ???????? if(jwindow && isEnabled()) { >>> ???????????? mainEnv->CallVoidMethod(jwindow, jWindowNotifyFocus, >>> com_sun_glass_events_WindowEvent_FOCUS_GAINED); >>> ???????? } >>> ???? } else { >>> ???????? gtk_widget_hide(gtk_widget); >>> ???????? if (jview && is_mouse_entered) { >>> ???????????? is_mouse_entered = false; >>> ???????????? mainEnv->CallVoidMethod(jview, jViewNotifyMouse, >>> ???????????????????? com_sun_glass_events_MouseEvent_EXIT, >>> com_sun_glass_events_MouseEvent_BUTTON_NONE, >>> ???????????????????? 0, 0, >>> ???????????????????? 0, 0, >>> ???????????????????? 0, >>> ???????????????????? JNI_FALSE, >>> ???????????????????? JNI_FALSE); >>> ???????????? CHECK_JNI_EXCEPTION(mainEnv) >>> ???????? } >>> ???? } >>> } >>> >>> Did some tests and it seems to fix the problem. >>> >>> I do not have permission to make a PR, so posting the fix here. Will >>> happily do the PR if required. >>> >>> Thanks. >>> >> From munn7773 at gmail.com Tue Apr 16 03:03:34 2019 From: munn7773 at gmail.com (Andrew Munn) Date: Mon, 15 Apr 2019 23:03:34 -0400 Subject: FxApplicationThread usage with Message-ID: I have a table where column values are bound to row objects' properties like this column.setCellValueFactory(ex -> ex.getValue().getSomeProperty()); Should I always call... someProperty.setValue(updatedValue); ...in the FxApplicationThread, or does binding it to the TableColumn take care of dispatching it on the right thread? From ambarish.rapte at oracle.com Tue Apr 16 06:53:37 2019 From: ambarish.rapte at oracle.com (Ambarish Rapte) Date: Mon, 15 Apr 2019 23:53:37 -0700 (PDT) Subject: [13] RFR : JDK-8222222 : Gradients defined in CSS always use "reflect" even when "repeat" is specified Message-ID: Hi Kevin, Ajit, Please review this small fix, JBS: https://bugs.openjdk.java.net/browse/JDK-8222222 Webrev: http://cr.openjdk.java.net/~arapte/fx/8222222/webrev.00/ Regards, Ambarish From thiago.sayao at clamed.com.br Tue Apr 16 11:14:30 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Tue, 16 Apr 2019 11:14:30 +0000 Subject: FxApplicationThread usage with In-Reply-To: References: Message-ID: If you do a database (or any I/O intensive task that blocks) the call should be on a Task or Service (which contains a Task). You can bind to the task return value directly, threads will be handled correctly. For non I/O intensive tasks you can set values directly. If you do I/O intensive tasks outside a Task<> or Service<> the UI will block (show a white screen or any non-desirable behaviour). ________________________________ De: openjfx-dev em nome de Andrew Munn Enviado: ter?a-feira, 16 de abril de 2019 00:03 Para: openjfx-dev at openjdk.java.net Assunto: FxApplicationThread usage with I have a table where column values are bound to row objects' properties like this column.setCellValueFactory(ex -> ex.getValue().getSomeProperty()); Should I always call... someProperty.setValue(updatedValue); ...in the FxApplicationThread, or does binding it to the TableColumn take care of dispatching it on the right thread? From thimo at von-rauchhaupt.de Tue Apr 16 11:50:31 2019 From: thimo at von-rauchhaupt.de (wp1119767-thimo wp1119767-thimo) Date: Tue, 16 Apr 2019 13:50:31 +0200 (CEST) Subject: 2 Bugs in the JFXPanel Message-ID: <1450843760.449983.1555415431872@ox.hosteurope.de> Hi, Somewhile ago, I sent two bug descriptions to this email list. I was told to open a bug ticket in the ORACLE Java Bug Database. These two were now accepted (https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8222209, https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8222208 ) Must anything else be done by me? Best regards, Thimo From thiago.sayao at clamed.com.br Tue Apr 16 12:04:29 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Tue, 16 Apr 2019 12:04:29 +0000 Subject: JDK-8212060: Found the problem - will try to fix Message-ID: This bug affects Linux - the Window appears somewhere on the screen and then moves to de center. The moving is a visible glitch. * The cause * on glass_window.cpp: void WindowContextTop::request_focus() { gtk_window_present(GTK_WINDOW(gtk_widget)); } This code executes before the gtk_window_move on WindowContextTop::window_configure. So there is the glitch - the window is presented and then moved (that's because the moving is vibile - may depend on the window manager). Posting here to hear suggestions on possible fixes. Calling gtk_widget_hide(), gtk_window_move() and then gtk_widget_show_all() fixes it - but it's ugly (in my opinion). From johan at lodgon.com Tue Apr 16 12:24:24 2019 From: johan at lodgon.com (Johan Vos) Date: Tue, 16 Apr 2019 14:24:24 +0200 Subject: JDK-8212060: Found the problem - will try to fix In-Reply-To: References: Message-ID: Would it be better to first have gtk_window_move and then request_focus? - Johan Op di 16 apr. 2019 om 14:15 schreef Thiago Milczarek Sayao < thiago.sayao at clamed.com.br>: > This bug affects Linux - the Window appears somewhere on the screen and > then moves to de center. The moving is a visible glitch. > > * The cause * > > on glass_window.cpp: > > void WindowContextTop::request_focus() { > gtk_window_present(GTK_WINDOW(gtk_widget)); > } > > This code executes before the gtk_window_move on > WindowContextTop::window_configure. > > So there is the glitch - the window is presented and then moved (that's > because the moving is vibile - may depend on the window manager). > > Posting here to hear suggestions on possible fixes. > > Calling gtk_widget_hide(), gtk_window_move() and then > gtk_widget_show_all() fixes it - but it's ugly (in my opinion). > > > > > From thiago.sayao at clamed.com.br Tue Apr 16 12:34:22 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Tue, 16 Apr 2019 12:34:22 +0000 Subject: JDK-8212060: Found the problem - will try to fix In-Reply-To: References: , Message-ID: Yes, but I think it would require changes on com.sun.glass.ui.Window. - tsayao ________________________________ De: Johan Vos Enviado: ter?a-feira, 16 de abril de 2019 09:24 Para: Thiago Milczarek Sayao Cc: openjfx-dev at openjdk.java.net Assunto: Re: JDK-8212060: Found the problem - will try to fix Would it be better to first have gtk_window_move and then request_focus? - Johan Op di 16 apr. 2019 om 14:15 schreef Thiago Milczarek Sayao >: This bug affects Linux - the Window appears somewhere on the screen and then moves to de center. The moving is a visible glitch. * The cause * on glass_window.cpp: void WindowContextTop::request_focus() { gtk_window_present(GTK_WINDOW(gtk_widget)); } This code executes before the gtk_window_move on WindowContextTop::window_configure. So there is the glitch - the window is presented and then moved (that's because the moving is vibile - may depend on the window manager). Posting here to hear suggestions on possible fixes. Calling gtk_widget_hide(), gtk_window_move() and then gtk_widget_show_all() fixes it - but it's ugly (in my opinion). From kevin.rushforth at oracle.com Tue Apr 16 13:32:25 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 16 Apr 2019 06:32:25 -0700 Subject: JDK-8212060: Found the problem - will try to fix In-Reply-To: References: Message-ID: I agree that gtk_widget_hide() --> gtk_window_move() --> gtk_widget_show_all() is ugly. Changing the shared code in com.sun.glass.ui.Window would need to be done very carefully and tested on all platforms. One other possibility, which I don't know if it is feasible, might be to defer the call to focus if the window is not yet configured / shown for the first time (assuming that this is really only problem the first time it is shown). Something like: ?? focus() { ????? if (window is already configured) { ??????????? request focus ????? } else { ????????? deferredFocus = true ????? } ?? } ?? configure() { ??????? configure / move the window ??????? if (deferredFocus) { ??????????? request focus ??????????? deferredFocus = false ??????? } ??? } -- Kevin On 4/16/2019 5:34 AM, Thiago Milczarek Sayao wrote: > Yes, but I think it would require changes on com.sun.glass.ui.Window. > > - tsayao > ________________________________ > De: Johan Vos > Enviado: ter?a-feira, 16 de abril de 2019 09:24 > Para: Thiago Milczarek Sayao > Cc: openjfx-dev at openjdk.java.net > Assunto: Re: JDK-8212060: Found the problem - will try to fix > > Would it be better to first have gtk_window_move and then request_focus? > > - Johan > > Op di 16 apr. 2019 om 14:15 schreef Thiago Milczarek Sayao >: > This bug affects Linux - the Window appears somewhere on the screen and then moves to de center. The moving is a visible glitch. > > * The cause * > > on glass_window.cpp: > > void WindowContextTop::request_focus() { > gtk_window_present(GTK_WINDOW(gtk_widget)); > } > > This code executes before the gtk_window_move on WindowContextTop::window_configure. > > So there is the glitch - the window is presented and then moved (that's because the moving is vibile - may depend on the window manager). > > Posting here to hear suggestions on possible fixes. > > Calling gtk_widget_hide(), gtk_window_move() and then gtk_widget_show_all() fixes it - but it's ugly (in my opinion). > > > > From kevin.rushforth at oracle.com Tue Apr 16 14:25:13 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 16 Apr 2019 07:25:13 -0700 Subject: 2 Bugs in the JFXPanel In-Reply-To: <1450843760.449983.1555415431872@ox.hosteurope.de> References: <1450843760.449983.1555415431872@ox.hosteurope.de> Message-ID: If your intention was to make sure we are aware of the bugs, then no, there is nothing else that needs to be done. We are now aware of these bugs and they are in our backlog. However, we are unlikely to work on these bugs in the near future, so if you would like to contribute a fix, please see [1]. -- Kevin [1] https://github.com/javafxports/openjdk-jfx/blob/develop/.github/CONTRIBUTING.md On 4/16/2019 4:50 AM, wp1119767-thimo wp1119767-thimo wrote: > Hi, > > Somewhile ago, I sent two bug descriptions to this email list. I was told to open a bug ticket in the ORACLE Java Bug Database. > These two were now accepted (https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8222209, https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8222208 ) > > Must anything else be done by me? > > Best regards, > Thimo From jshattu at gmail.com Tue Apr 16 15:31:33 2019 From: jshattu at gmail.com (Jason Shattu) Date: Tue, 16 Apr 2019 15:31:33 +0000 Subject: 2 Bugs in the JFXPanel In-Reply-To: References: <1450843760.449983.1555415431872@ox.hosteurope.de> Message-ID: How are the priorities determined as to which bugs or features you work on? What's the latest road-map for JavaFX? ------ Original Message ------ From: "Kevin Rushforth" To: "wp1119767-thimo wp1119767-thimo" ; openjfx-dev at openjdk.java.net Sent: 16/04/2019 15:25:13 Subject: Re: 2 Bugs in the JFXPanel >If your intention was to make sure we are aware of the bugs, then no, there is nothing else that needs to be done. We are now aware of these bugs and they are in our backlog. > >However, we are unlikely to work on these bugs in the near future, so if you would like to contribute a fix, please see [1]. > >-- Kevin > >[1] https://github.com/javafxports/openjdk-jfx/blob/develop/.github/CONTRIBUTING.md > > >On 4/16/2019 4:50 AM, wp1119767-thimo wp1119767-thimo wrote: >>Hi, >> >>Somewhile ago, I sent two bug descriptions to this email list. I was told to open a bug ticket in the ORACLE Java Bug Database. >>These two were now accepted (https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8222209, https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8222208 ) >> >>Must anything else be done by me? >> >>Best regards, >>Thimo > From munn7773 at gmail.com Tue Apr 16 15:55:50 2019 From: munn7773 at gmail.com (Andrew Munn) Date: Tue, 16 Apr 2019 11:55:50 -0400 Subject: FxApplicationThread usage with In-Reply-To: References: Message-ID: I'm not doing any IO. Mostly I'm concerned with unordered UI updates during periods of very active updating because some queue up to be serviced by the application thread while other updates jump to front because they're done on the wrong thread. On Tue, Apr 16, 2019, 7:14 AM Thiago Milczarek Sayao < thiago.sayao at clamed.com.br> wrote: > If you do a database (or any I/O intensive task that blocks) the call > should be on a Task or Service (which contains a Task). > > You can bind to the task return value directly, threads will be handled > correctly. > > For non I/O intensive tasks you can set values directly. > > If you do I/O intensive tasks outside a Task<> or Service<> the UI will > block (show a white screen or any non-desirable behaviour). > > > ------------------------------ > *De:* openjfx-dev em nome de > Andrew Munn > *Enviado:* ter?a-feira, 16 de abril de 2019 00:03 > *Para:* openjfx-dev at openjdk.java.net > *Assunto:* FxApplicationThread usage with > > I have a table where column values are bound to row objects' properties > like this > > column.setCellValueFactory(ex -> ex.getValue().getSomeProperty()); > > Should I always call... > > someProperty.setValue(updatedValue); > > ...in the FxApplicationThread, or does binding it to the TableColumn take > care of dispatching it on the right thread? > From kevin.rushforth at oracle.com Tue Apr 16 16:02:10 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 16 Apr 2019 09:02:10 -0700 Subject: [13] RFR: Request to sync April 2019 CPU changes into jfx-dev Message-ID: <5ded8392-cefd-fbb7-e139-5c2abcb459e9@oracle.com> Johan and Phil, I request approval to sync changes from to the just-released April 2019 CPU release into jfx-dev. Here is the aggregate webrev for the fixes: http://cr.openjdk.java.net/~kcr/cpu-1904-sync/jfx-dev/webrev/ -- Kevin From kevin.rushforth at oracle.com Tue Apr 16 16:02:50 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 16 Apr 2019 09:02:50 -0700 Subject: [11] RFR: Request to backport April 2019 CPU changes into 11-dev Message-ID: ?Hi Johan, I request approval to backport the changes from the just-released April 2019 CPU to 11-dev. 1. Webrev for Apr 2019 CPU changes http://cr.openjdk.java.net/~kcr/cpu-1904-sync/11-dev/webrev/ This is a straight backport (patch applies cleanly) of the one FX fix that went into the April CPU. Thanks. -- Kevin From kevin.rushforth at oracle.com Tue Apr 16 16:04:47 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 16 Apr 2019 09:04:47 -0700 Subject: FxApplicationThread usage with In-Reply-To: References: Message-ID: <16ac9aee-83e7-e8b7-6791-e271826d90f2@oracle.com> You need to update properties that are bound to a property of a node that is live (attached to a scene that is attached to a visible Window) on the FX application thread or any number of things could go wrong. You can use Platform.runLater to do this. -- Kevin On 4/16/2019 8:55 AM, Andrew Munn wrote: > I'm not doing any IO. Mostly I'm concerned with unordered UI updates > during periods of very active updating because some queue up to be serviced > by the application thread while other updates jump to front because they're > done on the wrong thread. > > On Tue, Apr 16, 2019, 7:14 AM Thiago Milczarek Sayao < > thiago.sayao at clamed.com.br> wrote: > >> If you do a database (or any I/O intensive task that blocks) the call >> should be on a Task or Service (which contains a Task). >> >> You can bind to the task return value directly, threads will be handled >> correctly. >> >> For non I/O intensive tasks you can set values directly. >> >> If you do I/O intensive tasks outside a Task<> or Service<> the UI will >> block (show a white screen or any non-desirable behaviour). >> >> >> ------------------------------ >> *De:* openjfx-dev em nome de >> Andrew Munn >> *Enviado:* ter?a-feira, 16 de abril de 2019 00:03 >> *Para:* openjfx-dev at openjdk.java.net >> *Assunto:* FxApplicationThread usage with >> >> I have a table where column values are bound to row objects' properties >> like this >> >> column.setCellValueFactory(ex -> ex.getValue().getSomeProperty()); >> >> Should I always call... >> >> someProperty.setValue(updatedValue); >> >> ...in the FxApplicationThread, or does binding it to the TableColumn take >> care of dispatching it on the right thread? >> From johan.vos at gluonhq.com Tue Apr 16 16:28:37 2019 From: johan.vos at gluonhq.com (Johan Vos) Date: Tue, 16 Apr 2019 18:28:37 +0200 Subject: [13] RFR: Request to sync April 2019 CPU changes into jfx-dev In-Reply-To: <5ded8392-cefd-fbb7-e139-5c2abcb459e9@oracle.com> References: <5ded8392-cefd-fbb7-e139-5c2abcb459e9@oracle.com> Message-ID: +1 On Tue, Apr 16, 2019 at 6:02 PM Kevin Rushforth wrote: > Johan and Phil, > > I request approval to sync changes from to the just-released April 2019 > CPU release into jfx-dev. Here is the aggregate webrev for the fixes: > > http://cr.openjdk.java.net/~kcr/cpu-1904-sync/jfx-dev/webrev/ > > -- Kevin > > From johan.vos at gluonhq.com Tue Apr 16 16:28:45 2019 From: johan.vos at gluonhq.com (Johan Vos) Date: Tue, 16 Apr 2019 18:28:45 +0200 Subject: [11] RFR: Request to backport April 2019 CPU changes into 11-dev In-Reply-To: References: Message-ID: +1 On Tue, Apr 16, 2019 at 6:02 PM Kevin Rushforth wrote: > Hi Johan, > > I request approval to backport the changes from the just-released April > 2019 CPU to 11-dev. > > 1. Webrev for Apr 2019 CPU changes > > http://cr.openjdk.java.net/~kcr/cpu-1904-sync/11-dev/webrev/ > > This is a straight backport (patch applies cleanly) of the one FX fix > that went into the April CPU. > > Thanks. > > -- Kevin > > From alexander.matveev at oracle.com Wed Apr 17 01:07:43 2019 From: alexander.matveev at oracle.com (Alexander Matveev) Date: Tue, 16 Apr 2019 18:07:43 -0700 Subject: [13] RFR: JDK-8213510: [Windows] MediaPlayer does not play some mp3 with artwork stream in mjpeg Message-ID: <9e39e7a4-474a-9c0d-c4a6-8469305149e4@oracle.com> Hi Kevin, Please review the following: https://bugs.openjdk.java.net/browse/JDK-8213510 http://cr.openjdk.java.net/~almatvee/8213510/webrev.00/ Fixed by not sending metadata to MP3 decoder. Thanks, Alexander From johan.vos at gluonhq.com Thu Apr 18 15:45:01 2019 From: johan.vos at gluonhq.com (Johan Vos) Date: Thu, 18 Apr 2019 17:45:01 +0200 Subject: Backport request for jfx-12 Message-ID: Hi Kevin, I ask permission to backport the following issues to jfx-12: 8219539: Cherry pick GTK WebKit 2.22.6 changes 8214808: Better framerate computation - Johan From kevin.rushforth at oracle.com Thu Apr 18 16:08:06 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 18 Apr 2019 09:08:06 -0700 Subject: Backport request for jfx-12 In-Reply-To: References: Message-ID: <633eb855-6948-0700-1fac-cadb11da8583@oracle.com> +1 On 4/18/2019 8:45 AM, Johan Vos wrote: > Hi Kevin, > > I ask permission to backport the following issues to jfx-12: > > 8219539: Cherry pick GTK WebKit 2.22.6 changes > 8214808: Better framerate computation > > - Johan From alexander.matveev at oracle.com Fri Apr 19 01:13:18 2019 From: alexander.matveev at oracle.com (Alexander Matveev) Date: Thu, 18 Apr 2019 18:13:18 -0700 Subject: [13] RFR: JDK-8215894: Provide media support for libav version 58 Message-ID: <8407a57a-f5bc-fe5b-badf-ce1da519c0d5@oracle.com> Hi Kevin, Please review the following: https://bugs.openjdk.java.net/browse/JDK-8215894 http://cr.openjdk.java.net/~almatvee/8215894/webrev.00/ - Added support for libavcodec 58. Thanks, Alexander From kevin.rushforth at oracle.com Fri Apr 19 16:58:03 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 19 Apr 2019 09:58:03 -0700 Subject: [13] RFR: JDK-8215894: Provide media support for libav version 58 In-Reply-To: <8407a57a-f5bc-fe5b-badf-ce1da519c0d5@oracle.com> References: <8407a57a-f5bc-fe5b-badf-ce1da519c0d5@oracle.com> Message-ID: <7ea76b27-75a9-b5a5-689a-0c482abf675f@oracle.com> Looks good. This needs a second reviewer. -- Kevin On 4/18/2019 6:13 PM, Alexander Matveev wrote: > Hi Kevin, > > Please review the following: > https://bugs.openjdk.java.net/browse/JDK-8215894 > http://cr.openjdk.java.net/~almatvee/8215894/webrev.00/ > > - Added support for libavcodec 58. > > Thanks, > Alexander From alexander.matveev at oracle.com Fri Apr 19 22:35:56 2019 From: alexander.matveev at oracle.com (Alexander Matveev) Date: Fri, 19 Apr 2019 15:35:56 -0700 Subject: [13] RFR: JDK-8222780: Visual Studio does not open media vs_projects files Message-ID: <065cfced-16d2-1a69-974a-7d9abeeb049c@oracle.com> Hi Kevin, Please review the following: https://bugs.openjdk.java.net/browse/JDK-8222780 http://cr.openjdk.java.net/~almatvee/8222780/webrev.00/ - Fixed corrupted Visual Studio projects. Fix is same as proposed one in JDK-8222779. Thanks, Alexander From munn7773 at gmail.com Sat Apr 20 00:35:31 2019 From: munn7773 at gmail.com (Andrew Munn) Date: Fri, 19 Apr 2019 20:35:31 -0400 Subject: Framework for saving window positions, etc? Message-ID: What are best practices for saving users' window positions, sizes, table column order/width, etc so these things are restored on startup? Is there a good framework for this or do you just roll your own? From jshattu at gmail.com Sat Apr 20 06:00:16 2019 From: jshattu at gmail.com (Jason Shattu) Date: Sat, 20 Apr 2019 06:00:16 +0000 Subject: Framework for saving window positions, etc? In-Reply-To: References: Message-ID: +1 ------ Original Message ------ From: "Andrew Munn" To: openjfx-dev at openjdk.java.net Sent: 20/04/2019 01:35:31 Subject: Framework for saving window positions, etc? >What are best practices for saving users' window positions, sizes, table >column order/width, etc so these things are restored on startup? Is there >a good framework for this or do you just roll your own? From alan at whiteware.org Sat Apr 20 08:57:44 2019 From: alan at whiteware.org (Alan White (Drum Score Editor)) Date: Sat, 20 Apr 2019 09:57:44 +0100 Subject: Framework for saving window positions, etc? In-Reply-To: References: Message-ID: <9ACD392C-173F-4C2C-94A9-5E36C88BEF05@whiteware.org> Not sure it?s ?best practise?, and to caveat further I?m still migrating my app from swing to jfx, so there may be better ways in the new world, but my approach was to use separate listener / adapters and store using the cross platform java preferences api. Often subclassing, so on create the stored preferences are applied. Ymmv. > On 20 Apr 2019, at 07:00, Jason Shattu wrote: > > +1 > > ------ Original Message ------ > From: "Andrew Munn" > To: openjfx-dev at openjdk.java.net > Sent: 20/04/2019 01:35:31 > Subject: Framework for saving window positions, etc? > >> What are best practices for saving users' window positions, sizes, table >> column order/width, etc so these things are restored on startup? Is there >> a good framework for this or do you just roll your own? > From johan.vos at gluonhq.com Mon Apr 22 14:42:58 2019 From: johan.vos at gluonhq.com (Johan Vos) Date: Mon, 22 Apr 2019 16:42:58 +0200 Subject: RFR: JDK-8222804: increase security version in jfx-12 Message-ID: Hi Kevin, Please review http://cr.openjdk.java.net/~jvos/8222804/webrev.00/ which fixes https://bugs.openjdk.java.net/browse/JDK-8222804 Thanks, - Johan From kevin.rushforth at oracle.com Mon Apr 22 14:47:40 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 22 Apr 2019 07:47:40 -0700 Subject: RFR: JDK-8222804: increase security version in jfx-12 In-Reply-To: References: Message-ID: <330c57de-b028-63e1-48b9-663a842a093c@oracle.com> +1 On 4/22/2019 7:42 AM, Johan Vos wrote: > Hi Kevin, > > Please review > http://cr.openjdk.java.net/~jvos/8222804/webrev.00/?which fixes > https://bugs.openjdk.java.net/browse/JDK-8222804 > > Thanks, > > - Johan From thiago.sayao at clamed.com.br Mon Apr 22 16:02:51 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Mon, 22 Apr 2019 16:02:51 +0000 Subject: JDK-8222214, JDK-8210973 Message-ID: Did those two fixes: JDK-8222214: Fix TableView content disappearing on user pressing UP? https://github.com/javafxports/openjdk-jfx/pull/450 JDK-8210973: Set the focus to the owner window when current window is closed https://github.com/javafxports/openjdk-jfx/pull/451 Will probably work on more, pure fun :) From kevin.rushforth at oracle.com Mon Apr 22 19:28:22 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 22 Apr 2019 12:28:22 -0700 Subject: JDK-8222214, JDK-8210973 In-Reply-To: References: Message-ID: Hi Thiago, Welcome, and thank you for your proposed contributions. As a reminder (for all contributors, not just for you), please send a separate request-for-review (RFR) email for each bug you propose to fix. This makes it easier to keep track of them. The Subject of the email should include "RFR", the bug ID, and the bug summary. The CONTRIBUTING.md on GitHub has an example RFR email you can use as a template. Once your OCA has been recorded, we will review them. Thanks. -- Kevin On 4/22/2019 9:02 AM, Thiago Milczarek Sayao wrote: > Did those two fixes: > > JDK-8222214: Fix TableView content disappearing on user pressing UP > https://github.com/javafxports/openjdk-jfx/pull/450 > > JDK-8210973: Set the focus to the owner window when current window is closed > https://github.com/javafxports/openjdk-jfx/pull/451 > > Will probably work on more, pure fun :) From kevin.rushforth at oracle.com Mon Apr 22 23:20:54 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 22 Apr 2019 16:20:54 -0700 Subject: [13] RFR: JDK-8222746: Cleanup third-party legal files Message-ID: <61db9508-170d-26bd-936e-5753f0fc2466@oracle.com> Phil, Please review the following cleanup patch for the .md legal files: https://bugs.openjdk.java.net/browse/JDK-8222746 http://cr.openjdk.java.net/~kcr/8222746/webrev.00/ -- Kevin From johan.vos at gluonhq.com Tue Apr 23 09:00:37 2019 From: johan.vos at gluonhq.com (Johan Vos) Date: Tue, 23 Apr 2019 11:00:37 +0200 Subject: RFR: 8222839: release notes for 12.0.1 Message-ID: Hi Kevin, Please review http://cr.openjdk.java.net/~jvos/8222839/webrev.00/ which fixes https://bugs.openjdk.java.net/browse/JDK-8222839 thanks, - Johan From thiago.sayao at clamed.com.br Tue Apr 23 11:12:49 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Tue, 23 Apr 2019 11:12:49 +0000 Subject: RFR: JDK-8220272: Fix gtk window event order Message-ID: https://bugs.openjdk.java.net/browse/JDK-8220272 https://github.com/javafxports/openjdk-jfx/pull/445 (Received confirmation on my OCA from Oracle) From thiago.sayao at clamed.com.br Tue Apr 23 11:14:53 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Tue, 23 Apr 2019 11:14:53 +0000 Subject: RFR: JDK-8212060: Fix Window show and then move glitch Message-ID: https://github.com/javafxports/openjdk-jfx/pull/446 https://bugs.openjdk.java.net/browse/JDK-8212060 From thiago.sayao at clamed.com.br Tue Apr 23 11:17:25 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Tue, 23 Apr 2019 11:17:25 +0000 Subject: RFR: JDK-8210973: Set the focus to the owner window when current window is closed Message-ID: https://github.com/javafxports/openjdk-jfx/pull/451 https://bugs.openjdk.java.net/browse/JDK-8210973 From thiago.sayao at clamed.com.br Tue Apr 23 11:52:03 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Tue, 23 Apr 2019 11:52:03 +0000 Subject: RFR: JDK-8222214: Fix TableView content disappearing on user pressing UP Message-ID: https://github.com/javafxports/openjdk-jfx/pull/450 https://bugs.openjdk.java.net/browse/JDK-8222214 From ljw1001 at gmail.com Tue Apr 23 17:22:25 2019 From: ljw1001 at gmail.com (Larry White) Date: Tue, 23 Apr 2019 13:22:25 -0400 Subject: problem with the fx:namespace Message-ID: Hi, I'm having trouble with the fx namespace Scene Builder inserts several namespaces in an FXML file by default? xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/11.0.1" When I try to access either of these through IDEA, it tells me that there is "No XML at the location." When I try accessing them with a browser, I'm redirected to Oracle's java page. If I use https instead of http, I get a warning about the certificate. Oracle seems to have moved or removed them. How can make the fx namespace accessible to my fxml file? Thanks for your help From tom.schindl at bestsolution.at Wed Apr 24 07:01:32 2019 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Wed, 24 Apr 2019 09:01:32 +0200 Subject: problem with the fx:namespace In-Reply-To: References: Message-ID: Hi, namespace != xsd - there can never ever be a XSD for FXML! Tom On 23.04.19 19:22, Larry White wrote: > Hi, I'm having trouble with the fx namespace > > Scene Builder inserts several namespaces in an FXML file by default? > > xmlns:fx="http://javafx.com/fxml/1" > xmlns="http://javafx.com/javafx/11.0.1" > > When I try to access either of these through IDEA, it tells me that there > is "No XML at the location." > > When I try accessing them with a browser, I'm redirected to Oracle's java > page. If I use https instead of http, I get a warning about the certificate. > > Oracle seems to have moved or removed them. How can make the fx namespace > accessible to my fxml file? > > Thanks for your help > -- Tom Schindl, CTO BestSolution.at EDV Systemhaus GmbH Eduard-Bodem-Gasse 5-7. A-6020 Innsbruck Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck From ljw1001 at gmail.com Wed Apr 24 16:38:33 2019 From: ljw1001 at gmail.com (Larry White) Date: Wed, 24 Apr 2019 12:38:33 -0400 Subject: problem with the fx:namespace In-Reply-To: References: Message-ID: Ok. Thanks for the clarification. On Wed, Apr 24, 2019 at 3:02 AM Tom Schindl wrote: > Hi, > > namespace != xsd - there can never ever be a XSD for FXML! > > Tom > > On 23.04.19 19:22, Larry White wrote: > > Hi, I'm having trouble with the fx namespace > > > > Scene Builder inserts several namespaces in an FXML file by default? > > > > xmlns:fx="http://javafx.com/fxml/1" > > xmlns="http://javafx.com/javafx/11.0.1" > > > > When I try to access either of these through IDEA, it tells me that there > > is "No XML at the location." > > > > When I try accessing them with a browser, I'm redirected to Oracle's java > > page. If I use https instead of http, I get a warning about the > certificate. > > > > Oracle seems to have moved or removed them. How can make the fx namespace > > accessible to my fxml file? > > > > Thanks for your help > > > > -- > Tom Schindl, CTO > BestSolution.at EDV Systemhaus GmbH > Eduard-Bodem-Gasse 5-7. A-6020 Innsbruck > Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck > From alexander.matveev at oracle.com Wed Apr 24 21:45:06 2019 From: alexander.matveev at oracle.com (Alexander Matveev) Date: Wed, 24 Apr 2019 14:45:06 -0700 Subject: [13] RFR: JDK-8209180: Media fails to load source from custom image, with jrt: URL Message-ID: <16c2e18f-3937-4caa-cfcd-8430bda5f357@oracle.com> Hi Kevin, Please review the following: https://bugs.openjdk.java.net/browse/JDK-8209180 http://cr.openjdk.java.net/~almatvee/8209180/webrev.00/ - Added support for JRT protocol. Thanks, Alexander From thiago.sayao at clamed.com.br Thu Apr 25 02:06:23 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Thu, 25 Apr 2019 02:06:23 +0000 Subject: About JDK-8193502 Message-ID: I have located this bug: https://bugs.openjdk.java.net/browse/JDK-8193502 It's on glass_window.cpp on this function below. For some reason width is 1 and height is 1, causing error on the DialogPane layout calculations. I lack understanding of this as a whole. Anyone got ideas? According to gtk docs, this gtk_window_get_size should not be here: https://developer.gnome.org/gtk3/stable/GtkWindow.html#gtk-window-get-size bool WindowContextBase::set_view(jobject view) { if (jview) { mainEnv->CallVoidMethod(jview, jViewNotifyMouse, com_sun_glass_events_MouseEvent_EXIT, com_sun_glass_events_MouseEvent_BUTTON_NONE, 0, 0, 0, 0, 0, JNI_FALSE, JNI_FALSE); mainEnv->DeleteGlobalRef(jview); } if (view) { gint width, height; jview = mainEnv->NewGlobalRef(view); ///->>>>>> HERE gtk_window_get_size(GTK_WINDOW(gtk_widget), &width, &height); mainEnv->CallVoidMethod(view, jViewNotifyResize, width, height); CHECK_JNI_EXCEPTION_RET(mainEnv, FALSE) } else { jview = NULL; } return TRUE; } From thiago.sayao at clamed.com.br Fri Apr 26 13:02:06 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Fri, 26 Apr 2019 13:02:06 +0000 Subject: RFR: JDK-8193502: Fix DialogPane wrong height calculation (and possible some other size related issues) Message-ID: Please, review the following: https://github.com/javafxports/openjdk-jfx/pull/456 https://bugs.openjdk.java.net/browse/JDK-8193502 Thanks. From ooo_saturn7 at mail.ru Fri Apr 26 13:13:20 2019 From: ooo_saturn7 at mail.ru (=?UTF-8?B?QWxleCBTdmlyaWRvdg==?=) Date: Fri, 26 Apr 2019 16:13:20 +0300 Subject: =?UTF-8?B?V2h5IGRvbid0IEdyaWRQYW5lLCBIQm94LCBCb3JkZXJQYW5lLCBWQm94LCBT?= =?UTF-8?B?dGFja1BhbmUgaGF2ZSBTa2lucz8=?= Message-ID: <1556284400.382129292@f489.i.mail.ru> I am studying JavaFX API and can't understand why GridPane, HBox, BorderPane, VBox, StackPane don't have Skins. According to Skin API doc: >Base class for defining the visual representation of user interface controls by defining a scene graph of nodes to represent the skin. A user interface control is abstracted behind the Skinnable interface. Why do JavaFX developers use skins only for controls, but not for the above panes? I am asking, because these panes also have visual representation. For example, we can set color, they have children which can be placed somehow differently etc. Could anyone explain? -- Alex Sviridov From kevin.rushforth at oracle.com Fri Apr 26 14:45:57 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 26 Apr 2019 07:45:57 -0700 Subject: Why don't GridPane, HBox, BorderPane, VBox, StackPane have Skins? In-Reply-To: <1556284400.382129292@f489.i.mail.ru> References: <1556284400.382129292@f489.i.mail.ru> Message-ID: Those are layout containers, not UI controls. Given their purpose -- to be containers for laying out children -- it would seem odd for them to have skins. The ability to CSS-style a Pane should be sufficient to do what you want. -- Kevin On 4/26/2019 6:13 AM, Alex Sviridov wrote: > I am studying JavaFX API and can't understand why GridPane, HBox, BorderPane, VBox, StackPane don't have Skins. According to Skin API doc: >> Base class for defining the visual representation of user interface controls by defining a scene graph of nodes to represent the skin. A user interface control is abstracted behind the Skinnable interface. > Why do JavaFX developers use skins only for controls, but not for the above panes? I am asking, because these panes also have visual representation. For example, we can set color, they have children which can be placed somehow differently etc. Could anyone explain? From ooo_saturn7 at mail.ru Fri Apr 26 16:23:37 2019 From: ooo_saturn7 at mail.ru (=?UTF-8?B?QWxleCBTdmlyaWRvdg==?=) Date: Fri, 26 Apr 2019 19:23:37 +0300 Subject: =?UTF-8?B?UmVbMl06IFdoeSBkb24ndCBHcmlkUGFuZSwgSEJveCwgQm9yZGVyUGFuZSwg?= =?UTF-8?B?VkJveCwgU3RhY2tQYW5lIGhhdmUgU2tpbnM/?= In-Reply-To: References: <1556284400.382129292@f489.i.mail.ru> Message-ID: <1556295817.131077539@f484.i.mail.ru> Hi Kevin, thank you for your answer. Skin, as I understand, is a visual representation. You write - `The ability to CSS-style a Pane should be sufficient to do what you want`. So, on one side is a Skin that is a visual representation, on the other hand we can change visual representation of Pane via CSS. However, it is odd for Panes to have Skins. There is no logic for me here. For me it is odd for Panes not to have Skins. Or I understand something wrong. >???????, 26 ?????? 2019, 17:46 +03:00 ?? Kevin Rushforth : > >Those are layout containers, not UI controls. Given their purpose -- to >be containers for laying out children -- it would seem odd for them to >have skins. The ability to CSS-style a Pane should be sufficient to do >what you want. > >-- Kevin > > >On 4/26/2019 6:13 AM, Alex Sviridov wrote: >> I am studying JavaFX API and can't understand why GridPane, HBox, BorderPane, VBox, StackPane don't have Skins. According to Skin API doc: >>> Base class for defining the visual representation of user interface controls by defining a scene graph of nodes to represent the skin. A user interface control is abstracted behind the Skinnable interface. >> Why do JavaFX developers use skins only for controls, but not for the above panes? I am asking, because these panes also have visual representation. For example, we can set color, they have children which can be placed somehow differently etc. Could anyone explain? > -- Alex Sviridov From tbee at tbee.org Fri Apr 26 21:00:19 2019 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 26 Apr 2019 23:00:19 +0200 Subject: Why don't GridPane, HBox, BorderPane, VBox, StackPane have Skins? In-Reply-To: <1556284400.382129292@f489.i.mail.ru> References: <1556284400.382129292@f489.i.mail.ru> Message-ID: <86cb84e5-988c-0042-bf52-3b595cc884a6@tbee.org> The second a Pane does something more than layout its children, but renders something (like TabPane does), I agree. Pure layout does not need a skin. On 26-4-2019 15:13, Alex Sviridov wrote: > I am studying JavaFX API and can't understand why GridPane, HBox, BorderPane, VBox, StackPane don't have Skins. According to Skin API doc: >> Base class for defining the visual representation of user interface controls by defining a scene graph of nodes to represent the skin. A user interface control is abstracted behind the Skinnable interface. > Why do JavaFX developers use skins only for controls, but not for the above panes? I am asking, because these panes also have visual representation. For example, we can set color, they have children which can be placed somehow differently etc. Could anyone explain? From ooo_saturn7 at mail.ru Mon Apr 29 10:49:38 2019 From: ooo_saturn7 at mail.ru (=?UTF-8?B?QWxleCBTdmlyaWRvdg==?=) Date: Mon, 29 Apr 2019 13:49:38 +0300 Subject: =?UTF-8?B?UmVbMl06IFdoeSBkb24ndCBHcmlkUGFuZSwgSEJveCwgQm9yZGVyUGFuZSwg?= =?UTF-8?B?VkJveCwgU3RhY2tQYW5lIGhhdmUgU2tpbnM/?= In-Reply-To: References: <1556284400.382129292@f489.i.mail.ru> Message-ID: <1556534978.151470995@f420.i.mail.ru> Hi Kevin, Let me explain the reasons of this question. We implement JavaFX (simplified) in TypeScript ( https://github.com/PavelKastornyy/script4j ) for web. For every JavaFX Node we have html element. For example, for Pane we have
. So the question, where should we put all the logic about html elements of the Node? We thought that Skin is the best candidate, however, we found that not all nodes have Skins, for example GridPane doesn't. What would you advise? >???????, 26 ?????? 2019, 17:46 +03:00 ?? Kevin Rushforth : > >Those are layout containers, not UI controls. Given their purpose -- to >be containers for laying out children -- it would seem odd for them to >have skins. The ability to CSS-style a Pane should be sufficient to do >what you want. > >-- Kevin > > >On 4/26/2019 6:13 AM, Alex Sviridov wrote: >> I am studying JavaFX API and can't understand why GridPane, HBox, BorderPane, VBox, StackPane don't have Skins. According to Skin API doc: >>> Base class for defining the visual representation of user interface controls by defining a scene graph of nodes to represent the skin. A user interface control is abstracted behind the Skinnable interface. >> Why do JavaFX developers use skins only for controls, but not for the above panes? I am asking, because these panes also have visual representation. For example, we can set color, they have children which can be placed somehow differently etc. Could anyone explain? > -- Alex Sviridov From tbee at tbee.org Mon Apr 29 21:26:29 2019 From: tbee at tbee.org (Tom Eugelink) Date: Mon, 29 Apr 2019 23:26:29 +0200 Subject: Why don't GridPane, HBox, BorderPane, VBox, StackPane have Skins? In-Reply-To: <1556534978.151470995@f420.i.mail.ru> References: <1556284400.382129292@f489.i.mail.ru> <1556534978.151470995@f420.i.mail.ru> Message-ID: <0a973210-0bcd-21db-7c3c-d734a9ffb869@tbee.org> Panes are about positioning their children. But if you need a div element to do so, that should be no problem. The render engine is free to choose whatever it needs to render a given node tree. The nodes tree is about what needs to be rendered, not how to do it for a certain technology. So GridPane just positions its childeren, independent on the actual visualization. And then the engine has to decide how to visualize those nodes (using as many divs as it needs). On 29-4-2019 12:49, Alex Sviridov wrote: > Hi Kevin, > > Let me explain the reasons of this question. We implement JavaFX (simplified) in TypeScript > ( https://github.com/PavelKastornyy/script4j ) for web. For every JavaFX Node we have > html element. For example, for Pane we have
. > > So the question, where should we put all the logic about html elements of the Node? > We thought that Skin is the best candidate, however, we found that not all nodes have Skins, > for example GridPane doesn't. What would you advise? > > >> ???????, 26 ?????? 2019, 17:46 +03:00 ?? Kevin Rushforth : >> >> Those are layout containers, not UI controls. Given their purpose -- to >> be containers for laying out children -- it would seem odd for them to >> have skins. The ability to CSS-style a Pane should be sufficient to do >> what you want. >> >> -- Kevin >> >> >> On 4/26/2019 6:13 AM, Alex Sviridov wrote: >>> I am studying JavaFX API and can't understand why GridPane, HBox, BorderPane, VBox, StackPane don't have Skins. According to Skin API doc: >>>> Base class for defining the visual representation of user interface controls by defining a scene graph of nodes to represent the skin. A user interface control is abstracted behind the Skinnable interface. >>> Why do JavaFX developers use skins only for controls, but not for the above panes? I am asking, because these panes also have visual representation. For example, we can set color, they have children which can be placed somehow differently etc. Could anyone explain? > From m4gw4s at gmail.com Tue Apr 30 08:02:26 2019 From: m4gw4s at gmail.com (=?UTF-8?B?TWFnb3PDoW55aSDDgXJww6Fk?=) Date: Tue, 30 Apr 2019 09:02:26 +0100 Subject: drag&drop events? Message-ID: Hi list, I am trying to implement drag&drop in a tree view. I actually did it. It works. In 1/3rd of the times. Otherwise there are times when relevant events do not arrive, and events kick in from nowhere. Specifically I don't see the dragDone event to fire, although I call setDropCompleted(true) in the dragDropped event. If I do hand testing, I just can't see much correlation between events arriving and the mouse movements I do. dragDropped events came out of nowhere, some cells receive dragEnter/Exit/Over event, some not, the event source is set to misterious values. This is how I test (see https://github.com/magwas/zenta3/blob/master/ui/src/test/java/org/rulez/demokracia/zenta3/editor/DragAndDropTest.java for full code): ? @Test ? public void ????? when_the_drag_is_dropped_the_element_is_moved( ????????? final FxRobot robot ????? ) { ??? final ZentaTreeCell startCell = findCellFor(newElement); ??? robot.drag(startCell); ??? final ZentaTreeCell targetCell = findCellFor(thing); ??? final int targetIndex = targetCell.getIndex(); ??? robot.moveTo(targetCell); ??? robot.dropTo(targetCell); ??? WaitForAsyncUtils.waitForFxEvents(); ??? final ZentaTreeCell endCell = findCellFor(newElement); ??? assertEquals(targetIndex + 1, endCell.getIndex()); ? } And these are the relevant lines of my TreeCell implementation ( https://github.com/magwas/zenta3/blob/master/ui/src/main/java/org/rulez/demokracia/zenta3/editor/tree/ZentaTreeCell.java for full code): public class ZentaTreeCell extends TreeCell { ? public static final DataFormat ZENTA_FORMAT = ????? new DataFormat("Zenta Elements"); ? private final TreeView treeView; ? public ZentaTreeCell(final TreeView view) { ??? super(); ??? treeView = view; ??? setOnDragDetected((e) -> dragDetected(e)); ??? setOnDragEntered((e) -> dragEntered(e)); ??? setOnDragOver((e) -> dragOver(e)); ??? setOnDragExited((e) -> dragExited(e)); ??? setOnDragDropped((e) -> dragDropped(e)); ??? setOnDragDone((e) -> dragDone(e)); ? } ? private void dragDone(final DragEvent e) { ??? System.out.println("done\n\tat " + this + "\n\t event: " + e); ? } ? private void dragDropped(final DragEvent e) { ??? System.out.println("dropped\n\tat " + this + "\n\t event: " + e); ??? e.setDropCompleted(true); ??? e.getDragboard().clear(); ??? e.consume(); ??? getStyleClass().remove("dragtarget"); ??? final ZentaTreeCell gestureSource = (ZentaTreeCell) e.getGestureSource(); ??? final ZentaTreeCell gestureTarget = (ZentaTreeCell) e.getGestureTarget(); ??? final TreeItem draggedItem = gestureSource.getTreeItem(); ??? final TreeItem draggedItemParent = draggedItem.getParent(); ??? final TreeItem droppeditem = gestureTarget.getTreeItem(); ??? final TreeItem droppedItemParent = droppeditem.getParent(); ??? final int indexInParent = ??????? droppedItemParent.getChildren().indexOf(droppeditem); ??? draggedItemParent.getChildren().remove(draggedItem); ??? droppedItemParent.getChildren().add(indexInParent + 1, draggedItem); ??? treeView.getSelectionModel().select(draggedItem); ? } ? private void dragOver(final DragEvent e) { ??? System.out.println("over\n\tat " + this + "\n\t event: " + e); ??? e.acceptTransferModes(TransferMode.MOVE); ??? e.consume(); ? } ? private void dragEntered(final DragEvent e) { ??? System.out.println("entered\n\tat " + this + "\n\t event: " + e); ??? getStyleClass().add("dragtarget"); ??? e.consume(); ? } ? private void dragExited(final DragEvent e) { ??? System.out.println("exited\n\tat " + this + "\n\t event: " + e); ??? getStyleClass().remove("dragtarget"); ??? e.consume(); ? } ? public void dragDetected(final MouseEvent e) { ??? System.out.println("detected\n\tat " + this + "\n\t event: " + e); ??? System.out.println("dragDetected"); ??? final Dragboard dragBoard = startDragAndDrop(TransferMode.MOVE); ??? final Map map = new HashMap<>(); ??? final ZentaElement item = getItem(); ??? map.put(ZENTA_FORMAT, item); ??? System.out.println("item: " + item); ??? dragBoard.setContent(map); ??? e.consume(); ? } ? @Override ? public void updateItem(final ZentaElement item, final boolean empty) { ??? super.updateItem(item, empty); ??? if (empty) { ????? setText(null); ????? setGraphic(null); ????? final ZentaElement currentItem = getItem(); ????? if (null != currentItem) ??????? currentItem.removePropertyChangeListener((e) -> propertyChanged(e)); ????? setItem(null); ??? } else { ????? setText(item.getName()); ????? item.addPropertyChangeListener((e) -> propertyChanged(e)); ??? } ??? setItem(item); ? } ? private void propertyChanged(final PropertyChangeEvent e) { ??? if (Folder.CHILDREN_PROPERTY.contentEquals(e.getPropertyName())) { ????? final TreeItem item = ????????? new ZentaTreeItem((ZentaElement) e.getNewValue()); ????? final TreeItem folderItem = getTreeItem(); ????? if (!(folderItem instanceof ZentaTreeItem)) ??????? return; ????? final ZentaTreeItem folderCell = (ZentaTreeItem) folderItem; ????? folderCell.getChildren().add(item); ??? } ? } } I guess I am missing something here, but after reading all the documentation about drag&drop, I don't see what. From swpalmer at gmail.com Tue Apr 30 15:41:39 2019 From: swpalmer at gmail.com (Scott Palmer) Date: Tue, 30 Apr 2019 11:41:39 -0400 Subject: JMODs and Arm support Message-ID: I noticed that there is a download on openjfx.io for an 11.0.2 Arm SDK, but no JMOD download for Arm. Nor is there any 64-bit Arm download, making it a bit of an outlier since there are no 32-bit binaries for the other platforms. (The website should probably label this better.) Is there any particular reason that JMOD downloads are not provided for Arm? My build process is using JMODs to jlink a runtime and I now have a need to get this working on embedded systems, including aarch64. I noticed that Bellsoft does supply an armv7/8 SDK with JavaFX modules included, but only for 32-bit, the 64-bit version doesn?t include JavaFX. The current practice of bundling the native libraries in the JAR files and extracting them at runtime seems to me to be a rather ugly hack - precisely the thing that JMOD addresses*. I also expect the process of extracting a native library at runtime could lead to problems with anti-malware tools. Is not the preferred mechanism to use link on a JMOD to produce a runtime with the native code in the proper place to begin with? The Gradle scripts provided at openjfx.io don?t support this model either. I still can?t find any JMOD artifacts published to Maven Central. I asked about this before and there seemed to agreement that publishing the JMOD files as artifacts was a reasonable thing to do. I?m currently uploading them to our local Artifactory server to work around this. *There is still an issue with the poor support for JMOD during development. You have to create a JRE outside of the JDK and wedge it in to your development process in order to debug, because JMOD isn?t supported at runtime. I?m not sure if there are any plans to improve that situation. For now I have ugly build scripts to use the .jar files for debugging and the JMODs for compiling and jlink. On another note: Does the Arm version of OpenJFX support a desktop environment yet? Instead of forcing a fullscreen situation? I would like things such as Dialogs and FileChoosers to work on a Raspberry Pi setup. Regards, Scott From john at status6.com Tue Apr 30 16:29:14 2019 From: john at status6.com (John Neffenger) Date: Tue, 30 Apr 2019 09:29:14 -0700 Subject: JMODs and Arm support In-Reply-To: References: Message-ID: <2cdd3869-d2ed-50ea-20bd-36cdfd94a864@status6.com> On 4/30/19 8:41 AM, Scott Palmer wrote: > I noticed that there is a download on openjfx.io for an 11.0.2 Arm SDK, but no JMOD download for Arm. Nor is there any 64-bit Arm download, making it a bit of an outlier since there are no 32-bit binaries for the other platforms. On a related topic, I'm curious why the "JavaFX armv6hf SDK" is not provided for versions 12 and 13. It would be great to have the 32-bit ARM builds for each version available here: Home ? Products ? JavaFX https://gluonhq.com/products/javafx/ I could provide those builds somewhere myself, but the page above is the only trusted source (linked from the OpenJFX Wiki and openjfx.io). Thanks, John From johan at lodgon.com Tue Apr 30 17:35:09 2019 From: johan at lodgon.com (Johan Vos) Date: Tue, 30 Apr 2019 19:35:09 +0200 Subject: JMODs and Arm support In-Reply-To: References: Message-ID: Hi Scott, I can only speak for Gluon, so if others have other plans, they should comment. Our primary focus is to make sure the quality and availability of JavaFX on the major desktop systems (win/mac/linux 64 bit) is guaranteed. That requires lots of testing/building/infrastructure/bookkeeping. Rather than doing too much at the same moment with limited resources, we wanted to make sure that JavaFX had a smooth transition from being bundled with Java 8 towards being standalone with Java 11. However, we see ARM and AArch64 as very interesting architectures for Java and JavaFX, and we're currently investing heavily in this, so expect more from us in this area. As for the JMODs to Maven Central: I agree this makes sense, but I think it would be even better if this was discussed with other stakeholders (e.g. the jigsaw team and the maven team). As for JavaFX on arm on RPi desktop: that should be working, but it might be that this is not in the distribution yet. I had it working locally on my Pi, where I had 2 JavaFX apps each in their own window, managed by an X window manager. - Johan Op di 30 apr. 2019 om 17:52 schreef Scott Palmer : > I noticed that there is a download on openjfx.io for > an 11.0.2 Arm SDK, but no JMOD download for Arm. Nor is there any 64-bit > Arm download, making it a bit of an outlier since there are no 32-bit > binaries for the other platforms. (The website should probably label this > better.) Is there any particular reason that JMOD downloads are not > provided for Arm? My build process is using JMODs to jlink a runtime and I > now have a need to get this working on embedded systems, including > aarch64. I noticed that Bellsoft does supply an armv7/8 SDK with JavaFX > modules included, but only for 32-bit, the 64-bit version doesn?t include > JavaFX. > > The current practice of bundling the native libraries in the JAR files and > extracting them at runtime seems to me to be a rather ugly hack - precisely > the thing that JMOD addresses*. I also expect the process of extracting a > native library at runtime could lead to problems with anti-malware tools. > Is not the preferred mechanism to use link on a JMOD to produce a runtime > with the native code in the proper place to begin with? > The Gradle scripts provided at openjfx.io don?t > support this model either. > > I still can?t find any JMOD artifacts published to Maven Central. I asked > about this before and there seemed to agreement that publishing the JMOD > files as artifacts was a reasonable thing to do. I?m currently uploading > them to our local Artifactory server to work around this. > > *There is still an issue with the poor support for JMOD during > development. You have to create a JRE outside of the JDK and wedge it in to > your development process in order to debug, because JMOD isn?t supported at > runtime. I?m not sure if there are any plans to improve that situation. > For now I have ugly build scripts to use the .jar files for debugging and > the JMODs for compiling and jlink. > > > On another note: Does the Arm version of OpenJFX support a desktop > environment yet? Instead of forcing a fullscreen situation? I would like > things such as Dialogs and FileChoosers to work on a Raspberry Pi setup. > > Regards, > > Scott > > From thiago.sayao at clamed.com.br Tue Apr 30 20:18:07 2019 From: thiago.sayao at clamed.com.br (Thiago Milczarek Sayao) Date: Tue, 30 Apr 2019 20:18:07 +0000 Subject: How do I find out why SceneBuilder is not recognizing my control? Message-ID: When I load a .jar in SceneBuilder, some controls are recognized, some are not. How do I find out why some are ignored? Thanks. From kevin.rushforth at oracle.com Tue Apr 30 20:26:46 2019 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 30 Apr 2019 13:26:46 -0700 Subject: [13] RFR: JDK-8222813: Cleanup third-party legal files for tools and apps Message-ID: <55db024f-1517-1943-e7c9-efb4a296d066@oracle.com> Phil, Please review the following to cleanup the third-party legal files for tools and apps: https://bugs.openjdk.java.net/browse/JDK-8222813 http://cr.openjdk.java.net/~kcr/8222813/webrev.00/ Thanks. -- Kevin