From randahl at rockit.dk Mon Oct 1 04:00:12 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Mon, 1 Oct 2012 13:00:12 +0200 Subject: Does JavaFX have a mouse transparency problem? Message-ID: I have two panes of components that I show directly on top of each other. In the bottom pane I have input controls like text fields and in the top pane I have floating stuff like tool tips that are shown on top of (in front of) the input controls. To make this work I have set mouseTransparent to true for the top pane, so any clicks on that pane passes through to the input controls below (behind it). This works like a charm except I now want to make the tooltips clickable. It seems I cannot do that, since when the top pane is made mouse transparent all children of that pane are mouse transparent too, meaning my tooltips are mouse transparent. I am thinking there's got to be a way I can work around this, but so far my experiments have not come to fruition. Is it possible to have a transparent parent with non-transparent children, or is this a missing feature, or is there some other, better way? Randahl From randahl at rockit.dk Mon Oct 1 04:53:31 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Mon, 1 Oct 2012 13:53:31 +0200 Subject: Does JavaFX have a mouse transparency problem? In-Reply-To: <9013102366680535891@unknownmsgid> References: <9013102366680535891@unknownmsgid> Message-ID: Wonderful? Thanks Scott! It works! Randahl On Oct 1, 2012, at 13:23 , Scott Palmer wrote: > You could try using a Group for the top pane and turning off the mouse > transparency. > > Scott > > On 2012-10-01, at 7:01 AM, Randahl Fink Isaksen wrote: > >> I have two panes of components that I show directly on top of each other. In the bottom pane I have input controls like text fields and in the top pane I have floating stuff like tool tips that are shown on top of (in front of) the input controls. >> >> To make this work I have set mouseTransparent to true for the top pane, so any clicks on that pane passes through to the input controls below (behind it). This works like a charm except I now want to make the tooltips clickable. It seems I cannot do that, since when the top pane is made mouse transparent all children of that pane are mouse transparent too, meaning my tooltips are mouse transparent. >> >> I am thinking there's got to be a way I can work around this, but so far my experiments have not come to fruition. >> >> Is it possible to have a transparent parent with non-transparent children, or is this a missing feature, or is there some other, better way? >> >> Randahl From richard.bair at oracle.com Mon Oct 1 05:41:39 2012 From: richard.bair at oracle.com (Richard Bair) Date: Mon, 1 Oct 2012 05:41:39 -0700 Subject: Does JavaFX have a mouse transparency problem? In-Reply-To: References: Message-ID: <0158C50E-8122-40E2-94AF-BE2EC8CEC102@oracle.com> I believe pickInBounds of the region is what you're looking for? In the case that isn't it, subclass your top pane and override contains to only answer true based on the children. Cheers Richard On Oct 1, 2012, at 4:00 AM, Randahl Fink Isaksen wrote: > I have two panes of components that I show directly on top of each other. In the bottom pane I have input controls like text fields and in the top pane I have floating stuff like tool tips that are shown on top of (in front of) the input controls. > > To make this work I have set mouseTransparent to true for the top pane, so any clicks on that pane passes through to the input controls below (behind it). This works like a charm except I now want to make the tooltips clickable. It seems I cannot do that, since when the top pane is made mouse transparent all children of that pane are mouse transparent too, meaning my tooltips are mouse transparent. > > I am thinking there's got to be a way I can work around this, but so far my experiments have not come to fruition. > > Is it possible to have a transparent parent with non-transparent children, or is this a missing feature, or is there some other, better way? > > Randahl From hang.vo at oracle.com Tue Oct 2 09:18:27 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 02 Oct 2012 16:18:27 +0000 Subject: hg: openjfx/8/graphics/rt: 2 new changesets Message-ID: <20121002161832.4326647165@hg.openjdk.java.net> Changeset: 7c436f8509c8 Author: hudson Date: 2012-09-27 16:12 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/7c436f8509c8 Added tag 8.0-b58 for changeset 174647284655 ! .hgtags Changeset: eac2df24a6c0 Author: jpgodine at JPGODINE-LAP.st-users.us.oracle.com Date: 2012-10-02 09:02 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/eac2df24a6c0 Automated merge with ssh://jpgodine at jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx//rt From hang.vo at oracle.com Tue Oct 2 12:18:32 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 02 Oct 2012 19:18:32 +0000 Subject: hg: openjfx/8/controls/rt: 7 new changesets Message-ID: <20121002191841.A2D2E47168@hg.openjdk.java.net> Changeset: 7c436f8509c8 Author: hudson Date: 2012-09-27 16:12 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/7c436f8509c8 Added tag 8.0-b58 for changeset 174647284655 ! .hgtags Changeset: a30e7be8621e Author: Anthony Petrov Date: 2012-09-26 17:38 +0400 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/a30e7be8621e RT-24632: JFXPanel ComboBox item list not moved/closed ! javafx-ui-common/src/com/sun/javafx/embed/EmbeddedStageInterface.java ! javafx-ui-common/src/com/sun/javafx/embed/HostInterface.java Changeset: e5267f8c80af Author: kcr Date: 2012-09-26 17:45 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/e5267f8c80af Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: 7ee6a11abbbf Author: Felipe Heidrich Date: 2012-09-28 14:11 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/7ee6a11abbbf fix .classpath ! .classpath Changeset: 08067ae69c0c Author: snorthov Date: 2012-09-28 17:33 -0400 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/08067ae69c0c fix .classpath ! .classpath Changeset: eac2df24a6c0 Author: jpgodine at JPGODINE-LAP.st-users.us.oracle.com Date: 2012-10-02 09:02 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/eac2df24a6c0 Automated merge with ssh://jpgodine at jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx//rt Changeset: da3f3de73066 Author: leifs Date: 2012-10-02 12:10 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/da3f3de73066 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/rt From hang.vo at oracle.com Wed Oct 3 09:18:51 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 03 Oct 2012 16:18:51 +0000 Subject: hg: openjfx/8/graphics/rt: 2 new changesets Message-ID: <20121003161856.20A0F47179@hg.openjdk.java.net> Changeset: 07c0a2cbf8f3 Author: leifs Date: 2012-09-27 15:47 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/07c0a2cbf8f3 Fixed RT-25267: [Label] Ellipsis is not working ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/Utils.java Changeset: da3f3de73066 Author: leifs Date: 2012-10-02 12:10 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/da3f3de73066 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/rt From tbee at tbee.org Thu Oct 4 05:51:56 2012 From: tbee at tbee.org (Tom Eugelink) Date: Thu, 04 Oct 2012 14:51:56 +0200 Subject: Layout Message-ID: <506D866C.1000204@tbee.org> Not seeing my post from this morning appear, so I'm reposting but without the attachment this time. I've posted a thread on the JavaFX forums with problems I run into when writing a Google Calendar style control. I could use advice on how to best do this nested Panes layout. https://forums.oracle.com/forums/thread.jspa?threadID=2447739&stqc=true Tom From randahl at rockit.dk Thu Oct 4 06:09:13 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Thu, 4 Oct 2012 15:09:13 +0200 Subject: Layout In-Reply-To: <506D866C.1000204@tbee.org> References: <506D866C.1000204@tbee.org> Message-ID: Tom, the problem is, extending Pane directly is a lot of work. Pane does not implement a layout strategy and therefore does not implement computePrefWidth and computePrefHeight; consequently if you just nest a lot of Panes inside one another, none knows anything about size. So, instead of extending Pane directly I have found it much more useful to extend one of the subclasses which has a layout strategy such as BorderPane, GridPane, etc. And up until this point I have not yet seen a layout that could not be implemented as an (arguably bloated) tree of subclasses of Pane. Once you extend, say, BorderPane, invoking setPrefSize(double, double) *does* have an effect. Yours Randahl In short: Either invoke setSize and ensure On Oct 4, 2012, at 14:51 , Tom Eugelink wrote: > Not seeing my post from this morning appear, so I'm reposting but without the attachment this time. > > I've posted a thread on the JavaFX forums with problems I run into when writing a Google Calendar style control. I could use advice on how to best do this nested Panes layout. > > https://forums.oracle.com/forums/thread.jspa?threadID=2447739&stqc=true > > Tom From tbee at tbee.org Thu Oct 4 06:30:59 2012 From: tbee at tbee.org (Tom Eugelink) Date: Thu, 04 Oct 2012 15:30:59 +0200 Subject: Layout In-Reply-To: References: <506D866C.1000204@tbee.org> Message-ID: <506D8F93.2030007@tbee.org> But extending one of these Panes would no longer allow me to position the children myself? On 2012-10-04 15:09, Randahl Fink Isaksen wrote: > Tom, the problem is, extending Pane directly is a lot of work. Pane does not implement a layout strategy and therefore does not implement computePrefWidth and computePrefHeight; consequently if you just nest a lot of Panes inside one another, none knows anything about size. > > So, instead of extending Pane directly I have found it much more useful to extend one of the subclasses which has a layout strategy such as BorderPane, GridPane, etc. And up until this point I have not yet seen a layout that could not be implemented as an (arguably bloated) tree of subclasses of Pane. > > Once you extend, say, BorderPane, invoking setPrefSize(double, double) *does* have an effect. > > Yours > > Randahl > From randahl at rockit.dk Thu Oct 4 06:35:53 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Thu, 4 Oct 2012 15:35:53 +0200 Subject: Layout In-Reply-To: <506D866C.1000204@tbee.org> References: <506D866C.1000204@tbee.org> Message-ID: But it would! Only, instead of writing a lot of setLayoutX calls you write a lot of BorderPane.setMargin and BorderPane.setAlignment, etc. The beauty of this is your layout becomes independent of font sizes (which may be OS specific). R. On Oct 4, 2012, at 14:51 , Tom Eugelink wrote: > Not seeing my post from this morning appear, so I'm reposting but without the attachment this time. > > I've posted a thread on the JavaFX forums with problems I run into when writing a Google Calendar style control. I could use advice on how to best do this nested Panes layout. > > https://forums.oracle.com/forums/thread.jspa?threadID=2447739&stqc=true > > Tom From tbee at tbee.org Thu Oct 4 06:44:26 2012 From: tbee at tbee.org (Tom Eugelink) Date: Thu, 04 Oct 2012 15:44:26 +0200 Subject: Layout In-Reply-To: References: <506D866C.1000204@tbee.org> Message-ID: <506D92BA.7040304@tbee.org> I need to research this, but my initial reaction is something along the lines of "YIKES!!!". And "that is not how this should be working?". But I was already planning on creating my own "AbsolutePane" which would have a nice setXYWH method. How it is implemented internally is less relevant. Thanks for the suggestion! Tom On 2012-10-04 15:35, Randahl Fink Isaksen wrote: > But it would! Only, instead of writing a lot of setLayoutX calls you write a lot of BorderPane.setMargin and BorderPane.setAlignment, etc. > > The beauty of this is your layout becomes independent of font sizes (which may be OS specific). > > R. > From randahl at rockit.dk Thu Oct 4 06:53:35 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Thu, 4 Oct 2012 15:53:35 +0200 Subject: Layout In-Reply-To: <506D866C.1000204@tbee.org> References: <506D866C.1000204@tbee.org> Message-ID: <9F7A113B-B1CA-412D-99F5-193C65D5FC2F@rockit.dk> I strongly recommend you avoid absolute positioning. In most applications you never know anything about the size of the end user's screen and the fonts used. Dynamic layouts like the ones JavaFX has can adapt to individual user preferences, absolute layouts cannot. R. On Oct 4, 2012, at 14:51 , Tom Eugelink wrote: > Not seeing my post from this morning appear, so I'm reposting but without the attachment this time. > > I've posted a thread on the JavaFX forums with problems I run into when writing a Google Calendar style control. I could use advice on how to best do this nested Panes layout. > > https://forums.oracle.com/forums/thread.jspa?threadID=2447739&stqc=true > > Tom From randahl at rockit.dk Thu Oct 4 07:18:30 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Thu, 4 Oct 2012 16:18:30 +0200 Subject: Layout In-Reply-To: <506D97AB.4020005@tbee.org> References: <506D866C.1000204@tbee.org> <9F7A113B-B1CA-412D-99F5-193C65D5FC2F@rockit.dk> <506D97AB.4020005@tbee.org> Message-ID: <88A2EB27-CCB4-43D1-A97D-2BECBD2137AE@rockit.dk> Looks nice, Tom. But trust me: You could make exactly the same by using an adaptive layout approach (nested subclasses of Pane), and then your layout would work smoothly when resizing the window or changing the fonts or other aspects of the CSS styling of the calendar (padding, etc.). A GridPane would probably be a good place to start ? it supports the row spanning you need. Yours Randahl On Oct 4, 2012, at 16:05 , Tom Eugelink wrote: > Have you seen the screenshot? > > http://www.softworks.nl/stuff/agenda.png > > No can do without absolute positioning. But it's dynamic; it uses things like new Text("X").prefWidth(0). > > > On 2012-10-04 15:53, Randahl Fink Isaksen wrote: >> I strongly recommend you avoid absolute positioning. In most applications you never know anything about the size of the end user's screen and the fonts used. Dynamic layouts like the ones JavaFX has can adapt to individual user preferences, absolute layouts cannot. >> >> R. >> >> >> On Oct 4, 2012, at 14:51 , Tom Eugelink wrote: >> >>> Not seeing my post from this morning appear, so I'm reposting but without the attachment this time. >>> >>> I've posted a thread on the JavaFX forums with problems I run into when writing a Google Calendar style control. I could use advice on how to best do this nested Panes layout. >>> >>> https://forums.oracle.com/forums/thread.jspa?threadID=2447739&stqc=true >>> >>> Tom > From tbee at tbee.org Thu Oct 4 07:27:02 2012 From: tbee at tbee.org (Tom Eugelink) Date: Thu, 04 Oct 2012 16:27:02 +0200 Subject: Layout In-Reply-To: <88A2EB27-CCB4-43D1-A97D-2BECBD2137AE@rockit.dk> References: <506D866C.1000204@tbee.org> <9F7A113B-B1CA-412D-99F5-193C65D5FC2F@rockit.dk> <506D97AB.4020005@tbee.org> <88A2EB27-CCB4-43D1-A97D-2BECBD2137AE@rockit.dk> Message-ID: <506D9CB6.2050108@tbee.org> I can see how the hours / week / day would fit into a GridPane. But the overlapping appointments? And syncing the day-headers width exactly with the days in the scrollpane... #indoubt On 2012-10-04 16:18, Randahl Fink Isaksen wrote: > Looks nice, Tom. But trust me: You could make exactly the same by using an adaptive layout approach (nested subclasses of Pane), and then your layout would work smoothly when resizing the window or changing the fonts or other aspects of the CSS styling of the calendar (padding, etc.). > > A GridPane would probably be a good place to start ? it supports the row spanning you need. > > Yours > > Randahl > From tbee at tbee.org Thu Oct 4 13:05:57 2012 From: tbee at tbee.org (Tom Eugelink) Date: Thu, 04 Oct 2012 22:05:57 +0200 Subject: Layout In-Reply-To: <88A2EB27-CCB4-43D1-A97D-2BECBD2137AE@rockit.dk> References: <506D866C.1000204@tbee.org> <9F7A113B-B1CA-412D-99F5-193C65D5FC2F@rockit.dk> <506D97AB.4020005@tbee.org> <88A2EB27-CCB4-43D1-A97D-2BECBD2137AE@rockit.dk> Message-ID: <506DEC25.6010703@tbee.org> Interesting; calling prefWidth(w) & prefHeight(h) on a Pane does not do a thing, but using setPrefSize(w,h) works fine. Tom From hang.vo at oracle.com Thu Oct 4 14:53:59 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 04 Oct 2012 21:53:59 +0000 Subject: hg: openjfx/8/controls/rt: 2 new changesets Message-ID: <20121004215405.528D6471AD@hg.openjdk.java.net> Changeset: c15a91781139 Author: David Grieve Date: 2012-10-04 17:06 -0400 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/c15a91781139 RT-25118: replace code removed by bad merge, and other optimizations ! javafx-ui-common/src/com/sun/javafx/css/CascadingStyle.java ! javafx-ui-common/src/com/sun/javafx/css/CompoundSelector.java ! javafx-ui-common/src/com/sun/javafx/css/Match.java ! javafx-ui-common/src/com/sun/javafx/css/Rule.java ! javafx-ui-common/src/com/sun/javafx/css/Selector.java ! javafx-ui-common/src/com/sun/javafx/css/SimpleSelector.java ! javafx-ui-common/src/com/sun/javafx/css/StyleHelper.java ! javafx-ui-common/src/com/sun/javafx/css/StyleManager.java ! javafx-ui-common/src/javafx/scene/Node.java ! javafx-ui-common/src/javafx/scene/Parent.java ! javafx-ui-common/test/unit/com/sun/javafx/css/Node_cssStyleMap_Test.java ! javafx-ui-common/test/unit/com/sun/javafx/css/RuleTest.java ! javafx-ui-common/test/unit/com/sun/javafx/css/StyleablePropertyTest.java ! javafx-ui-common/test/unit/javafx/scene/CSSNode.java ! javafx-ui-controls/src/javafx/scene/control/Control.java ! javafx-ui-controls/src/javafx/scene/control/MultipleSelectionModelBase.java Changeset: bedd78e543a0 Author: David Grieve Date: 2012-10-04 17:06 -0400 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/bedd78e543a0 RT-25133: strip off package when comparing class name in css selector ! javafx-ui-common/src/com/sun/javafx/css/StyleHelper.java ! javafx-ui-controls/test/javafx/scene/control/PopupControlTest.java From hang.vo at oracle.com Thu Oct 4 17:07:59 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 05 Oct 2012 00:07:59 +0000 Subject: hg: openjfx/8/master/rt: 8 new changesets Message-ID: <20121005000810.5B991471B8@hg.openjdk.java.net> Changeset: a30e7be8621e Author: Anthony Petrov Date: 2012-09-26 17:38 +0400 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/a30e7be8621e RT-24632: JFXPanel ComboBox item list not moved/closed ! javafx-ui-common/src/com/sun/javafx/embed/EmbeddedStageInterface.java ! javafx-ui-common/src/com/sun/javafx/embed/HostInterface.java Changeset: e5267f8c80af Author: kcr Date: 2012-09-26 17:45 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/e5267f8c80af Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt Changeset: 7ee6a11abbbf Author: Felipe Heidrich Date: 2012-09-28 14:11 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/7ee6a11abbbf fix .classpath ! .classpath Changeset: 08067ae69c0c Author: snorthov Date: 2012-09-28 17:33 -0400 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/08067ae69c0c fix .classpath ! .classpath Changeset: eac2df24a6c0 Author: jpgodine at JPGODINE-LAP.st-users.us.oracle.com Date: 2012-10-02 09:02 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/eac2df24a6c0 Automated merge with ssh://jpgodine at jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx//rt Changeset: 07c0a2cbf8f3 Author: leifs Date: 2012-09-27 15:47 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/07c0a2cbf8f3 Fixed RT-25267: [Label] Ellipsis is not working ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/Utils.java Changeset: da3f3de73066 Author: leifs Date: 2012-10-02 12:10 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/da3f3de73066 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/rt Changeset: 3c29ef369f0c Author: hudson Date: 2012-10-04 16:11 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/3c29ef369f0c Added tag 8.0-b59 for changeset da3f3de73066 ! .hgtags From swpalmer at gmail.com Thu Oct 4 18:56:08 2012 From: swpalmer at gmail.com (Scott Palmer) Date: Thu, 4 Oct 2012 21:56:08 -0400 Subject: Layout In-Reply-To: <506DEC25.6010703@tbee.org> References: <506D866C.1000204@tbee.org> <9F7A113B-B1CA-412D-99F5-193C65D5FC2F@rockit.dk> <506D97AB.4020005@tbee.org> <88A2EB27-CCB4-43D1-A97D-2BECBD2137AE@rockit.dk> <506DEC25.6010703@tbee.org> Message-ID: On Thu, Oct 4, 2012 at 4:05 PM, Tom Eugelink wrote: > Interesting; calling prefWidth(w) & prefHeight(h) on a Pane does not do a > thing, but using setPrefSize(w,h) works fine. > > Tom > That because they are for getting the pref width and height during layout, you've labelled the parameter wrong. It's: public double prefWidth(double height) public double prefHeight(double width) i.e. given width X what is your preferred height? prefHeight prefWidth Scott From tbee at tbee.org Fri Oct 5 00:34:09 2012 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 05 Oct 2012 09:34:09 +0200 Subject: Layout In-Reply-To: References: <506D866C.1000204@tbee.org> <9F7A113B-B1CA-412D-99F5-193C65D5FC2F@rockit.dk> <506D97AB.4020005@tbee.org> <88A2EB27-CCB4-43D1-A97D-2BECBD2137AE@rockit.dk> <506DEC25.6010703@tbee.org> Message-ID: <506E8D71.5050305@tbee.org> I've solved it. It takes a different approach: instead of extending layoutChildren, you should register to all kinds of properties and then do a relayout. For example: I've registered to the ScrollPane's viewportBounds and react to the changing width and height. Also I'm now refactoring to not do a getChildren().clear on every relayout, but modify the sized. Looking good. From randahl at rockit.dk Fri Oct 5 00:39:24 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Fri, 5 Oct 2012 09:39:24 +0200 Subject: Layout In-Reply-To: <506E8D71.5050305@tbee.org> References: <506D866C.1000204@tbee.org> <9F7A113B-B1CA-412D-99F5-193C65D5FC2F@rockit.dk> <506D97AB.4020005@tbee.org> <88A2EB27-CCB4-43D1-A97D-2BECBD2137AE@rockit.dk> <506DEC25.6010703@tbee.org> <506E8D71.5050305@tbee.org> Message-ID: <7B6DB26A-FAF7-4625-A557-1EE20F606BC0@rockit.dk> Others may have more insight here, but I would guess that completely removing every node and building from scratch leads to poor performance in situations like when resizing a window. Randahl On Oct 5, 2012, at 9:34 , Tom Eugelink wrote: > I've solved it. It takes a different approach: instead of extending layoutChildren, you should register to all kinds of properties and then do a relayout. For example: I've registered to the ScrollPane's viewportBounds and react to the changing width and height. > > Also I'm now refactoring to not do a getChildren().clear on every relayout, but modify the sized. > > Looking good. > > From tbee at tbee.org Fri Oct 5 00:45:15 2012 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 05 Oct 2012 09:45:15 +0200 Subject: Layout In-Reply-To: <7B6DB26A-FAF7-4625-A557-1EE20F606BC0@rockit.dk> References: <506D866C.1000204@tbee.org> <9F7A113B-B1CA-412D-99F5-193C65D5FC2F@rockit.dk> <506D97AB.4020005@tbee.org> <88A2EB27-CCB4-43D1-A97D-2BECBD2137AE@rockit.dk> <506DEC25.6010703@tbee.org> <506E8D71.5050305@tbee.org> <7B6DB26A-FAF7-4625-A557-1EE20F606BC0@rockit.dk> Message-ID: <506E900B.9060101@tbee.org> Indeed, that is why I'm refactoring to remove that behavior. But for a 0.1 it's the easiest way to get a layout setup. On 2012-10-05 09:39, Randahl Fink Isaksen wrote: > Others may have more insight here, but I would guess that completely removing every node and building from scratch leads to poor performance in situations like when resizing a window. > > Randahl > > On Oct 5, 2012, at 9:34 , Tom Eugelink wrote: > >> I've solved it. It takes a different approach: instead of extending layoutChildren, you should register to all kinds of properties and then do a relayout. For example: I've registered to the ScrollPane's viewportBounds and react to the changing width and height. >> >> Also I'm now refactoring to not do a getChildren().clear on every relayout, but modify the sized. >> >> Looking good. >> >> From chien.yang at oracle.com Fri Oct 5 09:42:05 2012 From: chien.yang at oracle.com (Chien Yang) Date: Fri, 05 Oct 2012 09:42:05 -0700 Subject: 3D Features Planned for Version 8 Message-ID: <506F0DDD.9060708@oracle.com> Hi all, We have been thinking about the possible 3D features for JavaFX 8 for a while. We are now ready to present the plan to the community for review. This information has also been presented at this year's JavaOne "3D Made Easy with JavaFX" technical session. https://wikis.oracle.com/display/OpenJDK/3D+Features Please let us know if you have any suggestions or concerns. Regards, - Chien Yang JavaFX Graphics Team From hang.vo at oracle.com Fri Oct 5 11:33:31 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 05 Oct 2012 18:33:31 +0000 Subject: hg: openjfx/8/controls/rt: RT-25370: upper four bits represent an index. When getting the index value, need to shift unsigned Message-ID: <20121005183333.C7E30471D3@hg.openjdk.java.net> Changeset: 80b5d7e96fdb Author: David Grieve Date: 2012-10-05 14:24 -0400 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/80b5d7e96fdb RT-25370: upper four bits represent an index. When getting the index value, need to shift unsigned ! javafx-ui-common/src/com/sun/javafx/css/SimpleSelector.java From zonski at gmail.com Fri Oct 5 14:16:55 2012 From: zonski at gmail.com (Daniel Zwolenski) Date: Sat, 6 Oct 2012 07:16:55 +1000 Subject: 3D Features Planned for Version 8 In-Reply-To: <506F0DDD.9060708@oracle.com> References: <506F0DDD.9060708@oracle.com> Message-ID: <665BC9D2-68C4-4033-9D37-0D55D6B7E7CE@gmail.com> Looks cool. I think for people to review this it would be good to have an understanding of its intended usage, in particular how hard it should be pushed. What level of performance is the JFX 3D library aimed at? Obviously this will depend somewhat on the hardware but if I was running on a decent, new PC what spectrum of 3D use cases should I expect to cater for with jfx 3D. Eg for gaming: are we looking at Call of Duty, Grand Theft Auto, Minecraft, Club Penguin, Angry Birds? For modeling: could it do photo realistic CAD (eg http://www.livecad.net/EN/Products/3d-home-design-software.php), or complex scientific modeling (http://www.3dscience.com/3D_Models/index.php) with or without live editing and animations? For 3D UI: how '3D' can my ui be and still be performant. Can I build animated, shaded carousels with reflections and shadows with each entry containing complex 3d scenes (http://www.arm.com/community/partners/product_images/2755.jpg)? Can I embed video on an animated 3d node? Can I build full 3D desktop paradigms with tabbable windows (containing scenes) and transition animations, skewing, warping (like Mac's "to trash" animation) and general coolness (http://www.artefactgroup.com/content/wp-content/uploads/2009/09/Screen-shot-2009-09-21-at-10.24.50-PM-590x444.png or http://www.rlsbb.com/arcsoft-totalmedia-theatre-v5-0-1-87-lz0/ )? On 06/10/2012, at 2:42 AM, Chien Yang wrote: > Hi all, > > We have been thinking about the possible 3D features for JavaFX 8 for a while. We are now ready to present the plan to the community for review. This information has also been presented at this year's JavaOne "3D Made Easy with JavaFX" technical session. > > https://wikis.oracle.com/display/OpenJDK/3D+Features > > Please let us know if you have any suggestions or concerns. > > Regards, > > - Chien Yang > JavaFX Graphics Team From mcdonnell.john at gmail.com Sat Oct 6 05:10:12 2012 From: mcdonnell.john at gmail.com (John McDonnell) Date: Sat, 6 Oct 2012 13:10:12 +0100 Subject: Is VBox serializable? Message-ID: Hey all. I am working adding some drag and drop functionality to a project I have, where I have a list of nodes, and I would like a user to be able to drag a item from a list and drop it elsewhere within the scene. When displaying the items in the list cells, I have a Region, TrafficListingItem, which contains a VBox. When I add the TrafficListingItem to the Dragboard, I get an the following error: Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: Could not serialize the data at com.sun.javafx.tk.quantum.QuantumClipboard.putContent(QuantumClipboard.java:500) at javafx.scene.input.Clipboard.setContent(Clipboard.java:226) at ie.john.client.core.platform.TrafficListingItem.drag(TrafficListingItem.java:105) at ie.john.client.main.controller.MainPaneController$TrafficCell$1.handle(MainPaneController.java:101) at ie.john.client.main.controller.MainPaneController$TrafficCell$1.handle(MainPaneController.java:96) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:69) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:217) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:170) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:53) at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:33) at javafx.event.Event.fireEvent(Event.java:171) at javafx.scene.Scene$DnDGesture.fireEvent(Scene.java:2627) at javafx.scene.Scene$DnDGesture.process(Scene.java:2706) at javafx.scene.Scene$DnDGesture.access$8700(Scene.java:2603) at javafx.scene.Scene$MouseHandler.process(Scene.java:3340) at javafx.scene.Scene$MouseHandler.process(Scene.java:3164) at javafx.scene.Scene$MouseHandler.access$1900(Scene.java:3119) at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1559) at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2261) at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:228) at com.sun.glass.ui.View.handleMouseEvent(View.java:528) at com.sun.glass.ui.View.notifyMouse(View.java:922) at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at com.sun.glass.ui.gtk.GtkApplication$3$1.run(GtkApplication.java:82) at java.lang.Thread.run(Thread.java:722) Caused by: java.io.NotSerializableException: javafx.scene.layout.VBox at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) at com.sun.javafx.tk.quantum.QuantumClipboard.putContent(QuantumClipboard.java:496) ... 81 more It appears as though VBox is not serialisable? Is this correct? If it is how would one go about dragging a node that contains a VBox within the Drag/Drop Events system of JavaFX? -- John From goddard at seznam.cz Sat Oct 6 05:15:06 2012 From: goddard at seznam.cz (goddard at seznam.cz) Date: Sat, 06 Oct 2012 14:15:06 +0200 (CEST) Subject: =?us-ascii?Q?Re=3A=20Re=3A=203D=20Features=20Planned=20for=20Version=208?= In-Reply-To: <665BC9D2-68C4-4033-9D37-0D55D6B7E7CE@gmail.com> Message-ID: <135689.15946.48444-3057-1298069580-1349525704@seznam.cz> Looks very nice. I can imagine to do a game with it :) Can't wait to get my hands on it ;) Jiri ------------ P?vodn? zpr?va ------------ Od: Daniel Zwolenski P?edm?t: Re: 3D Features Planned for Version 8 Datum: 05.10.2012 23:19:11 ---------------------------------------- Looks cool. I think for people to review this it would be good to have an understanding of its intended usage, in particular how hard it should be pushed. What level of performance is the JFX 3D library aimed at? Obviously this will depend somewhat on the hardware but if I was running on a decent, new PC what spectrum of 3D use cases should I expect to cater for with jfx 3D. Eg for gaming: are we looking at Call of Duty, Grand Theft Auto, Minecraft, Club Penguin, Angry Birds? For modeling: could it do photo realistic CAD (eg http://www.livecad.net/EN/Products/3d-home-design-software.php), or complex scientific modeling (http://www.3dscience.com/3D_Models/index.php) with or without live editing and animations? For 3D UI: how '3D' can my ui be and still be performant. Can I build animated, shaded carousels with reflections and shadows with each entry containing complex 3d scenes (http://www.arm.com/community/partners/product_images/2755.jpg)? Can I embed video on an animated 3d node? Can I build full 3D desktop paradigms with tabbable windows (containing scenes) and transition animations, skewing, warping (like Mac's "to trash" animation) and general coolness (http://www.artefactgroup.com/content/wp-content/uploads/2009/09/Screen-shot-2009-09-21-at-10.24.50-PM-590x444.png or http://www.rlsbb.com/arcsoft-totalmedia-theatre-v5-0-1-87-lz0/ )? On 06/10/2012, at 2:42 AM, Chien Yang wrote: > Hi all, > > We have been thinking about the possible 3D features for JavaFX 8 for a while. We are now ready to present the plan to the community for review. This information has also been presented at this year's JavaOne "3D Made Easy with JavaFX" technical session. > > https://wikis.oracle.com/display/OpenJDK/3D+Features > > Please let us know if you have any suggestions or concerns. > > Regards, > > - Chien Yang > JavaFX Graphics Team From mp at jugs.org Sat Oct 6 05:58:30 2012 From: mp at jugs.org (Dr. Michael Paus) Date: Sat, 06 Oct 2012 14:58:30 +0200 Subject: 3D Features Planned for Version 8 In-Reply-To: <506F0DDD.9060708@oracle.com> References: <506F0DDD.9060708@oracle.com> Message-ID: <50702AF6.2010800@jugs.org> Looks good to me but as Daniel already has pointed out it would be important to clearly state how far you are planning to go. I don't think it would be reasonable to try to make JavaFX 3D a full featured game engine. Technically I am missing a level-of-detail node. Cheers Michael Am 05.10.2012 18:42, schrieb Chien Yang: > Hi all, > > We have been thinking about the possible 3D features for JavaFX 8 for > a while. We are now ready to present the plan to the community for > review. This information has also been presented at this year's > JavaOne "3D Made Easy with JavaFX" technical session. > > https://wikis.oracle.com/display/OpenJDK/3D+Features > > Please let us know if you have any suggestions or concerns. > > Regards, > > - Chien Yang > JavaFX Graphics Team -- -------------------------------------------------------------------------------------- Dr. Michael Paus, Chairman of the Java User Group Stuttgart e.V. (JUGS). For more information visit www.jugs.de. From goddard at seznam.cz Sat Oct 6 06:26:39 2012 From: goddard at seznam.cz (goddard at seznam.cz) Date: Sat, 06 Oct 2012 15:26:39 +0200 (CEST) Subject: =?us-ascii?Q?Re=3A=20Re=3A=203D=20Features=20Planned=20for=20Version=208?= In-Reply-To: <50702AF6.2010800@jugs.org> Message-ID: <135696.15940.48448-29615-266500048-1349529999@seznam.cz> I overlooked that LOD node is missing, but I think JFX is a general purpose graphics API so one should be able to write a game in it, for example. Not an AAA title though. Jiri ------------ P?vodn? zpr?va ------------ Od: Dr. Michael Paus P?edm?t: Re: 3D Features Planned for Version 8 Datum: 06.10.2012 15:00:32 ---------------------------------------- Looks good to me but as Daniel already has pointed out it would be important to clearly state how far you are planning to go. I don't think it would be reasonable to try to make JavaFX 3D a full featured game engine. Technically I am missing a level-of-detail node. Cheers Michael Am 05.10.2012 18:42, schrieb Chien Yang: > Hi all, > > We have been thinking about the possible 3D features for JavaFX 8 for > a while. We are now ready to present the plan to the community for > review. This information has also been presented at this year's > JavaOne "3D Made Easy with JavaFX" technical session. > > https://wikis.oracle.com/display/OpenJDK/3D+Features > > Please let us know if you have any suggestions or concerns. > > Regards, > > - Chien Yang > JavaFX Graphics Team -- -------------------------------------------------------------------------------------- Dr. Michael Paus, Chairman of the Java User Group Stuttgart e.V. (JUGS). For more information visit www.jugs.de. From jonathan.giles at oracle.com Sat Oct 6 07:33:56 2012 From: jonathan.giles at oracle.com (Jonathan Giles) Date: Sat, 06 Oct 2012 07:33:56 -0700 Subject: Is VBox serializable? In-Reply-To: References: Message-ID: <50704154.6070707@oracle.com> When you start the drag, rather than insert the visual nodes into the drag board, you should be inserting the relevant serializable domain data instead. Then, when the domain data is dropped elsewhere, you should create the relevant visual nodes at that point. -- Jonathan On 6/10/2012 5:10 a.m., John McDonnell wrote: > Hey all. > > I am working adding some drag and drop functionality to a project I have, > where I have a list of nodes, and I would like a user to be able to drag a > item from a list and drop it elsewhere within the scene. > > When displaying the items in the list cells, I have a Region, > TrafficListingItem, which contains a VBox. When I add the > TrafficListingItem to the Dragboard, I get an the following error: > > Exception in thread "JavaFX Application Thread" > java.lang.IllegalArgumentException: Could not serialize the data > at > com.sun.javafx.tk.quantum.QuantumClipboard.putContent(QuantumClipboard.java:500) > at javafx.scene.input.Clipboard.setContent(Clipboard.java:226) > at > ie.john.client.core.platform.TrafficListingItem.drag(TrafficListingItem.java:105) > at > ie.john.client.main.controller.MainPaneController$TrafficCell$1.handle(MainPaneController.java:101) > at > ie.john.client.main.controller.MainPaneController$TrafficCell$1.handle(MainPaneController.java:96) > at > com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:69) > at > com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:217) > at > com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:170) > at > com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38) > at > com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37) > at > com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) > at > com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35) > at > com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) > at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:53) > at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:33) > at javafx.event.Event.fireEvent(Event.java:171) > at javafx.scene.Scene$DnDGesture.fireEvent(Scene.java:2627) > at javafx.scene.Scene$DnDGesture.process(Scene.java:2706) > at javafx.scene.Scene$DnDGesture.access$8700(Scene.java:2603) > at javafx.scene.Scene$MouseHandler.process(Scene.java:3340) > at javafx.scene.Scene$MouseHandler.process(Scene.java:3164) > at javafx.scene.Scene$MouseHandler.access$1900(Scene.java:3119) > at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1559) > at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2261) > at > com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:228) > at com.sun.glass.ui.View.handleMouseEvent(View.java:528) > at com.sun.glass.ui.View.notifyMouse(View.java:922) > at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) > at com.sun.glass.ui.gtk.GtkApplication$3$1.run(GtkApplication.java:82) > at java.lang.Thread.run(Thread.java:722) > Caused by: java.io.NotSerializableException: javafx.scene.layout.VBox > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) > at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) > at > java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) > at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) > at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) > at > com.sun.javafx.tk.quantum.QuantumClipboard.putContent(QuantumClipboard.java:496) > ... 81 more > > > It appears as though VBox is not serialisable? Is this correct? If it is > how would one go about dragging a node that contains a VBox within the > Drag/Drop Events system of JavaFX? > > From swpalmer at gmail.com Sat Oct 6 08:37:08 2012 From: swpalmer at gmail.com (Scott Palmer) Date: Sat, 6 Oct 2012 11:37:08 -0400 Subject: 3D Features Planned for Version 8 In-Reply-To: <135696.15940.48448-29615-266500048-1349529999@seznam.cz> References: <135696.15940.48448-29615-266500048-1349529999@seznam.cz> Message-ID: LOD node would be useful even for 2D when scaling. Scott On 2012-10-06, at 9:26 AM, goddard at seznam.cz wrote: > I overlooked that LOD node is missing, but I think JFX is a general purpose graphics API so one should be able to write a game in it, for example. Not an AAA title though. > > Jiri > > ------------ P?vodn? zpr?va ------------ > Od: Dr. Michael Paus > P?edm?t: Re: 3D Features Planned for Version 8 > Datum: 06.10.2012 15:00:32 > ---------------------------------------- > Looks good to me but as Daniel already has pointed out it would be important > to clearly state how far you are planning to go. I don't think it would be > reasonable to try to make JavaFX 3D a full featured game engine. > > Technically I am missing a level-of-detail node. > > Cheers > Michael > > > Am 05.10.2012 18:42, schrieb Chien Yang: >> Hi all, >> >> We have been thinking about the possible 3D features for JavaFX 8 for a while. We are now ready to present the plan to the community for review. This information has also been presented at this year's JavaOne "3D Made Easy with JavaFX" technical session. >> >> https://wikis.oracle.com/display/OpenJDK/3D+Features >> >> Please let us know if you have any suggestions or concerns. >> >> Regards, >> >> - Chien Yang >> JavaFX Graphics Team > > > -- > -------------------------------------------------------------------------------------- > Dr. Michael Paus, Chairman of the Java User Group Stuttgart e.V. (JUGS). > For more information visit www.jugs.de. > > > From mcdonnell.john at gmail.com Sat Oct 6 09:18:32 2012 From: mcdonnell.john at gmail.com (John McDonnell) Date: Sat, 6 Oct 2012 17:18:32 +0100 Subject: Is VBox serializable? In-Reply-To: <50704154.6070707@oracle.com> References: <50704154.6070707@oracle.com> Message-ID: Cheers Jonathon, didn't actually think that about doing it that way, I just thought I could move the Visible node. Thanks John On 6 October 2012 15:33, Jonathan Giles wrote: > When you start the drag, rather than insert the visual nodes into the drag > board, you should be inserting the relevant serializable domain data > instead. Then, when the domain data is dropped elsewhere, you should create > the relevant visual nodes at that point. > > -- Jonathan > > > On 6/10/2012 5:10 a.m., John McDonnell wrote: > >> Hey all. >> >> I am working adding some drag and drop functionality to a project I have, >> where I have a list of nodes, and I would like a user to be able to drag a >> item from a list and drop it elsewhere within the scene. >> >> When displaying the items in the list cells, I have a Region, >> TrafficListingItem, which contains a VBox. When I add the >> TrafficListingItem to the Dragboard, I get an the following error: >> >> Exception in thread "JavaFX Application Thread" >> java.lang.IllegalArgumentException: Could not serialize the data >> at >> >> com.sun.javafx.tk.quantum.QuantumClipboard.putContent(QuantumClipboard.java:500) >> at javafx.scene.input.Clipboard.setContent(Clipboard.java:226) >> at >> >> ie.john.client.core.platform.TrafficListingItem.drag(TrafficListingItem.java:105) >> at >> >> ie.john.client.main.controller.MainPaneController$TrafficCell$1.handle(MainPaneController.java:101) >> at >> >> ie.john.client.main.controller.MainPaneController$TrafficCell$1.handle(MainPaneController.java:96) >> at >> >> com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:69) >> at >> >> com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:217) >> at >> >> com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:170) >> at >> >> com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:38) >> at >> >> com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:37) >> at >> >> com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) >> at >> >> com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:35) >> at >> >> com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:92) >> at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:53) >> at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:33) >> at javafx.event.Event.fireEvent(Event.java:171) >> at javafx.scene.Scene$DnDGesture.fireEvent(Scene.java:2627) >> at javafx.scene.Scene$DnDGesture.process(Scene.java:2706) >> at javafx.scene.Scene$DnDGesture.access$8700(Scene.java:2603) >> at javafx.scene.Scene$MouseHandler.process(Scene.java:3340) >> at javafx.scene.Scene$MouseHandler.process(Scene.java:3164) >> at javafx.scene.Scene$MouseHandler.access$1900(Scene.java:3119) >> at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1559) >> at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2261) >> at >> >> com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:228) >> at com.sun.glass.ui.View.handleMouseEvent(View.java:528) >> at com.sun.glass.ui.View.notifyMouse(View.java:922) >> at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) >> at com.sun.glass.ui.gtk.GtkApplication$3$1.run(GtkApplication.java:82) >> at java.lang.Thread.run(Thread.java:722) >> Caused by: java.io.NotSerializableException: javafx.scene.layout.VBox >> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180) >> at >> >> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) >> at >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) >> at >> >> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) >> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) >> at >> >> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) >> at >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) >> at >> >> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) >> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) >> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) >> at >> >> com.sun.javafx.tk.quantum.QuantumClipboard.putContent(QuantumClipboard.java:496) >> ... 81 more >> >> >> It appears as though VBox is not serialisable? Is this correct? If it is >> how would one go about dragging a node that contains a VBox within the >> Drag/Drop Events system of JavaFX? >> >> >> > -- John From freddy at spinningnoodle.com Sat Oct 6 13:10:54 2012 From: freddy at spinningnoodle.com (Freddy Guime) Date: Sat, 6 Oct 2012 15:10:54 -0500 Subject: Is there any source code for the JavaFX SceneBuilder? In-Reply-To: References: Message-ID: <000801cda3fe$b173cf30$145b6d90$@com> I wanted to see how hard would it be to integrate the FX SceneBuilder with intellij and was curious if there was either the source code available, or documentation to integrate it with other IDE's (How did NetBeans folks did it?) Thanks! Freddy From joseph.andresen at oracle.com Sat Oct 6 19:08:16 2012 From: joseph.andresen at oracle.com (Joseph Andresen) Date: Sat, 6 Oct 2012 19:08:16 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: References: <135696.15940.48448-29615-266500048-1349529999@seznam.cz> Message-ID: Seeing as none of us have tried to push the current prototype it will be tough to say exactly what can be done. A minecraft port would be an interesting benchmark. Not sure I consider LoD to be a wholly separate node though. On Oct 6, 2012, at 8:37 AM, Scott Palmer wrote: > LOD node would be useful even for 2D when scaling. > > Scott > > On 2012-10-06, at 9:26 AM, goddard at seznam.cz wrote: > >> I overlooked that LOD node is missing, but I think JFX is a general purpose graphics API so one should be able to write a game in it, for example. Not an AAA title though. >> >> Jiri >> >> ------------ P?vodn? zpr?va ------------ >> Od: Dr. Michael Paus >> P?edm?t: Re: 3D Features Planned for Version 8 >> Datum: 06.10.2012 15:00:32 >> ---------------------------------------- >> Looks good to me but as Daniel already has pointed out it would be important >> to clearly state how far you are planning to go. I don't think it would be >> reasonable to try to make JavaFX 3D a full featured game engine. >> >> Technically I am missing a level-of-detail node. >> >> Cheers >> Michael >> >> >> Am 05.10.2012 18:42, schrieb Chien Yang: >>> Hi all, >>> >>> We have been thinking about the possible 3D features for JavaFX 8 for a while. We are now ready to present the plan to the community for review. This information has also been presented at this year's JavaOne "3D Made Easy with JavaFX" technical session. >>> >>> https://wikis.oracle.com/display/OpenJDK/3D+Features >>> >>> Please let us know if you have any suggestions or concerns. >>> >>> Regards, >>> >>> - Chien Yang >>> JavaFX Graphics Team >> >> >> -- >> -------------------------------------------------------------------------------------- >> Dr. Michael Paus, Chairman of the Java User Group Stuttgart e.V. (JUGS). >> For more information visit www.jugs.de. >> >> >> From tbee at tbee.org Sun Oct 7 00:10:58 2012 From: tbee at tbee.org (Tom Eugelink) Date: Sun, 07 Oct 2012 09:10:58 +0200 Subject: property improvement suggestion Message-ID: <50712B02.8040306@tbee.org> As far as I understand, the current the approach is that properties should accept any value, and the usage of these properties have to work with that. Personally I'm prefer a different approach, because I feel the responsibility to have sensible values should be constrained to one place. Therefore I often override the set method of my properties to make sure the value is within the range that my remaining code expect it to be; either by throwing an exception or by clamping the value to a range. But this I can only do with my own properties. It would be nice to also do this to existing properties and therefor I would like to suggest to extend the property concept with constraints or conditions. The important point being that these constraints are applied before the value is set, and not (like a change listener approach) afterwards and then correct value; a value should never be outside it allowed range. The constraints or conditions could have an if-then structure: if value < 0 then 0. An example in Java 8 lambda notation: someNode.widthProperty().*constraint*( w -> w < 0, 0); This would also be something relevant to binding, especially when doing calculations: someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*constraint*( w -> w < 0, 0) ); There is a difference between a permanent constraint on the property and a constraint only applicable to a binding. The notation above is is too similar to my taste and too easily a binding constraint can become a property constaint. To make this difference more explicit, the word "if" could be better on binding: someNode.widthProperty().*constraint*( w -> w < 0, 0); someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*if*( w -> w < 0, 0) ); Something to think about is how far these constraints should be taken. These are simple if-then constraints. But what if "else", "elsif" constructions or "case" statements are needed to express the range? In order to keep all options open, maybe the best approach would be to provide constraining listeners. A constraining listener would get the to-be-set value as a parameter and return the new value. For example: widthProperty.addConstrainingListener( v -> { if (v < 0.0) return 0.0; return v; } ); or in normal notation: widthProperty.addConstrainingListener( new ConstaintListener() { public Double constaint(Double value) { if (value < 0.0) return 0.0; return value; } }); (NB: I'm not sure how to use Java 8 lambda with the addListener method, differentiating between a change, invalidation and constraint listener.) This constraining listener approach would allow for all scenario's to be handled. So that is the final improvement I would like to suggest: constrainting listeners. someNode.widthProperty().*constraint*( v -> { if (v < 0.0) return 0.0; return v; } ); someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*if*( v -> { if (v < 0.0) return 0.0; return v; } ) ); And if possible normal constraints, because that is a easier notation. I'd like to hear if I'm making sense or am missing the ball completely. Tom From tom.schindl at bestsolution.at Sun Oct 7 02:40:52 2012 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Sun, 07 Oct 2012 11:40:52 +0200 Subject: Is there any source code for the JavaFX SceneBuilder? In-Reply-To: <000801cda3fe$b173cf30$145b6d90$@com> References: <000801cda3fe$b173cf30$145b6d90$@com> Message-ID: <50714E24.80309@bestsolution.at> IIRC in Netbeans you simply open it as an external application when you double click on an FXML-File and the same I do e(fx)clipse the Eclipse integration. Tom Am 06.10.12 22:10, schrieb Freddy Guime: > I wanted to see how hard would it be to integrate the FX SceneBuilder with > intellij and was curious if there was either the source code available, or > documentation to integrate it with other IDE's (How did NetBeans folks did > it?) > > Thanks! > > Freddy > > > -- B e s t S o l u t i o n . a t EDV Systemhaus GmbH ------------------------------------------------------------------------ tom schindl gesch?ftsf?hrer/CEO ------------------------------------------------------------------------ eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 http://www.BestSolution.at phone ++43 512 935834 From pedro.duquevieira at gmail.com Sun Oct 7 10:45:26 2012 From: pedro.duquevieira at gmail.com (Pedro Duque Vieira) Date: Sun, 7 Oct 2012 18:45:26 +0100 Subject: 3D Features Planned for Version 8 Message-ID: Hi, The API looks promising! :) 3 questions: 1. Is it possible to have several cameras in the scene graph? I think it would be interesting for some apps. This would allow an app to show several views, on different locations, of the same scene graph. 2. If I want to simulate a pervasive light coming from the sky, like the Sun, how would I do it with this API? This light would have to be located upward at an infinite distance. Isn't a thing like a "Directional Light" missing on this API? 3. Will there be an audio node? I imagine, for instance, attaching an audio clip of the sound of a motor engine to a car. The sound would than be louder or quieter depending on the distance of the audio node to the camera. Just my 0.02?. Cheers, -- Pedro Duque Vieira From kirill.prazdnikov at oracle.com Sun Oct 7 14:28:27 2012 From: kirill.prazdnikov at oracle.com (Kirill.Prazdnikov) Date: Mon, 08 Oct 2012 01:28:27 +0400 Subject: 3D Features Planned for Version 8 In-Reply-To: References: Message-ID: <5071F3FB.8020307@oracle.com> Hi, Yes, we will introduce a new group with "camera" property. It is SubScene: > SubScene is a special Node for scene separation > It can be used to render part of the Scene with different camera As of 3D audio, it is not planned. -Kirill On 07.10.2012 21:45, Pedro Duque Vieira wrote: > Hi, > > The API looks promising! :) > > 3 questions: > > 1. Is it possible to have several cameras in the scene graph? I think it > would be interesting for some apps. This would allow an app to show several > views, on different locations, of the same scene graph. > 2. If I want to simulate a pervasive light coming from the sky, like the > Sun, how would I do it with this API? This light would have to be located > upward at an infinite distance. Isn't a thing like a "Directional Light" > missing on this API? > 3. Will there be an audio node? I imagine, for instance, attaching an > audio clip of the sound of a motor engine to a car. The sound would than be > louder or quieter depending on the distance of the audio node to the camera. > > Just my 0.02?. Cheers, From goddard at seznam.cz Sun Oct 7 14:57:21 2012 From: goddard at seznam.cz (goddard at seznam.cz) Date: Sun, 07 Oct 2012 23:57:21 +0200 (CEST) Subject: =?us-ascii?Q?Re=3A=20Re=3A=203D=20Features=20Planned=20for=20Version=208?= In-Reply-To: <5071F3FB.8020307@oracle.com> Message-ID: <135793.15823.48658-5098-1628474910-1349647041@seznam.cz> Everybody is ignoring audio until the last moment. I think am getting used to it, but it's still pity. Jiri ------------ P?vodn? zpr?va ------------ Od: Kirill.Prazdnikov P?edm?t: Re: 3D Features Planned for Version 8 Datum: 07.10.2012 23:30:31 ---------------------------------------- Hi, Yes, we will introduce a new group with "camera" property. It is SubScene: > SubScene is a special Node for scene separation > It can be used to render part of the Scene with different camera As of 3D audio, it is not planned. -Kirill On 07.10.2012 21:45, Pedro Duque Vieira wrote: > Hi, > > The API looks promising! :) > > 3 questions: > > 1. Is it possible to have several cameras in the scene graph? I think it > would be interesting for some apps. This would allow an app to show several > views, on different locations, of the same scene graph. > 2. If I want to simulate a pervasive light coming from the sky, like the > Sun, how would I do it with this API? This light would have to be located > upward at an infinite distance. Isn't a thing like a "Directional Light" > missing on this API? > 3. Will there be an audio node? I imagine, for instance, attaching an > audio clip of the sound of a motor engine to a car. The sound would than be > louder or quieter depending on the distance of the audio node to the camera. > > Just my 0.02?. Cheers, From chien.yang at oracle.com Sun Oct 7 20:00:16 2012 From: chien.yang at oracle.com (Chien Yang) Date: Sun, 07 Oct 2012 20:00:16 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: <135689.15946.48444-3057-1298069580-1349525704@seznam.cz> References: <135689.15946.48444-3057-1298069580-1349525704@seznam.cz> Message-ID: <507241C0.9050309@oracle.com> Though LOD isn't part of the 3D feature list, it is very likely that we may provide API support to make LOD implementation easier at the utility or application level. Any feedback on this will be greatly appreciated. JIRA: RT-25524 - Need to provide an easy means for application or utility developer to implement LOD http://javafx-jira.kenai.com/browse/RT-25524 - Chien >LOD node would be useful even for 2D when scaling. > >Scott > >On 2012-10-06, at 9:26 AM,goddard at seznam.cz wrote: > > I overlooked that LOD node is missing, but I think JFX is a general purpose graphics API so one should be able to write a game in it, for example. Not an AAA title though. > > Jiri From joseph.andresen at oracle.com Sun Oct 7 20:10:41 2012 From: joseph.andresen at oracle.com (Joseph Andresen) Date: Sun, 7 Oct 2012 20:10:41 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: <507241C0.9050309@oracle.com> References: <135689.15946.48444-3057-1298069580-1349525704@seznam.cz> <507241C0.9050309@oracle.com> Message-ID: Hey chien, Unity uses an LoDGroup attribute to their "node".... Seems to me like the app could do something similar with our API using a group node and a callback that measures distance (or something else) and enables the appropriate mesh. -Joe On Oct 7, 2012, at 8:00 PM, Chien Yang wrote: > Though LOD isn't part of the 3D feature list, it is very likely that we may provide API support to make LOD implementation easier at the utility or application level. Any feedback on this will be greatly appreciated. > > JIRA: RT-25524 - Need to provide an easy means for application or utility developer to implement LOD > http://javafx-jira.kenai.com/browse/RT-25524 > > - Chien > > >> LOD node would be useful even for 2D when scaling. >> >> Scott >> >> On 2012-10-06, at 9:26 AM,goddard at seznam.cz wrote: > >> I overlooked that LOD node is missing, but I think JFX is a general purpose graphics API so one should be able to write a game in it, for example. Not an AAA title though. >> >> Jiri From chien.yang at oracle.com Sun Oct 7 20:57:36 2012 From: chien.yang at oracle.com (Chien Yang) Date: Sun, 07 Oct 2012 20:57:36 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: <665BC9D2-68C4-4033-9D37-0D55D6B7E7CE@gmail.com> References: <506F0DDD.9060708@oracle.com> <665BC9D2-68C4-4033-9D37-0D55D6B7E7CE@gmail.com> Message-ID: <50724F30.5010804@oracle.com> We understand this is a fairly limited set of 3D features and it will not replace a 3D game engine. However we hope this is sufficient to position us well into market segments such as 3D business charting, virtual shopping, information tracking System and causal gaming. - Chien On 10/5/2012 2:16 PM, Daniel Zwolenski wrote: > Looks cool. I think for people to review this it would be good to have an understanding of its intended usage, in particular how hard it should be pushed. > > What level of performance is the JFX 3D library aimed at? Obviously this will depend somewhat on the hardware but if I was running on a decent, new PC what spectrum of 3D use cases should I expect to cater for with jfx 3D. > > Eg for gaming: are we looking at Call of Duty, Grand Theft Auto, Minecraft, Club Penguin, Angry Birds? > > For modeling: could it do photo realistic CAD (eg http://www.livecad.net/EN/Products/3d-home-design-software.php), or complex scientific modeling (http://www.3dscience.com/3D_Models/index.php) with or without live editing and animations? > > For 3D UI: how '3D' can my ui be and still be performant. Can I build animated, shaded carousels with reflections and shadows with each entry containing complex 3d scenes (http://www.arm.com/community/partners/product_images/2755.jpg)? Can I embed video on an animated 3d node? Can I build full 3D desktop paradigms with tabbable windows (containing scenes) and transition animations, skewing, warping (like Mac's "to trash" animation) and general coolness (http://www.artefactgroup.com/content/wp-content/uploads/2009/09/Screen-shot-2009-09-21-at-10.24.50-PM-590x444.png or http://www.rlsbb.com/arcsoft-totalmedia-theatre-v5-0-1-87-lz0/ )? > > > > On 06/10/2012, at 2:42 AM, Chien Yang wrote: > >> Hi all, >> >> We have been thinking about the possible 3D features for JavaFX 8 for a while. We are now ready to present the plan to the community for review. This information has also been presented at this year's JavaOne "3D Made Easy with JavaFX" technical session. >> >> https://wikis.oracle.com/display/OpenJDK/3D+Features >> >> Please let us know if you have any suggestions or concerns. >> >> Regards, >> >> - Chien Yang >> JavaFX Graphics Team From danno.ferrin at shemnon.com Sun Oct 7 21:36:20 2012 From: danno.ferrin at shemnon.com (Danno Ferrin) Date: Sun, 7 Oct 2012 22:36:20 -0600 Subject: Building OpenJFX 8 Message-ID: Is there a chance we can get updated build instructions for OpenJFX 8? The instructions I can find ( http://openjdk.java.net/projects/openjfx/getting-started.html) appear out of date even for OpenJFX 2.2. Do I need to grab some of the Java 8 builds? And if so which one? There appear to be brand new symbols like PulseLogger, VetoableListDecorator, and PlatformUtil.isIOS (!) that don't exist in the Java 7 builds so that seems like a bad base to build on. -- There is nothing that will hold me back. I know who I am.... I remember wher I came from, and I feel stronger for knowing. Zane, Ninja of Ice. Ninjago S01E07 From zonski at gmail.com Sun Oct 7 22:10:46 2012 From: zonski at gmail.com (Daniel Zwolenski) Date: Mon, 8 Oct 2012 16:10:46 +1100 Subject: 3D Features Planned for Version 8 In-Reply-To: <50724F30.5010804@oracle.com> References: <506F0DDD.9060708@oracle.com> <665BC9D2-68C4-4033-9D37-0D55D6B7E7CE@gmail.com> <50724F30.5010804@oracle.com> Message-ID: Hi Chien, Thanks for the feedback. It's still a little vague for me though what the target is for this (and so very hard to review the spec), so it would be great to have a little more detail. Can you elaborate on 'casual gaming' please (I assume you did mean 'casual' and not 'causal')? I don't think any of us were really expecting something as hard core as a 3D live action shoot-em-up platform (like Call of Duty), but can we hope to use it to build Minecraft for example (Java+LWJGL), or Club Penguin (Flash), or even Angry Birds , or are we just talking about 3D tic tac toe? You talk about 'online shopping' - how do you see 3D being used in this? Are we talking about modelling products in 3D (e.g. cars, clothes , etc using live-renderered 3D models)? Are you talking about a 3D Virtual "Mall"with Avatar that could be walked around? Or maybe you just mean photos of products on a carousel that rotate? If modelling products for sale in 3D, should we expect to achieve any kind of level of photo realism (e.g. realistic lighting, shadows, reflections, glass, water, fire) or are we looking at 'cartoon' like unshaded scenes ? "Information tracking systems" is a pretty broad field (just check out http://www.informationisbeautifulawards.com/2012/09/information-is-beautiful-awards-winners/ for an idea of the range). Are you talking about complicated animated spatial visualisations (e.g. Google Earth), 3D elements as video overlays, or just some good old fashioned 3D pie and bar charts (like http://www.fusioncharts.com/). In the absence of other reference points, it would be nice to think that the JavaFX 3D library is aiming to provide features that are at least on par with its major competitors, which I'd guess are along the lines of: - Flash 3D - Web3D - WebGL - Mobile 3D (i.e. OpenGL ES ) Is this what you guys are thinking, if not, is it possible to reference other existing 3D libraries, platforms or products that give us some indication of the upper reaches we're looking at for this library? Cheers, Dan On Mon, Oct 8, 2012 at 2:57 PM, Chien Yang wrote: > We understand this is a fairly limited set of 3D features and it will not > replace a 3D game engine. However we hope this is sufficient to position us > well into market segments such as 3D business charting, virtual shopping, > information tracking System and causal gaming. > > - Chien > > > On 10/5/2012 2:16 PM, Daniel Zwolenski wrote: > >> Looks cool. I think for people to review this it would be good to have an >> understanding of its intended usage, in particular how hard it should be >> pushed. >> >> What level of performance is the JFX 3D library aimed at? Obviously this >> will depend somewhat on the hardware but if I was running on a decent, new >> PC what spectrum of 3D use cases should I expect to cater for with jfx 3D. >> >> Eg for gaming: are we looking at Call of Duty, Grand Theft Auto, >> Minecraft, Club Penguin, Angry Birds? >> >> For modeling: could it do photo realistic CAD (eg >> http://www.livecad.net/EN/**Products/3d-home-design-**software.php), >> or complex scientific modeling (http://www.3dscience.com/3D_** >> Models/index.php ) with or >> without live editing and animations? >> >> For 3D UI: how '3D' can my ui be and still be performant. Can I build >> animated, shaded carousels with reflections and shadows with each entry >> containing complex 3d scenes (http://www.arm.com/community/** >> partners/product_images/2755.**jpg)? >> Can I embed video on an animated 3d node? Can I build full 3D desktop >> paradigms with tabbable windows (containing scenes) and transition >> animations, skewing, warping (like Mac's "to trash" animation) and general >> coolness (http://www.artefactgroup.com/**content/wp-content/uploads/** >> 2009/09/Screen-shot-2009-09-**21-at-10.24.50-PM-590x444.pngor >> http://www.rlsbb.com/arcsoft-**totalmedia-theatre-v5-0-1-87-**lz0/)? >> >> >> >> On 06/10/2012, at 2:42 AM, Chien Yang wrote: >> >> Hi all, >>> >>> We have been thinking about the possible 3D features for JavaFX 8 for a >>> while. We are now ready to present the plan to the community for review. >>> This information has also been presented at this year's JavaOne "3D Made >>> Easy with JavaFX" technical session. >>> >>> https://wikis.oracle.com/**display/OpenJDK/3D+Features >>> >>> Please let us know if you have any suggestions or concerns. >>> >>> Regards, >>> >>> - Chien Yang >>> JavaFX Graphics Team >>> >> > From jerome.cambon at oracle.com Mon Oct 8 00:23:05 2012 From: jerome.cambon at oracle.com (Jerome Cambon) Date: Mon, 08 Oct 2012 09:23:05 +0200 Subject: Is there any source code for the JavaFX SceneBuilder? In-Reply-To: <000801cda3fe$b173cf30$145b6d90$@com> References: <000801cda3fe$b173cf30$145b6d90$@com> Message-ID: <50727F59.5090105@oracle.com> Hi Freddy, We will provide documentation about Scene Builder integration with various IDE (Netbeans, Eclipse, IntelliJ) soon. For IntelliJ IDEA, it is quite easy to launch Scene Builder (SB) from the IDE, and to build/run the SB samples : 1- Launch SB for IntelliJ - From File->Settings panel, select File Types. Select "Files opened in associated applications", and add "*.fxml" in the pattern list. - Double-click an fxml file to edit it with Scene Builder 2- Run SB examples - Create project from existing sources - In idea/compiler.xml, add the .fxml resource so that the fxml file is copied in the "out" directory next to .class files HTH, Jerome On 10/6/12 10:10 PM, Freddy Guime wrote: > I wanted to see how hard would it be to integrate the FX SceneBuilder with > intellij and was curious if there was either the source code available, or > documentation to integrate it with other IDE's (How did NetBeans folks did > it?) > > Thanks! > > Freddy > > > From pedro.duquevieira at gmail.com Mon Oct 8 06:43:18 2012 From: pedro.duquevieira at gmail.com (Pedro Duque Vieira) Date: Mon, 8 Oct 2012 14:43:18 +0100 Subject: 3D Features Planned for Version 8 Message-ID: What about the lightning thing I talked about (2 point)? I can't really understand why that type of light is missing.. I remembered one more thing: a Billboard node would be useful. Thanks, best regards, Hi, > Yes, we will introduce a new group with "camera" property. It is SubScene: > > SubScene is a special Node for scene separation > > It can be used to render part of the Scene with different camera > As of 3D audio, it is not planned. > -Kirill > On 07.10.2012 21:45, Pedro Duque Vieira wrote: > > Hi, > > > > The API looks promising! :) > > > > 3 questions: > > > > 1. Is it possible to have several cameras in the scene graph? I > think it > > would be interesting for some apps. This would allow an app to show > several > > views, on different locations, of the same scene graph. > > 2. If I want to simulate a pervasive light coming from the sky, like > the > > Sun, how would I do it with this API? This light would have to be > located > > upward at an infinite distance. Isn't a thing like a "Directional > Light" > > missing on this API? > > 3. Will there be an audio node? I imagine, for instance, attaching an > > audio clip of the sound of a motor engine to a car. The sound would > than be > > louder or quieter depending on the distance of the audio node to the > camera. > > > > Just my 0.02?. Cheers, -- Pedro Duque Vieira From Kirill.Prazdnikov at oracle.com Mon Oct 8 06:46:47 2012 From: Kirill.Prazdnikov at oracle.com (Kirill Prazdnikov) Date: Mon, 08 Oct 2012 17:46:47 +0400 Subject: 3D Features Planned for Version 8 In-Reply-To: References: Message-ID: <5072D947.5080505@oracle.com> Hi, Lets wait for more detailed API review. There will be room for more concrete API questions. As for Billboard node: it is the ImageView class. -Kirill On 10/8/2012 5:43 PM, Pedro Duque Vieira wrote: > What about the lightning thing I talked about (2 point)? I can't really > understand why that type of light is missing.. > > I remembered one more thing: a Billboard node would be useful. > > Thanks, best regards, > > > Hi, >> Yes, we will introduce a new group with "camera" property. It is SubScene: >>> SubScene is a special Node for scene separation >>> It can be used to render part of the Scene with different camera >> As of 3D audio, it is not planned. >> -Kirill >> On 07.10.2012 21:45, Pedro Duque Vieira wrote: >>> Hi, >>> >>> The API looks promising! :) >>> >>> 3 questions: >>> >>> 1. Is it possible to have several cameras in the scene graph? I >> think it >>> would be interesting for some apps. This would allow an app to show >> several >>> views, on different locations, of the same scene graph. >>> 2. If I want to simulate a pervasive light coming from the sky, like >> the >>> Sun, how would I do it with this API? This light would have to be >> located >>> upward at an infinite distance. Isn't a thing like a "Directional >> Light" >>> missing on this API? >>> 3. Will there be an audio node? I imagine, for instance, attaching an >>> audio clip of the sound of a motor engine to a car. The sound would >> than be >>> louder or quieter depending on the distance of the audio node to the >> camera. >>> Just my 0.02?. Cheers, From kevin.rushforth at oracle.com Mon Oct 8 07:53:23 2012 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 08 Oct 2012 07:53:23 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: <5072D947.5080505@oracle.com> References: <5072D947.5080505@oracle.com> Message-ID: <5072E8E3.8080504@oracle.com> > As for Billboard node: it is the ImageView class. That isn't sufficient. A BillBoard node is one that always orients itself towards the viewer regardless of the position and orientation of the camera. This is unplanned for FX 8. -- Kevin Kirill Prazdnikov wrote: > Hi, > > Lets wait for more detailed API review. > There will be room for more concrete API questions. > > As for Billboard node: it is the ImageView class. > > -Kirill > > On 10/8/2012 5:43 PM, Pedro Duque Vieira wrote: >> What about the lightning thing I talked about (2 point)? I can't really >> understand why that type of light is missing.. >> >> I remembered one more thing: a Billboard node would be useful. >> >> Thanks, best regards, >> >> >> Hi, >>> Yes, we will introduce a new group with "camera" property. It is >>> SubScene: >>>> SubScene is a special Node for scene separation >>>> It can be used to render part of the Scene with different camera >>> As of 3D audio, it is not planned. >>> -Kirill >>> On 07.10.2012 21:45, Pedro Duque Vieira wrote: >>>> Hi, >>>> >>>> The API looks promising! :) >>>> >>>> 3 questions: >>>> >>>> 1. Is it possible to have several cameras in the scene graph? I >>> think it >>>> would be interesting for some apps. This would allow an app to >>>> show >>> several >>>> views, on different locations, of the same scene graph. >>>> 2. If I want to simulate a pervasive light coming from the >>>> sky, like >>> the >>>> Sun, how would I do it with this API? This light would have to be >>> located >>>> upward at an infinite distance. Isn't a thing like a "Directional >>> Light" >>>> missing on this API? >>>> 3. Will there be an audio node? I imagine, for instance, >>>> attaching an >>>> audio clip of the sound of a motor engine to a car. The sound >>>> would >>> than be >>>> louder or quieter depending on the distance of the audio node >>>> to the >>> camera. >>>> Just my 0.02?. Cheers, > From joseph.andresen at oracle.com Mon Oct 8 08:37:57 2012 From: joseph.andresen at oracle.com (joe andresen) Date: Mon, 08 Oct 2012 08:37:57 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: <5072E8E3.8080504@oracle.com> References: <5072D947.5080505@oracle.com> <5072E8E3.8080504@oracle.com> Message-ID: <5072F355.60606@oracle.com> On 10/8/2012 7:53 AM, Kevin Rushforth wrote: > > As for Billboard node: it is the ImageView class. > > That isn't sufficient. A BillBoard node is one that always orients > itself towards the viewer regardless of the position and orientation > of the camera. This is unplanned for FX 8. > > -- Kevin > Can't this be done using a group with an invalidated transform every time the camera is moved? > > Kirill Prazdnikov wrote: >> Hi, >> >> Lets wait for more detailed API review. >> There will be room for more concrete API questions. >> >> As for Billboard node: it is the ImageView class. >> >> -Kirill >> >> On 10/8/2012 5:43 PM, Pedro Duque Vieira wrote: >>> What about the lightning thing I talked about (2 point)? I can't really >>> understand why that type of light is missing.. >>> >>> I remembered one more thing: a Billboard node would be useful. >>> >>> Thanks, best regards, >>> >>> >>> Hi, >>>> Yes, we will introduce a new group with "camera" property. It is >>>> SubScene: >>>>> SubScene is a special Node for scene separation >>>>> It can be used to render part of the Scene with different camera >>>> As of 3D audio, it is not planned. >>>> -Kirill >>>> On 07.10.2012 21:45, Pedro Duque Vieira wrote: >>>>> Hi, >>>>> >>>>> The API looks promising! :) >>>>> >>>>> 3 questions: >>>>> >>>>> 1. Is it possible to have several cameras in the scene graph? I >>>> think it >>>>> would be interesting for some apps. This would allow an app >>>>> to show >>>> several >>>>> views, on different locations, of the same scene graph. >>>>> 2. If I want to simulate a pervasive light coming from the >>>>> sky, like >>>> the >>>>> Sun, how would I do it with this API? This light would have >>>>> to be >>>> located >>>>> upward at an infinite distance. Isn't a thing like a >>>>> "Directional >>>> Light" >>>>> missing on this API? >>>>> 3. Will there be an audio node? I imagine, for instance, >>>>> attaching an >>>>> audio clip of the sound of a motor engine to a car. The sound >>>>> would >>>> than be >>>>> louder or quieter depending on the distance of the audio node >>>>> to the >>>> camera. >>>>> Just my 0.02?. Cheers, >> From joseph.andresen at oracle.com Mon Oct 8 08:41:49 2012 From: joseph.andresen at oracle.com (joe andresen) Date: Mon, 08 Oct 2012 08:41:49 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: <5072E8E3.8080504@oracle.com> References: <5072D947.5080505@oracle.com> <5072E8E3.8080504@oracle.com> Message-ID: <5072F43D.8070903@oracle.com> To be exact something like this |// Add camera to scene graph (so it can move)| |Group cameraGroup = ||new| |Group();| |cameraGroup.getChildren().add(camera);| |root.getChildren().add(cameraGroup); ImaveView imageView = new ImageView(...); cameraGroup.getChildren().add(||imageView||); //transform cameraGroup to transform camera and billboards. | On 10/8/2012 7:53 AM, Kevin Rushforth wrote: > > As for Billboard node: it is the ImageView class. > > That isn't sufficient. A BillBoard node is one that always orients > itself towards the viewer regardless of the position and orientation > of the camera. This is unplanned for FX 8. > > -- Kevin > > > Kirill Prazdnikov wrote: >> Hi, >> >> Lets wait for more detailed API review. >> There will be room for more concrete API questions. >> >> As for Billboard node: it is the ImageView class. >> >> -Kirill >> >> On 10/8/2012 5:43 PM, Pedro Duque Vieira wrote: >>> What about the lightning thing I talked about (2 point)? I can't really >>> understand why that type of light is missing.. >>> >>> I remembered one more thing: a Billboard node would be useful. >>> >>> Thanks, best regards, >>> >>> >>> Hi, >>>> Yes, we will introduce a new group with "camera" property. It is >>>> SubScene: >>>>> SubScene is a special Node for scene separation >>>>> It can be used to render part of the Scene with different camera >>>> As of 3D audio, it is not planned. >>>> -Kirill >>>> On 07.10.2012 21:45, Pedro Duque Vieira wrote: >>>>> Hi, >>>>> >>>>> The API looks promising! :) >>>>> >>>>> 3 questions: >>>>> >>>>> 1. Is it possible to have several cameras in the scene graph? I >>>> think it >>>>> would be interesting for some apps. This would allow an app >>>>> to show >>>> several >>>>> views, on different locations, of the same scene graph. >>>>> 2. If I want to simulate a pervasive light coming from the >>>>> sky, like >>>> the >>>>> Sun, how would I do it with this API? This light would have >>>>> to be >>>> located >>>>> upward at an infinite distance. Isn't a thing like a >>>>> "Directional >>>> Light" >>>>> missing on this API? >>>>> 3. Will there be an audio node? I imagine, for instance, >>>>> attaching an >>>>> audio clip of the sound of a motor engine to a car. The sound >>>>> would >>>> than be >>>>> louder or quieter depending on the distance of the audio node >>>>> to the >>>> camera. >>>>> Just my 0.02?. Cheers, >> From richard.bair at oracle.com Mon Oct 8 07:26:22 2012 From: richard.bair at oracle.com (Richard Bair) Date: Mon, 8 Oct 2012 07:26:22 -0700 Subject: property improvement suggestion In-Reply-To: <50712B02.8040306@tbee.org> References: <50712B02.8040306@tbee.org> Message-ID: <8307B987-CFEB-4BC3-AE6B-057F4DED07C0@oracle.com> It looks like there are two elements of this proposal. The first is that the author of a bean might want to specify some inherent constraint on the property -- such as, it should never be null, or it should never be negative. The second is that a user of the property might want to constrain the property in some way -- such as, in my app the width should never be negative. I see the value immediately in the first (in fact, this has always been a problem with our properties, going all the way back to JavaFX Script), but I struggle to see much value in the second. Not because you might not want to do this sort of thing, but because the first (inherent constraints) is not presently possible at all, while the second (app constraints) you can already do in your application code, one way or another. I am inclined not to add API for cases that are already solvable, unless it turns out to be so compelling and widely used. From a semantic point of view, binding was a "mathematical" relationship between two properties in JavaFX Script, such that when you read code like: x: bind 10 * someProperty you new that "x" was going to be 10 * someProperty, and not anything else. Of course as an API designer I have never liked that because I have to handle exceptional conditions in my code rather than being able to verify that a property can never go outside its valid range of values. I am pleased to see your proposal doesn't include throwing exceptions -- I think throwing an exception from a property on invalid input is a very bad idea. The problem is in lazy evaluation of properties. Suppose: widthProperty().bind(someProperty) Further suppose width is constrained to never be < 0, and somebody were to try to set it to be < 0 it would throw an exception. In this case, someProperty might be set to -10 at some time, and the width property is invalidated. But until somebody tries to read width, it won't throw the exception. So the problem with bound properties & exceptions is that the exception is not thrown at the time the error is introduced, but rather at the time the error is discovered, which turns out to be an awful behavior. However your proposal instead says "if it is outside the allowable range, I will just adjust the value to keep it within the allowable range". I think this is a really good idea. The property implementations would have to be modified such that on read, instead of: /** * {@inheritDoc} */ @Override public boolean get() { valid = true; return observable == null ? value : observable.get(); } we instead do something like: /** * {@inheritDoc} */ @Override public boolean get() { if (!valid && observable != null) { value = constrain(observable.get()); } valid = true; return observable == null ? value : observable.get(); } And add a protected 'constrain' method. Or perhaps we can just call the "set" method and let the set method deal with constraining. This would require taking some care, however, because it means set methods will now be called even when the property is bound which is different than at present, and calling super.set() would throw an exception in the case that it is bound. But still, as a Java developer I'm used to doing constraining from within the setter, so doing it inside the set seems the most natural, but this would be an area that needs to be figured out. Richard On Oct 7, 2012, at 12:10 AM, Tom Eugelink wrote: > As far as I understand, the current the approach is that properties should accept any value, and the usage of these properties have to work with that. Personally I'm prefer a different approach, because I feel the responsibility to have sensible values should be constrained to one place. Therefore I often override the set method of my properties to make sure the value is within the range that my remaining code expect it to be; either by throwing an exception or by clamping the value to a range. > > But this I can only do with my own properties. It would be nice to also do this to existing properties and therefor I would like to suggest to extend the property concept with constraints or conditions. The important point being that these constraints are applied before the value is set, and not (like a change listener approach) afterwards and then correct value; a value should never be outside it allowed range. > > The constraints or conditions could have an if-then structure: if value < 0 then 0. An example in Java 8 lambda notation: > someNode.widthProperty().*constraint*( w -> w < 0, 0); > > This would also be something relevant to binding, especially when doing calculations: > someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*constraint*( w -> w < 0, 0) ); > > There is a difference between a permanent constraint on the property and a constraint only applicable to a binding. The notation above is is too similar to my taste and too easily a binding constraint can become a property constaint. To make this difference more explicit, the word "if" could be better on binding: > someNode.widthProperty().*constraint*( w -> w < 0, 0); > someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*if*( w -> w < 0, 0) ); > > Something to think about is how far these constraints should be taken. These are simple if-then constraints. But what if "else", "elsif" constructions or "case" statements are needed to express the range? In order to keep all options open, maybe the best approach would be to provide constraining listeners. A constraining listener would get the to-be-set value as a parameter and return the new value. For example: > > widthProperty.addConstrainingListener( v -> { if (v < 0.0) return 0.0; return v; } ); > > or in normal notation: > > widthProperty.addConstrainingListener( new ConstaintListener() { > public Double constaint(Double value) { > if (value < 0.0) return 0.0; > return value; > } > }); > > (NB: I'm not sure how to use Java 8 lambda with the addListener method, differentiating between a change, invalidation and constraint listener.) > > This constraining listener approach would allow for all scenario's to be handled. So that is the final improvement I would like to suggest: constrainting listeners. > someNode.widthProperty().*constraint*( v -> { if (v < 0.0) return 0.0; return v; } ); > someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*if*( v -> { if (v < 0.0) return 0.0; return v; } ) ); > > And if possible normal constraints, because that is a easier notation. > > I'd like to hear if I'm making sense or am missing the ball completely. > > Tom From Kirill.Prazdnikov at oracle.com Mon Oct 8 08:52:12 2012 From: Kirill.Prazdnikov at oracle.com (Kirill Prazdnikov) Date: Mon, 08 Oct 2012 19:52:12 +0400 Subject: 3D Features Planned for Version 8 In-Reply-To: <5072E8E3.8080504@oracle.com> References: <5072D947.5080505@oracle.com> <5072E8E3.8080504@oracle.com> Message-ID: <5072F6AC.9030602@oracle.com> I see. Probably it is possible to "listen to" the camera position and update the orientation accordingly ? -Kirill On 10/8/2012 6:53 PM, Kevin Rushforth wrote: > > As for Billboard node: it is the ImageView class. > > That isn't sufficient. A BillBoard node is one that always orients > itself towards the viewer regardless of the position and orientation > of the camera. This is unplanned for FX 8. > > -- Kevin > > > Kirill Prazdnikov wrote: >> Hi, >> >> Lets wait for more detailed API review. >> There will be room for more concrete API questions. >> >> As for Billboard node: it is the ImageView class. >> >> -Kirill >> >> On 10/8/2012 5:43 PM, Pedro Duque Vieira wrote: >>> What about the lightning thing I talked about (2 point)? I can't really >>> understand why that type of light is missing.. >>> >>> I remembered one more thing: a Billboard node would be useful. >>> >>> Thanks, best regards, >>> >>> >>> Hi, >>>> Yes, we will introduce a new group with "camera" property. It is >>>> SubScene: >>>>> SubScene is a special Node for scene separation >>>>> It can be used to render part of the Scene with different camera >>>> As of 3D audio, it is not planned. >>>> -Kirill >>>> On 07.10.2012 21:45, Pedro Duque Vieira wrote: >>>>> Hi, >>>>> >>>>> The API looks promising! :) >>>>> >>>>> 3 questions: >>>>> >>>>> 1. Is it possible to have several cameras in the scene graph? I >>>> think it >>>>> would be interesting for some apps. This would allow an app >>>>> to show >>>> several >>>>> views, on different locations, of the same scene graph. >>>>> 2. If I want to simulate a pervasive light coming from the >>>>> sky, like >>>> the >>>>> Sun, how would I do it with this API? This light would have >>>>> to be >>>> located >>>>> upward at an infinite distance. Isn't a thing like a >>>>> "Directional >>>> Light" >>>>> missing on this API? >>>>> 3. Will there be an audio node? I imagine, for instance, >>>>> attaching an >>>>> audio clip of the sound of a motor engine to a car. The sound >>>>> would >>>> than be >>>>> louder or quieter depending on the distance of the audio node >>>>> to the >>>> camera. >>>>> Just my 0.02?. Cheers, >> From richard.bair at oracle.com Mon Oct 8 08:23:49 2012 From: richard.bair at oracle.com (Richard Bair) Date: Mon, 8 Oct 2012 08:23:49 -0700 Subject: poor performance when part of window sits outside of desktop screen In-Reply-To: <1348852777.86305.YahooMailNeo@web161504.mail.bf1.yahoo.com> References: <1348852777.86305.YahooMailNeo@web161504.mail.bf1.yahoo.com> Message-ID: <0D37A24C-378D-4B53-A6F8-92B26A742487@oracle.com> Hi Jose, Thanks for the bug, I'll take a look and make sure it is assigned / prioritized correctly. This appears to be one of several similar issues (such as resizing windows on Mac being very slow). Richard On Sep 28, 2012, at 10:19 AM, Jose Martinez wrote: > Hello, > > I been troubleshooting this performance issue that has been plaguing me for weeks. It turns out that regardless of the size of my Stage, if part of it sits outside of the desktop screen (so that 100% of it is not visible on the desktop) then performance drops considerably. > > The FPS drop from 60 to low 50's but that might be misleading. Where 50 FPS would be fine (i would imagine), in my case it causes jitterish movement of Node along their PathTransitions. > > http://javafx-jira.kenai.com/browse/RT-25350 > > > thanks > jose From richard.bair at oracle.com Mon Oct 8 08:22:17 2012 From: richard.bair at oracle.com (Richard Bair) Date: Mon, 8 Oct 2012 08:22:17 -0700 Subject: Bindings.bindContent and filtering In-Reply-To: References: Message-ID: Hi Sven, I'm not sure. I know that we've got FilteredList, FilteredSet, etc implementations that we want to make public API, perhaps that is a better way to handle it? Richard On Sep 28, 2012, at 4:34 PM, Sven Reimers wrote: > Hi all, > > just wondered if having a binding that allows me for example to filter > duplicates (allowed in lists like WebHistory.getEntries()) during the > bindContent to another ObservabeList (e.g. the items of ComboBox) > would be a good thing - or is this one of the extensions to expect > when JavaFX can use lambdas? > > -Sven > > -- > Sven Reimers > > * Senior Expert Software Architect > * NetBeans Dream Team Member: http://dreamteam.netbeans.org > * NetBeans Governance Board Member: http://netbeans.org/about/os/governance.html > * Community Leader NetBeans: http://community.java.net/netbeans > Desktop Java: > http://community.java.net/javadesktop > * Duke's Choice Award Winner 2009 > * Blog: http://nbguru.blogspot.com > > * XING: https://www.xing.com/profile/Sven_Reimers8 > * LinkedIn: http://www.linkedin.com/in/svenreimers > > Join the NetBeans Groups: > * XING: http://www.xing.com/group-20148.82db20 > * NUGM: http://haug-server.dyndns.org/display/NUGM/Home > * LinkedIn: http://www.linkedin.com/groups?gid=1860468 > http://www.linkedin.com/groups?gid=107402 > http://www.linkedin.com/groups?gid=1684717 > * Oracle: https://mix.oracle.com/groups/18497 From pedro.duquevieira at gmail.com Mon Oct 8 09:46:39 2012 From: pedro.duquevieira at gmail.com (Pedro Duque Vieira) Date: Mon, 8 Oct 2012 17:46:39 +0100 Subject: 3D Features Planned for Version 8 Message-ID: I'm considering that by saying that ImageView is a Billboard node you're saying that in 3D it is always oriented towards the camera? Shouldn't that be a property of ImageView rather than a automatic behavior? Yes I do think it is possible to do this by code but I think it would be a rather nice addition, though I also think that as long as you can do it yourself it is not a mandatory feature but rather a nice to have. Thanks, best regards, To be exact something like this > |// Add camera to scene graph (so it can move)| > |Group cameraGroup = ||new| |Group();| > |cameraGroup.getChildren().add(camera);| > |root.getChildren().add(cameraGroup); > ImaveView imageView = new ImageView(...); > cameraGroup.getChildren().add(||imageView||); > //transform cameraGroup to transform camera and billboards. > > > > | > -- Pedro Duque Vieira From kevin.rushforth at oracle.com Mon Oct 8 09:52:01 2012 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 08 Oct 2012 09:52:01 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: <5072F6AC.9030602@oracle.com> References: <5072D947.5080505@oracle.com> <5072E8E3.8080504@oracle.com> <5072F6AC.9030602@oracle.com> Message-ID: <507304B1.20906@oracle.com> Yes. -- Kevin Kirill Prazdnikov wrote: > I see. > Probably it is possible to "listen to" the camera position and update > the orientation accordingly ? > > -Kirill > > On 10/8/2012 6:53 PM, Kevin Rushforth wrote: >> > As for Billboard node: it is the ImageView class. >> >> That isn't sufficient. A BillBoard node is one that always orients >> itself towards the viewer regardless of the position and orientation >> of the camera. This is unplanned for FX 8. >> >> -- Kevin >> >> >> Kirill Prazdnikov wrote: >>> Hi, >>> >>> Lets wait for more detailed API review. >>> There will be room for more concrete API questions. >>> >>> As for Billboard node: it is the ImageView class. >>> >>> -Kirill >>> >>> On 10/8/2012 5:43 PM, Pedro Duque Vieira wrote: >>>> What about the lightning thing I talked about (2 point)? I can't >>>> really >>>> understand why that type of light is missing.. >>>> >>>> I remembered one more thing: a Billboard node would be useful. >>>> >>>> Thanks, best regards, >>>> >>>> >>>> Hi, >>>>> Yes, we will introduce a new group with "camera" property. It is >>>>> SubScene: >>>>>> SubScene is a special Node for scene separation >>>>>> It can be used to render part of the Scene with different camera >>>>> As of 3D audio, it is not planned. >>>>> -Kirill >>>>> On 07.10.2012 21:45, Pedro Duque Vieira wrote: >>>>>> Hi, >>>>>> >>>>>> The API looks promising! :) >>>>>> >>>>>> 3 questions: >>>>>> >>>>>> 1. Is it possible to have several cameras in the scene graph? I >>>>> think it >>>>>> would be interesting for some apps. This would allow an app >>>>>> to show >>>>> several >>>>>> views, on different locations, of the same scene graph. >>>>>> 2. If I want to simulate a pervasive light coming from the >>>>>> sky, like >>>>> the >>>>>> Sun, how would I do it with this API? This light would have >>>>>> to be >>>>> located >>>>>> upward at an infinite distance. Isn't a thing like a >>>>>> "Directional >>>>> Light" >>>>>> missing on this API? >>>>>> 3. Will there be an audio node? I imagine, for instance, >>>>>> attaching an >>>>>> audio clip of the sound of a motor engine to a car. The >>>>>> sound would >>>>> than be >>>>>> louder or quieter depending on the distance of the audio >>>>>> node to the >>>>> camera. >>>>>> Just my 0.02?. Cheers, >>> > From kevin.rushforth at oracle.com Mon Oct 8 09:52:07 2012 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 08 Oct 2012 09:52:07 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: <5072F355.60606@oracle.com> References: <5072D947.5080505@oracle.com> <5072E8E3.8080504@oracle.com> <5072F355.60606@oracle.com> Message-ID: <507304B7.2010203@oracle.com> > Can't this be done using a group with an invalidated transform every time the camera is moved? Yes. And providing a sample of how to do this seems a good idea. What is unplanned for FX 8 is having an actual node that does this automatically. -- Kevin joe andresen wrote: > On 10/8/2012 7:53 AM, Kevin Rushforth wrote: >> > As for Billboard node: it is the ImageView class. >> >> That isn't sufficient. A BillBoard node is one that always orients >> itself towards the viewer regardless of the position and orientation >> of the camera. This is unplanned for FX 8. >> >> -- Kevin >> > Can't this be done using a group with an invalidated transform every > time the camera is moved? > > >> >> Kirill Prazdnikov wrote: >>> Hi, >>> >>> Lets wait for more detailed API review. >>> There will be room for more concrete API questions. >>> >>> As for Billboard node: it is the ImageView class. >>> >>> -Kirill >>> >>> On 10/8/2012 5:43 PM, Pedro Duque Vieira wrote: >>>> What about the lightning thing I talked about (2 point)? I can't >>>> really >>>> understand why that type of light is missing.. >>>> >>>> I remembered one more thing: a Billboard node would be useful. >>>> >>>> Thanks, best regards, >>>> >>>> >>>> Hi, >>>>> Yes, we will introduce a new group with "camera" property. It is >>>>> SubScene: >>>>>> SubScene is a special Node for scene separation >>>>>> It can be used to render part of the Scene with different camera >>>>> As of 3D audio, it is not planned. >>>>> -Kirill >>>>> On 07.10.2012 21:45, Pedro Duque Vieira wrote: >>>>>> Hi, >>>>>> >>>>>> The API looks promising! :) >>>>>> >>>>>> 3 questions: >>>>>> >>>>>> 1. Is it possible to have several cameras in the scene graph? I >>>>> think it >>>>>> would be interesting for some apps. This would allow an app >>>>>> to show >>>>> several >>>>>> views, on different locations, of the same scene graph. >>>>>> 2. If I want to simulate a pervasive light coming from the >>>>>> sky, like >>>>> the >>>>>> Sun, how would I do it with this API? This light would have >>>>>> to be >>>>> located >>>>>> upward at an infinite distance. Isn't a thing like a >>>>>> "Directional >>>>> Light" >>>>>> missing on this API? >>>>>> 3. Will there be an audio node? I imagine, for instance, >>>>>> attaching an >>>>>> audio clip of the sound of a motor engine to a car. The >>>>>> sound would >>>>> than be >>>>>> louder or quieter depending on the distance of the audio >>>>>> node to the >>>>> camera. >>>>>> Just my 0.02?. Cheers, >>> > From mp at jugs.org Mon Oct 8 09:59:03 2012 From: mp at jugs.org (Dr. Michael Paus) Date: Mon, 08 Oct 2012 18:59:03 +0200 Subject: 3D Features Planned for Version 8 In-Reply-To: <5072F43D.8070903@oracle.com> References: <5072D947.5080505@oracle.com> <5072E8E3.8080504@oracle.com> <5072F43D.8070903@oracle.com> Message-ID: <50730657.1020409@jugs.org> Am 08.10.2012 17:41, schrieb joe andresen: > To be exact something like this > > |// Add camera to scene graph (so it can move)| > |Group cameraGroup = ||new| |Group();| > |cameraGroup.getChildren().add(camera);| > |root.getChildren().add(cameraGroup); > > ImaveView imageView = new ImageView(...); > cameraGroup.getChildren().add(||imageView||); > > //transform cameraGroup to transform camera and billboards. No, this is not the behaviour of a billboard. Bilboard and camera can move independently of each other. Only the orientation of the bilboard is always in the direction towards the camera. > > > > > | > > > On 10/8/2012 7:53 AM, Kevin Rushforth wrote: >> > As for Billboard node: it is the ImageView class. >> >> That isn't sufficient. A BillBoard node is one that always orients >> itself towards the viewer regardless of the position and orientation >> of the camera. This is unplanned for FX 8. >> >> -- Kevin >> >> >> Kirill Prazdnikov wrote: >>> Hi, >>> >>> Lets wait for more detailed API review. >>> There will be room for more concrete API questions. >>> >>> As for Billboard node: it is the ImageView class. >>> >>> -Kirill >>> >>> On 10/8/2012 5:43 PM, Pedro Duque Vieira wrote: >>>> What about the lightning thing I talked about (2 point)? I can't >>>> really >>>> understand why that type of light is missing.. >>>> >>>> I remembered one more thing: a Billboard node would be useful. >>>> >>>> Thanks, best regards, >>>> >>>> >>>> Hi, >>>>> Yes, we will introduce a new group with "camera" property. It is >>>>> SubScene: >>>>>> SubScene is a special Node for scene separation >>>>>> It can be used to render part of the Scene with different camera >>>>> As of 3D audio, it is not planned. >>>>> -Kirill >>>>> On 07.10.2012 21:45, Pedro Duque Vieira wrote: >>>>>> Hi, >>>>>> >>>>>> The API looks promising! :) >>>>>> >>>>>> 3 questions: >>>>>> >>>>>> 1. Is it possible to have several cameras in the scene graph? I >>>>> think it >>>>>> would be interesting for some apps. This would allow an app >>>>>> to show >>>>> several >>>>>> views, on different locations, of the same scene graph. >>>>>> 2. If I want to simulate a pervasive light coming from the >>>>>> sky, like >>>>> the >>>>>> Sun, how would I do it with this API? This light would have >>>>>> to be >>>>> located >>>>>> upward at an infinite distance. Isn't a thing like a >>>>>> "Directional >>>>> Light" >>>>>> missing on this API? >>>>>> 3. Will there be an audio node? I imagine, for instance, >>>>>> attaching an >>>>>> audio clip of the sound of a motor engine to a car. The >>>>>> sound would >>>>> than be >>>>>> louder or quieter depending on the distance of the audio >>>>>> node to the >>>>> camera. >>>>>> Just my 0.02?. Cheers, >>> > -- -------------------------------------------------------------------------------------- Dr. Michael Paus, Chairman of the Java User Group Stuttgart e.V. (JUGS). For more information visit www.jugs.de. From joseph.andresen at oracle.com Mon Oct 8 10:01:08 2012 From: joseph.andresen at oracle.com (joe andresen) Date: Mon, 08 Oct 2012 10:01:08 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: References: Message-ID: <507306D4.8090101@oracle.com> On 10/8/2012 9:46 AM, Pedro Duque Vieira wrote: > ImageView is a Billboard node you're > saying that in 3D it is always oriented towards the camera? Shouldn't that > be a property of ImageView rather than a automatic behavior? I did not say that a imageview IS a billboard, and i also did not say that "in 3d" it is always oriented towards the camera. Remember, JavaFX Nodes can take 3D transforms right now. I do not think there is a notion of "3D or 2D" for an ImageView. The previous example code shows how an image view could behave (possibly if the transforms work like i think they do) LIKE a billboard. You could test this in 2.2 kind of, but you wouldn't be able to see the actual results i think. (since cameras don't move yet) From tbee at tbee.org Mon Oct 8 10:08:16 2012 From: tbee at tbee.org (Tom Eugelink) Date: Mon, 08 Oct 2012 19:08:16 +0200 Subject: property improvement suggestion In-Reply-To: <8307B987-CFEB-4BC3-AE6B-057F4DED07C0@oracle.com> References: <50712B02.8040306@tbee.org> <8307B987-CFEB-4BC3-AE6B-057F4DED07C0@oracle.com> Message-ID: <50730880.6080307@tbee.org> Hmmmm, not sure we are on the same line here. The essence of the proposal is that the user of a property can specify a constraint. Let's see how I can make a good argument for this. There are two angles. The first being the binding; I recently recoded my Agenda (Google Calendar) control to use binding and really liked that, but I ran into some omissions IMHO. Suppose I bind an appointment height to the duration of the appointment. So, basically you get something like: appointment.duration().bind(area.height().multiply(pixelToSecondsFactor)); A UI feature is that the user can resize an area by dragging the end time (bottom of the rectangle) with the mouse. Theoretically he can drag the mouse above the start time, resulting in a negative height. The binding will then result in a negative duration, and that is something I do not want. The problem is that I am not the owner of the appointment (it comes from the business model), nor the owner of the area (it's a rectangle; and even if I extend Rectangle, I cannot extend the height property). So I need a way to prevent that situation to occur, because the BM code handling the appointment will never expect a negative duration, or an end time that falls before the start time (the constraints of the BM entity :-). Because the binding allows calculation, it almost requires constraints, or a decent hook system. Or I must find a way to get a man-in-the-middle setup (I did that with JGoodies binding), but native constraints are better. The second angle is that the properties concept is a powerful one, and I expect them to become popular in none JavaFX contexts as well. Formal properties is something the community have been begging for for a long time. These other context, say a mortgage business model, may be less lenient towards the possible values a property can have and require a strict handling of the values, and maybe (yes) throw exceptions. Further more these constraints may be fairly complex, so a simple "if a then b" might not cut it. So if we're contemplating constraints, then let's look at the bigger picture. Now, I'm not knowledgable enough on the implementation that I can discuss the implementation details, but I understand the problem of the lazy binding your describing. Maybe, in light of the bigger picture, eager bindings are important. I only know that being able to hook into binding to make sure a value never goes out of range, both directly on a property (as a permanent constraint) or inside a binding chain (as a local constraint), seems like a very natural thing. Tom On 2012-10-08 16:26, Richard Bair wrote: > It looks like there are two elements of this proposal. The first is that the author of a bean might want to specify some inherent constraint > on the property -- such as, it should never be null, or it should never be negative. The second is that a user of the property might want to constrain the property in some way -- such as, in my app the width should never be negative. > > I see the value immediately in the first (in fact, this has always been a problem with our properties, going all the way back to JavaFX Script), but I struggle to see much value in the second. Not because you might not want to do this sort of thing, but because the first (inherent constraints) is not presently possible at all, while the second (app constraints) you can already do in your application code, one way or another. I am inclined not to add API for cases that are already solvable, unless it turns out to be so compelling and widely used. > > From a semantic point of view, binding was a "mathematical" relationship between two properties in JavaFX Script, such that when you read code like: > > x: bind 10 * someProperty > > you new that "x" was going to be 10 * someProperty, and not anything else. Of course as an API designer I have never liked that because I have to handle exceptional conditions in my code rather than being able to verify that a property can never go outside its valid range of values. > > I am pleased to see your proposal doesn't include throwing exceptions -- I think throwing an exception from a property on invalid input is a very bad idea. The problem is in lazy evaluation of properties. Suppose: > > widthProperty().bind(someProperty) > > Further suppose width is constrained to never be < 0, and somebody were to try to set it to be < 0 it would throw an exception. In this case, someProperty might be set to -10 at some time, and the width property is invalidated. But until somebody tries to read width, it won't throw the exception. So the problem with bound properties & exceptions is that the exception is not thrown at the time the error is introduced, but rather at the time the error is discovered, which turns out to be an awful behavior. > > However your proposal instead says "if it is outside the allowable range, I will just adjust the value to keep it within the allowable range". I think this is a really good idea. The property implementations would have to be modified such that on read, instead of: > > /** > * {@inheritDoc} > */ > @Override > public boolean get() { > valid = true; > return observable == null ? value : observable.get(); > } > > we instead do something like: > > /** > * {@inheritDoc} > */ > @Override > public boolean get() { > if (!valid && observable != null) { > value = constrain(observable.get()); > } > valid = true; > return observable == null ? value : observable.get(); > } > > > And add a protected 'constrain' method. Or perhaps we can just call the "set" method and let the set method deal with constraining. This would require taking some care, however, because it means set methods will now be called even when the property is bound which is different than at present, and calling super.set() would throw an exception in the case that it is bound. But still, as a Java developer I'm used to doing constraining from within the setter, so doing it inside the set seems the most natural, but this would be an area that needs to be figured out. > > Richard > > On Oct 7, 2012, at 12:10 AM, Tom Eugelink wrote: > >> As far as I understand, the current the approach is that properties should accept any value, and the usage of these properties have to work with that. Personally I'm prefer a different approach, because I feel the responsibility to have sensible values should be constrained to one place. Therefore I often override the set method of my properties to make sure the value is within the range that my remaining code expect it to be; either by throwing an exception or by clamping the value to a range. >> >> But this I can only do with my own properties. It would be nice to also do this to existing properties and therefor I would like to suggest to extend the property concept with constraints or conditions. The important point being that these constraints are applied before the value is set, and not (like a change listener approach) afterwards and then correct value; a value should never be outside it allowed range. >> >> The constraints or conditions could have an if-then structure: if value < 0 then 0. An example in Java 8 lambda notation: >> someNode.widthProperty().*constraint*( w -> w < 0, 0); >> >> This would also be something relevant to binding, especially when doing calculations: >> someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*constraint*( w -> w < 0, 0) ); >> >> There is a difference between a permanent constraint on the property and a constraint only applicable to a binding. The notation above is is too similar to my taste and too easily a binding constraint can become a property constaint. To make this difference more explicit, the word "if" could be better on binding: >> someNode.widthProperty().*constraint*( w -> w < 0, 0); >> someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*if*( w -> w < 0, 0) ); >> >> Something to think about is how far these constraints should be taken. These are simple if-then constraints. But what if "else", "elsif" constructions or "case" statements are needed to express the range? In order to keep all options open, maybe the best approach would be to provide constraining listeners. A constraining listener would get the to-be-set value as a parameter and return the new value. For example: >> >> widthProperty.addConstrainingListener( v -> { if (v < 0.0) return 0.0; return v; } ); >> >> or in normal notation: >> >> widthProperty.addConstrainingListener( new ConstaintListener() { >> public Double constaint(Double value) { >> if (value < 0.0) return 0.0; >> return value; >> } >> }); >> >> (NB: I'm not sure how to use Java 8 lambda with the addListener method, differentiating between a change, invalidation and constraint listener.) >> >> This constraining listener approach would allow for all scenario's to be handled. So that is the final improvement I would like to suggest: constrainting listeners. >> someNode.widthProperty().*constraint*( v -> { if (v < 0.0) return 0.0; return v; } ); >> someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*if*( v -> { if (v < 0.0) return 0.0; return v; } ) ); >> >> And if possible normal constraints, because that is a easier notation. >> >> I'd like to hear if I'm making sense or am missing the ball completely. >> >> Tom From richard.bair at oracle.com Mon Oct 8 10:19:36 2012 From: richard.bair at oracle.com (Richard Bair) Date: Mon, 8 Oct 2012 10:19:36 -0700 Subject: Quarterly Project Report Message-ID: <051CABA6-8F6F-4BFC-9D20-4A2AAFEAC948@oracle.com> This is the first quarterly project report for OpenJFX, which according to the bylaws I'm supposed to produce every 3 months. Better late than never ;-). The OpenJFX project is moving along. We have been steadily building what I think is good interaction with the community. We've had invaluable feedback from many of you on a range of API designs and topics over the past year, for which we are truly grateful and, I think bodes well for the value of the project and the community in the future. We have open sourced all of the UI Controls and much of the Scene Graph, CSS, and related APIs. As per the recent announcement at JavaOne, we're going to be opening sourcing the rest over the course of the next few months. Our project has an open JIRA issue database and, except for security issues, nearly everything is available to the public. I think on the Issue Tracking part of the project things are going quite well. One thing that we have not done well and need to improve on is taking Issue Votes into serious consideration when planning the next release. You should feel confident that your votes, and voices, are heard. As such, I'm personally committed to making sure the TreeTableView control makes it into JavaFX 8, as this is the second-highest voted for JIRA issue. Our website, build instructions, build infrastructure, IDE support, and so forth are really bad right now. Jasper is working on a design for our website and we are making sure the wiki (https://wikis.oracle.com/display/OpenJDK/OpenJFX) is redesigned and organized and chock full of useful information. I'm working on our build infrastructure so that somebody can within minutes be up and running within their favorite IDE, whereas right now it is quite complicated to get a build setup. This is especially true when the rest of the platform is open sourced. It is usually a several day task for somebody new to the project to get a build fully setup and working, and even longer before they figure out how to be efficient at building / testing. This is clearly unacceptable because it doesn't scale and would be prohibitive for members of the community to be able to contribute. Getting contributions from the community remains a very important milestone for the project. I do not expect to see many patches until we've succeeded in setting up a build / contribution system which is easy and provides nearly immediate satisfaction. I will be working hard over the next several months to make this a reality. Richard Bair From pedro.duquevieira at gmail.com Mon Oct 8 10:30:54 2012 From: pedro.duquevieira at gmail.com (Pedro Duque Vieira) Date: Mon, 8 Oct 2012 18:30:54 +0100 Subject: 3D Features Planned for Version 8 Message-ID: Hi Joe, Was not talking to you, I was talking to Kirill who said ImageView was a Billboard. Thanks, On 10/8/2012 9:46 AM, Pedro Duque Vieira wrote: > > ImageView is a Billboard node you're > > saying that in 3D it is always oriented towards the camera? Shouldn't > that > > be a property of ImageView rather than a automatic behavior? > I did not say that a imageview IS a billboard, and i also did not say > that "in 3d" it is always oriented towards the camera. > Remember, JavaFX Nodes can take 3D transforms right now. I do not think > there is a notion of "3D or 2D" for an ImageView. > The previous example code shows how an image view could behave (possibly > if the transforms work like i think they do) LIKE a billboard. > You could test this in 2.2 kind of, but you wouldn't be able to see the > actual results i think. (since cameras don't move yet) -- Pedro Duque Vieira From joseph.andresen at oracle.com Mon Oct 8 10:52:42 2012 From: joseph.andresen at oracle.com (joe andresen) Date: Mon, 08 Oct 2012 10:52:42 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: <50730657.1020409@jugs.org> References: <5072D947.5080505@oracle.com> <5072E8E3.8080504@oracle.com> <5072F43D.8070903@oracle.com> <50730657.1020409@jugs.org> Message-ID: <507312EA.3060409@oracle.com> On 10/8/2012 9:59 AM, Dr. Michael Paus wrote: > Am 08.10.2012 17:41, schrieb joe andresen: >> To be exact something like this >> >> |// Add camera to scene graph (so it can move)| >> |Group cameraGroup = ||new| |Group();| >> |cameraGroup.getChildren().add(camera);| >> |root.getChildren().add(cameraGroup); >> >> ImaveView imageView = new ImageView(...); >> cameraGroup.getChildren().add(||imageView||); >> >> //transform cameraGroup to transform camera and billboards. > No, this is not the behaviour of a billboard. Bilboard and camera > can move independently of each other. Only the orientation of > the bilboard is always in the direction towards the camera. That ImageView can still be transformed independently..... From joseph.andresen at oracle.com Mon Oct 8 10:53:23 2012 From: joseph.andresen at oracle.com (joe andresen) Date: Mon, 08 Oct 2012 10:53:23 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: References: Message-ID: <50731313.5000202@oracle.com> Ah I see, no worries! -J On 10/8/2012 10:30 AM, Pedro Duque Vieira wrote: > Hi Joe, > > Was not talking to you, I was talking to Kirill who said ImageView was a > Billboard. > > Thanks, > > > On 10/8/2012 9:46 AM, Pedro Duque Vieira wrote: >>> ImageView is a Billboard node you're >>> saying that in 3D it is always oriented towards the camera? Shouldn't >> that >>> be a property of ImageView rather than a automatic behavior? >> I did not say that a imageview IS a billboard, and i also did not say >> that "in 3d" it is always oriented towards the camera. >> Remember, JavaFX Nodes can take 3D transforms right now. I do not think >> there is a notion of "3D or 2D" for an ImageView. >> The previous example code shows how an image view could behave (possibly >> if the transforms work like i think they do) LIKE a billboard. >> You could test this in 2.2 kind of, but you wouldn't be able to see the >> actual results i think. (since cameras don't move yet) > From hang.vo at oracle.com Mon Oct 8 12:48:06 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Mon, 08 Oct 2012 19:48:06 +0000 Subject: hg: openjfx/8/controls/rt: Removed tests that are not doing anything. Message-ID: <20121008194812.D1A074721F@hg.openjdk.java.net> Changeset: fe99329cd02e Author: rbair Date: 2012-10-08 12:32 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/fe99329cd02e Removed tests that are not doing anything. - javafx-ui-common/test/unit/javafx/scene/layout/BorderImageSlicesTest.java - javafx-ui-common/test/unit/javafx/scene/layout/BorderImageSlices_builder_Test.java From pedro.duquevieira at gmail.com Mon Oct 8 13:23:30 2012 From: pedro.duquevieira at gmail.com (Pedro Duque Vieira) Date: Mon, 8 Oct 2012 21:23:30 +0100 Subject: Quarterly Project Report Message-ID: Hi Richard, I think you're absolutely right! Having a Zip of the source code of JavaFX would also be a nice, I think. It would be the easiest way to get a glimpse of the code. It wouldn't require anyone to set up or learn the specific source control used by the javafx team. Thanks, best regards, > This is the first quarterly project report for OpenJFX, which according to > the bylaws I'm supposed to produce every 3 months. Better late than never > ;-). > The OpenJFX project is moving along. We have been steadily building what I > think is good interaction with the community. We've had invaluable feedback > from many of you on a range of API designs and topics over the past year, > for which we are truly grateful and, I think bodes well for the value of > the project and the community in the future. We have open sourced all of > the UI Controls and much of the Scene Graph, CSS, and related APIs. As per > the recent announcement at JavaOne, we're going to be opening sourcing the > rest over the course of the next few months. > Our project has an open JIRA issue database and, except for security > issues, nearly everything is available to the public. I think on the Issue > Tracking part of the project things are going quite well. One thing that we > have not done well and need to improve on is taking Issue Votes into > serious consideration when planning the next release. You should feel > confident that your votes, and voices, are heard. As such, I'm personally > committed to making sure the TreeTableView control makes it into JavaFX 8, > as this is the second-highest voted for JIRA issue. > Our website, build instructions, build infrastructure, IDE support, and so > forth are really bad right now. Jasper is working on a design for our > website and we are making sure the wiki ( > https://wikis.oracle.com/display/OpenJDK/OpenJFX) is redesigned and > organized and chock full of useful information. I'm working on our build > infrastructure so that somebody can within minutes be up and running within > their favorite IDE, whereas right now it is quite complicated to get a > build setup. This is especially true when the rest of the platform is open > sourced. It is usually a several day task for somebody new to the project > to get a build fully setup and working, and even longer before they figure > out how to be efficient at building / testing. This is clearly unacceptable > because it doesn't scale and would be prohibitive for members of the > community to be able to contribute. > Getting contributions from the community remains a very important > milestone for the project. I do not expect to see many patches until we've > succeeded in setting up a build / contribution system which is easy and > provides nearly immediate satisfaction. I will be working hard over the > next several months to make this a reality. > Richard Bair -- Pedro Duque Vieira From richard.bair at oracle.com Mon Oct 8 13:25:37 2012 From: richard.bair at oracle.com (Richard Bair) Date: Mon, 8 Oct 2012 13:25:37 -0700 Subject: Quarterly Project Report In-Reply-To: References: Message-ID: <81FA26FA-B1E2-44C3-8FDB-06C6E72E7B32@oracle.com> That's what I was thinking as well. Have a zip, download, open in your IDE, hit run. Any more complicated than that is a #fail On Oct 8, 2012, at 1:23 PM, Pedro Duque Vieira wrote: > Hi Richard, > > I think you're absolutely right! > > Having a Zip of the source code of JavaFX would also be a nice, I think. It > would be the easiest way to get a glimpse of the code. It wouldn't require > anyone to set up or learn the specific source control used by the javafx > team. > > Thanks, best regards, > > >> This is the first quarterly project report for OpenJFX, which according to >> the bylaws I'm supposed to produce every 3 months. Better late than never >> ;-). >> The OpenJFX project is moving along. We have been steadily building what I >> think is good interaction with the community. We've had invaluable feedback >> from many of you on a range of API designs and topics over the past year, >> for which we are truly grateful and, I think bodes well for the value of >> the project and the community in the future. We have open sourced all of >> the UI Controls and much of the Scene Graph, CSS, and related APIs. As per >> the recent announcement at JavaOne, we're going to be opening sourcing the >> rest over the course of the next few months. >> Our project has an open JIRA issue database and, except for security >> issues, nearly everything is available to the public. I think on the Issue >> Tracking part of the project things are going quite well. One thing that we >> have not done well and need to improve on is taking Issue Votes into >> serious consideration when planning the next release. You should feel >> confident that your votes, and voices, are heard. As such, I'm personally >> committed to making sure the TreeTableView control makes it into JavaFX 8, >> as this is the second-highest voted for JIRA issue. >> Our website, build instructions, build infrastructure, IDE support, and so >> forth are really bad right now. Jasper is working on a design for our >> website and we are making sure the wiki ( >> https://wikis.oracle.com/display/OpenJDK/OpenJFX) is redesigned and >> organized and chock full of useful information. I'm working on our build >> infrastructure so that somebody can within minutes be up and running within >> their favorite IDE, whereas right now it is quite complicated to get a >> build setup. This is especially true when the rest of the platform is open >> sourced. It is usually a several day task for somebody new to the project >> to get a build fully setup and working, and even longer before they figure >> out how to be efficient at building / testing. This is clearly unacceptable >> because it doesn't scale and would be prohibitive for members of the >> community to be able to contribute. >> Getting contributions from the community remains a very important >> milestone for the project. I do not expect to see many patches until we've >> succeeded in setting up a build / contribution system which is easy and >> provides nearly immediate satisfaction. I will be working hard over the >> next several months to make this a reality. >> Richard Bair > > > -- > Pedro Duque Vieira From kevin.rushforth at oracle.com Mon Oct 8 14:35:17 2012 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 08 Oct 2012 14:35:17 -0700 Subject: Quarterly Project Report In-Reply-To: <81FA26FA-B1E2-44C3-8FDB-06C6E72E7B32@oracle.com> References: <81FA26FA-B1E2-44C3-8FDB-06C6E72E7B32@oracle.com> Message-ID: <50734715.2020708@oracle.com> Note that this is planned for FX 8: http://javafx-jira.kenai.com/browse/RT-21415 -- Kevin but requires some work before Richard Bair wrote: > That's what I was thinking as well. Have a zip, download, open in your IDE, hit run. Any more complicated than that is a #fail > > On Oct 8, 2012, at 1:23 PM, Pedro Duque Vieira wrote: > > >> Hi Richard, >> >> I think you're absolutely right! >> >> Having a Zip of the source code of JavaFX would also be a nice, I think. It >> would be the easiest way to get a glimpse of the code. It wouldn't require >> anyone to set up or learn the specific source control used by the javafx >> team. >> >> Thanks, best regards, >> >> >> >>> This is the first quarterly project report for OpenJFX, which according to >>> the bylaws I'm supposed to produce every 3 months. Better late than never >>> ;-). >>> The OpenJFX project is moving along. We have been steadily building what I >>> think is good interaction with the community. We've had invaluable feedback >>> from many of you on a range of API designs and topics over the past year, >>> for which we are truly grateful and, I think bodes well for the value of >>> the project and the community in the future. We have open sourced all of >>> the UI Controls and much of the Scene Graph, CSS, and related APIs. As per >>> the recent announcement at JavaOne, we're going to be opening sourcing the >>> rest over the course of the next few months. >>> Our project has an open JIRA issue database and, except for security >>> issues, nearly everything is available to the public. I think on the Issue >>> Tracking part of the project things are going quite well. One thing that we >>> have not done well and need to improve on is taking Issue Votes into >>> serious consideration when planning the next release. You should feel >>> confident that your votes, and voices, are heard. As such, I'm personally >>> committed to making sure the TreeTableView control makes it into JavaFX 8, >>> as this is the second-highest voted for JIRA issue. >>> Our website, build instructions, build infrastructure, IDE support, and so >>> forth are really bad right now. Jasper is working on a design for our >>> website and we are making sure the wiki ( >>> https://wikis.oracle.com/display/OpenJDK/OpenJFX) is redesigned and >>> organized and chock full of useful information. I'm working on our build >>> infrastructure so that somebody can within minutes be up and running within >>> their favorite IDE, whereas right now it is quite complicated to get a >>> build setup. This is especially true when the rest of the platform is open >>> sourced. It is usually a several day task for somebody new to the project >>> to get a build fully setup and working, and even longer before they figure >>> out how to be efficient at building / testing. This is clearly unacceptable >>> because it doesn't scale and would be prohibitive for members of the >>> community to be able to contribute. >>> Getting contributions from the community remains a very important >>> milestone for the project. I do not expect to see many patches until we've >>> succeeded in setting up a build / contribution system which is easy and >>> provides nearly immediate satisfaction. I will be working hard over the >>> next several months to make this a reality. >>> Richard Bair >>> >> -- >> Pedro Duque Vieira >> > > From John_Smith at symantec.com Mon Oct 8 15:30:06 2012 From: John_Smith at symantec.com (John Smith) Date: Mon, 8 Oct 2012 15:30:06 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: <506F0DDD.9060708@oracle.com> References: <506F0DDD.9060708@oracle.com> Message-ID: <411E73D23DEC4C46BA48F2B6D8BF3D221601A2294A@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> Thanks for making the info public Chien. 1. Will I be able to subclass Material to create my own material types? 2. If so, what could I reasonably expect these custom Materials to be capable of? 3. Will I be able to create custom shaders which make use of the shading hardware on the GPU? And if so, how would this be done? I think you would be able to implement a wide variety of 3D related use cases in JavaFX 3D if it provided a clean API with a similar feature set (and ease of use) to the three.js library: http://en.wikipedia.org/wiki/Three.js#Features http://aerotwist.com/tutorials/ In providing such a feature set, a JavaFX 3D API would at appear to be feature comparable to WebGL, which I think is one of the comparison points that somebody evaluating the API would have. The planned features on the wiki go a fair way towards implementing a lot of the base functionality required to make this happen. Obviously, a complete implementation of such a feature set is not in scope for JDK8, but it would be interesting to know what is planned for the future with regards to JavaFX and 3D. Regards, John -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Chien Yang Sent: Friday, October 05, 2012 9:42 AM To: OpenJFX Subject: 3D Features Planned for Version 8 Hi all, We have been thinking about the possible 3D features for JavaFX 8 for a while. We are now ready to present the plan to the community for review. This information has also been presented at this year's JavaOne "3D Made Easy with JavaFX" technical session. https://wikis.oracle.com/display/OpenJDK/3D+Features Please let us know if you have any suggestions or concerns. Regards, - Chien Yang JavaFX Graphics Team From joseph.andresen at oracle.com Mon Oct 8 20:45:12 2012 From: joseph.andresen at oracle.com (Joseph Andresen) Date: Mon, 8 Oct 2012 20:45:12 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: <411E73D23DEC4C46BA48F2B6D8BF3D221601A2294A@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> References: <506F0DDD.9060708@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D221601A2294A@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> Message-ID: Shaders are post fx8 On Oct 8, 2012, at 3:30 PM, John Smith wrote: > Thanks for making the info public Chien. > > 1. Will I be able to subclass Material to create my own material types? > 2. If so, what could I reasonably expect these custom Materials to be capable of? > 3. Will I be able to create custom shaders which make use of the shading hardware on the GPU? And if so, how would this be done? > > I think you would be able to implement a wide variety of 3D related use cases in JavaFX 3D if it provided a clean API with a similar feature set (and ease of use) to the three.js library: > http://en.wikipedia.org/wiki/Three.js#Features > http://aerotwist.com/tutorials/ > In providing such a feature set, a JavaFX 3D API would at appear to be feature comparable to WebGL, which I think is one of the comparison points that somebody evaluating the API would have. The planned features on the wiki go a fair way towards implementing a lot of the base functionality required to make this happen. Obviously, a complete implementation of such a feature set is not in scope for JDK8, but it would be interesting to know what is planned for the future with regards to JavaFX and 3D. > > Regards, > John > > -----Original Message----- > From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Chien Yang > Sent: Friday, October 05, 2012 9:42 AM > To: OpenJFX > Subject: 3D Features Planned for Version 8 > > Hi all, > > We have been thinking about the possible 3D features for JavaFX 8 for a while. We are now ready to present the plan to the community for review. > This information has also been presented at this year's JavaOne "3D Made Easy with JavaFX" technical session. > > https://wikis.oracle.com/display/OpenJDK/3D+Features > > Please let us know if you have any suggestions or concerns. > > Regards, > > - Chien Yang > JavaFX Graphics Team From ozemale at ozemail.com.au Mon Oct 8 23:24:45 2012 From: ozemale at ozemail.com.au (John C. Turnbull) Date: Tue, 9 Oct 2012 17:24:45 +1100 Subject: No JavaFX for iOS, Android or WP - why not? Message-ID: <005101cda5e6$c6d7b960$54872c20$@com.au> I didn't have the pleasure of being at JavaOne but in a blog by Lucas Jellema (and retweeted by Nicolas Lorain) the following is stated: "JavaFX is no longer intended for use on SmartPhones. The iPhone, Android and Windows Mobile phones are provided by the respective platforms, there is no room there for JavaFX. JavaFX is targeted at the desktop to replace Swing and at smaller devices that run embedded Java." This is extremely disappointing especially after having seen demos of JavaFX running on iOS and Android devices. Can someone explain why this decision has been made? Thanks, -jct From zonski at gmail.com Mon Oct 8 23:39:43 2012 From: zonski at gmail.com (Daniel Zwolenski) Date: Tue, 9 Oct 2012 17:39:43 +1100 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <005101cda5e6$c6d7b960$54872c20$@com.au> References: <005101cda5e6$c6d7b960$54872c20$@com.au> Message-ID: Bad, bad news. Is it true? On Tue, Oct 9, 2012 at 5:24 PM, John C. Turnbull wrote: > I didn't have the pleasure of being at JavaOne but in a blog by Lucas > Jellema (and retweeted by Nicolas Lorain) the following is stated: > > > > "JavaFX is no longer intended for use on SmartPhones. The iPhone, Android > and Windows Mobile phones are provided by the respective platforms, there > is > no room there for JavaFX. JavaFX is targeted at the desktop to replace > Swing > and at smaller devices that run embedded Java." > > > > This is extremely disappointing especially after having seen demos of > JavaFX > running on iOS and Android devices. > > > > Can someone explain why this decision has been made? > > > > Thanks, > > > > -jct > > From tbee at tbee.org Mon Oct 8 23:46:25 2012 From: tbee at tbee.org (Tom Eugelink) Date: Tue, 09 Oct 2012 08:46:25 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <005101cda5e6$c6d7b960$54872c20$@com.au> Message-ID: <5073C841.3040007@tbee.org> Wow. That indeed would be very bad news! Tom On 2012-10-09 08:39, Daniel Zwolenski wrote: > Bad, bad news. Is it true? > > > On Tue, Oct 9, 2012 at 5:24 PM, John C. Turnbull wrote: > >> I didn't have the pleasure of being at JavaOne but in a blog by Lucas >> Jellema (and retweeted by Nicolas Lorain) the following is stated: >> >> >> >> "JavaFX is no longer intended for use on SmartPhones. The iPhone, Android >> and Windows Mobile phones are provided by the respective platforms, there >> is >> no room there for JavaFX. JavaFX is targeted at the desktop to replace >> Swing >> and at smaller devices that run embedded Java." >> >> >> >> This is extremely disappointing especially after having seen demos of >> JavaFX >> running on iOS and Android devices. >> >> >> >> Can someone explain why this decision has been made? >> >> >> >> Thanks, >> >> >> >> -jct >> >> From zonski at gmail.com Tue Oct 9 00:06:05 2012 From: zonski at gmail.com (Daniel Zwolenski) Date: Tue, 9 Oct 2012 18:06:05 +1100 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <005101cda5e6$c6d7b960$54872c20$@com.au> Message-ID: Here's the full article: http://technology.amis.nl/2012/10/08/javaone-2012-the-big-stories/ The section on JavaFX contains the quote that John provided. Reading through this article is very sad in a lot of ways. It would be good to know the opinion of the JFX team on this article and how much of this is a reflection of the official Oracle/JFX stance. "Oracle sees HTML 5 as the way forward for browser based applications" i.e. 90% of the applications out there? Leaving JFX only worth the hassle for pure desktop apps? Why bother, especially when HTML5 can do most of the things JFX can (in some cases it can do more), plus it deploys cross-platform easily and it works well enough on popular SmartDevices? "One of the big things happening right now obviously is HTML 5. Bringing rich graphics, animation and interactivity to the browser renders the Java Applet (as well as Flash and Silverlight plugins) rather obsolete. HTML 5 runs on all kinds of devices, from Desktop browser, tablet all the way to mobile devices. Rich and interactive applications using a cross platform/cross device technology: HTML 5 (along with CSS 3 and JavaScript and typically introducing Web Sockets as well) is a winner." If HTML5 is the "big thing" that is "bringing rich graphics, animation and interactivity", what's JFX then? On Tue, Oct 9, 2012 at 5:39 PM, Daniel Zwolenski wrote: > Bad, bad news. Is it true? > > > On Tue, Oct 9, 2012 at 5:24 PM, John C. Turnbull wrote: > >> I didn't have the pleasure of being at JavaOne but in a blog by Lucas >> Jellema (and retweeted by Nicolas Lorain) the following is stated: >> >> >> >> "JavaFX is no longer intended for use on SmartPhones. The iPhone, Android >> and Windows Mobile phones are provided by the respective platforms, there >> is >> no room there for JavaFX. JavaFX is targeted at the desktop to replace >> Swing >> and at smaller devices that run embedded Java." >> >> >> >> This is extremely disappointing especially after having seen demos of >> JavaFX >> running on iOS and Android devices. >> >> >> >> Can someone explain why this decision has been made? >> >> >> >> Thanks, >> >> >> >> -jct >> >> > From tobi at ultramixer.com Tue Oct 9 00:10:04 2012 From: tobi at ultramixer.com (Tobias Bley) Date: Tue, 9 Oct 2012 09:10:04 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <005101cda5e6$c6d7b960$54872c20$@com.au> References: <005101cda5e6$c6d7b960$54872c20$@com.au> Message-ID: <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> Hi guys, first of all: that's not an official press release of Oracle... second: please take part of the current discussion on JavaFX forum about "JavaFX on iOS, Android and Windows 8": https://forums.oracle.com/forums/thread.jspa?threadID=2448461&tstart=0 Richard Bair there asked for developers and companies who have a real (commercial) interested in using JavaFX on iOS.... So please please write Richard an email to show him your real interested. Best regards, Tobi blog.software4java.com Am 09.10.2012 um 08:24 schrieb "John C. Turnbull" : > I didn't have the pleasure of being at JavaOne but in a blog by Lucas > Jellema (and retweeted by Nicolas Lorain) the following is stated: > > > > "JavaFX is no longer intended for use on SmartPhones. The iPhone, Android > and Windows Mobile phones are provided by the respective platforms, there is > no room there for JavaFX. JavaFX is targeted at the desktop to replace Swing > and at smaller devices that run embedded Java." > > > > This is extremely disappointing especially after having seen demos of JavaFX > running on iOS and Android devices. > > > > Can someone explain why this decision has been made? > > > > Thanks, > > > > -jct > From chien.yang at oracle.com Tue Oct 9 00:52:28 2012 From: chien.yang at oracle.com (Chien Yang) Date: Tue, 09 Oct 2012 00:52:28 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: <411E73D23DEC4C46BA48F2B6D8BF3D221601A2294A@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> References: <506F0DDD.9060708@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D221601A2294A@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> Message-ID: <5073D7BC.9030802@oracle.com> Hi John, Good questions. We have evaluated both user subclassing of Material and custom shader during our 3D features meeting. They do not belong to the "must have" list in our use case study, and they require certain design tradeoff and investment work that we aren't ready to commit for JavaFX 8. - Chien On 10/8/2012 3:30 PM, John Smith wrote: > Thanks for making the info public Chien. > > 1. Will I be able to subclass Material to create my own material types? > 2. If so, what could I reasonably expect these custom Materials to be capable of? > 3. Will I be able to create custom shaders which make use of the shading hardware on the GPU? And if so, how would this be done? > > I think you would be able to implement a wide variety of 3D related use cases in JavaFX 3D if it provided a clean API with a similar feature set (and ease of use) to the three.js library: > http://en.wikipedia.org/wiki/Three.js#Features > http://aerotwist.com/tutorials/ > In providing such a feature set, a JavaFX 3D API would at appear to be feature comparable to WebGL, which I think is one of the comparison points that somebody evaluating the API would have. The planned features on the wiki go a fair way towards implementing a lot of the base functionality required to make this happen. Obviously, a complete implementation of such a feature set is not in scope for JDK8, but it would be interesting to know what is planned for the future with regards to JavaFX and 3D. > > Regards, > John > > -----Original Message----- > From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Chien Yang > Sent: Friday, October 05, 2012 9:42 AM > To: OpenJFX > Subject: 3D Features Planned for Version 8 > > Hi all, > > We have been thinking about the possible 3D features for JavaFX 8 for a while. We are now ready to present the plan to the community for review. > This information has also been presented at this year's JavaOne "3D Made Easy with JavaFX" technical session. > > https://wikis.oracle.com/display/OpenJDK/3D+Features > > Please let us know if you have any suggestions or concerns. > > Regards, > > - Chien Yang > JavaFX Graphics Team From ozemale at ozemail.com.au Tue Oct 9 01:18:07 2012 From: ozemale at ozemail.com.au (John C. Turnbull) Date: Tue, 9 Oct 2012 19:18:07 +1100 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> Message-ID: <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> Hi Tobi, I realise it's not an official Oracle statement but that's part of the problem; Oracle didn't make an official statement on this at JavaOne when I suspect many people were hoping for one. In fact, I seem to remember a session titled something like "JavaFX on iOS" was being tossed around for possible inclusion in this year's JavaOne some time ago. It's blatantly clear that Java developers *crave* JavaFX on mobiles and yet Oracle are waiting for clear commercial interest to justify such support? As has been pointed out several times, JavaFX cannot be considered a success if it is limited to the scope of the desktop and perhaps some embedded devices. Many predict that the PC in its current form will largely disappear in the next 5 years so where would that leave JavaFX? Java developers are largely passionate about their language and do not want to learn Objective C or C# or whatever language is required on each device. In my opinion, being able to code in Java and deploy to Windows, Linux, MacOS, iOS, Android, Metro etc. could propel JavaFX to amazing heights as the best platform for client side software development on the planet. Please Oracle, don't miss this enormous opportunity! What do we have to do to convince you that this REALLY IS A GOOD IDEA? -jct -----Original Message----- From: Tobias Bley [mailto:tobi at ultramixer.com] Sent: Tuesday, 9 October 2012 18:10 To: John C. Turnbull Cc: openjfx-dev at openjdk.java.net Subject: Re: No JavaFX for iOS, Android or WP - why not? Hi guys, first of all: that's not an official press release of Oracle... second: please take part of the current discussion on JavaFX forum about "JavaFX on iOS, Android and Windows 8": https://forums.oracle.com/forums/thread.jspa?threadID=2448461&tstart=0 Richard Bair there asked for developers and companies who have a real (commercial) interested in using JavaFX on iOS.... So please please write Richard an email to show him your real interested. Best regards, Tobi blog.software4java.com Am 09.10.2012 um 08:24 schrieb "John C. Turnbull" : > I didn't have the pleasure of being at JavaOne but in a blog by Lucas > Jellema (and retweeted by Nicolas Lorain) the following is stated: > > > > "JavaFX is no longer intended for use on SmartPhones. The iPhone, > Android and Windows Mobile phones are provided by the respective > platforms, there is no room there for JavaFX. JavaFX is targeted at > the desktop to replace Swing and at smaller devices that run embedded Java." > > > > This is extremely disappointing especially after having seen demos of > JavaFX running on iOS and Android devices. > > > > Can someone explain why this decision has been made? > > > > Thanks, > > > > -jct > From tobi at ultramixer.com Tue Oct 9 01:23:02 2012 From: tobi at ultramixer.com (Tobias Bley) Date: Tue, 9 Oct 2012 10:23:02 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> Message-ID: John, many thanks for your post! I absolutely agree with you. JavaFX without real(!) crossplatform support on the major platforms is an absolutely MUST HAVE. I can't understand Oracles point of view ("we don't know if developers and companies have a real interested in JavaFX2 on mobile) too - that's unbelievable! John, please write to Richard Bair, he wants to know our opinion about this topic! Best, Tobi -- Tobias Bley Chief Executive Officer -------------------------------------------------------- UltraMixer Digital Audio Solutions Schillerstra?e 29 D-01326 Dresden Germany -------------------------------------------------------- bley at ultramixer.com http://www.ultramixer.com Am 09.10.2012 um 10:18 schrieb "John C. Turnbull" : > Hi Tobi, > > I realise it's not an official Oracle statement but that's part of the > problem; Oracle didn't make an official statement on this at JavaOne when I > suspect many people were hoping for one. In fact, I seem to remember a > session titled something like "JavaFX on iOS" was being tossed around for > possible inclusion in this year's JavaOne some time ago. > > It's blatantly clear that Java developers *crave* JavaFX on mobiles and yet > Oracle are waiting for clear commercial interest to justify such support? > As has been pointed out several times, JavaFX cannot be considered a success > if it is limited to the scope of the desktop and perhaps some embedded > devices. Many predict that the PC in its current form will largely > disappear in the next 5 years so where would that leave JavaFX? > > Java developers are largely passionate about their language and do not want > to learn Objective C or C# or whatever language is required on each device. > > In my opinion, being able to code in Java and deploy to Windows, Linux, > MacOS, iOS, Android, Metro etc. could propel JavaFX to amazing heights as > the best platform for client side software development on the planet. > Please Oracle, don't miss this enormous opportunity! What do we have to do > to convince you that this REALLY IS A GOOD IDEA? > > -jct > > -----Original Message----- > From: Tobias Bley [mailto:tobi at ultramixer.com] > Sent: Tuesday, 9 October 2012 18:10 > To: John C. Turnbull > Cc: openjfx-dev at openjdk.java.net > Subject: Re: No JavaFX for iOS, Android or WP - why not? > > Hi guys, > > first of all: that's not an official press release of Oracle... > > second: please take part of the current discussion on JavaFX forum about > "JavaFX on iOS, Android and Windows 8": > https://forums.oracle.com/forums/thread.jspa?threadID=2448461&tstart=0 > > Richard Bair there asked for developers and companies who have a real > (commercial) interested in using JavaFX on iOS.... So please please write > Richard an email to show him your real interested. > > Best regards, > Tobi > > blog.software4java.com > > > > Am 09.10.2012 um 08:24 schrieb "John C. Turnbull" : > >> I didn't have the pleasure of being at JavaOne but in a blog by Lucas >> Jellema (and retweeted by Nicolas Lorain) the following is stated: >> >> >> >> "JavaFX is no longer intended for use on SmartPhones. The iPhone, >> Android and Windows Mobile phones are provided by the respective >> platforms, there is no room there for JavaFX. JavaFX is targeted at >> the desktop to replace Swing and at smaller devices that run embedded > Java." >> >> >> >> This is extremely disappointing especially after having seen demos of >> JavaFX running on iOS and Android devices. >> >> >> >> Can someone explain why this decision has been made? >> >> >> >> Thanks, >> >> >> >> -jct >> > From randahl at rockit.dk Tue Oct 9 01:44:24 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Tue, 9 Oct 2012 10:44:24 +0200 Subject: Support for grouped rendered opacity? Message-ID: <81B3F8A1-F0B0-43C2-8052-69C35FBBB2B2@rockit.dk> Is it possible to change the opacity of a rendered node tree rather than affecting the opacity of each individual node? When I am changing the opacity of a panel with multiple node children, what I am seeing is the individual opacities of each child node changing, which is not what I am aiming for. In one pane I am rendering a 3D house using multiple 2D shapes, and I wish to make the pane fade away by gradually decreasing its opacity; but when I alter the opacity of the pane, what I am seeing is the individual walls of the house becoming semitransparent revealing the geometry of the house. What I was hoping to achieve was to change the opacity of the *rendered* pane. Is that possible? Randahl From lehmann at media-interactive.de Tue Oct 9 03:14:33 2012 From: lehmann at media-interactive.de (Werner Lehmann) Date: Tue, 9 Oct 2012 12:14:33 +0200 Subject: Is there any source code for the JavaFX SceneBuilder? In-Reply-To: <50727F59.5090105@oracle.com> References: <000801cda3fe$b173cf30$145b6d90$@com> <50727F59.5090105@oracle.com> Message-ID: <5073F909.8040508@media-interactive.de> This is also simple to do in Eclipse. The main problem I am having is, how to pass the location of the resource bundle and especially the classpath of my custom controls to SceneBuilder. Without this I am seeing only black boxes (not necessarily black) instead of my custom controls, and resource bundle keys like "%task-dialog-title" instead of "Edit employee task". In my case this classpath would be assembled from the output directories of several dependent projects plus libraries. Tom, is this something you managed to do in e(fx)clipse? Rgds Werner On 08.10.2012 09:23, Jerome Cambon wrote: > Hi Freddy, > > We will provide documentation about Scene Builder integration with > various IDE (Netbeans, Eclipse, IntelliJ) soon. > For IntelliJ IDEA, it is quite easy to launch Scene Builder (SB) from > the IDE, and to build/run the SB samples : > > 1- Launch SB for IntelliJ > - From File->Settings panel, select File Types. Select "Files opened in > associated applications", and add "*.fxml" in the pattern list. > - Double-click an fxml file to edit it with Scene Builder > > 2- Run SB examples > - Create project from existing sources > - In idea/compiler.xml, add the .fxml resource so that the fxml file is > copied in the "out" directory next to .class files > > HTH, > Jerome From hang.vo at oracle.com Tue Oct 9 03:18:56 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 09 Oct 2012 10:18:56 +0000 Subject: hg: openjfx/8/graphics/rt: Fix for RT-24681: added javadocs Message-ID: <20121009101902.6504C4723B@hg.openjdk.java.net> Changeset: c8deba0d0fb6 Author: Lubomir Nerad Date: 2012-10-09 12:12 +0200 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/c8deba0d0fb6 Fix for RT-24681: added javadocs ! javafx-ui-common/src/javafx/stage/DirectoryChooser.java ! javafx-ui-common/src/javafx/stage/FileChooser.java From tom.schindl at bestsolution.at Tue Oct 9 03:23:16 2012 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Tue, 09 Oct 2012 12:23:16 +0200 Subject: Is there any source code for the JavaFX SceneBuilder? In-Reply-To: <5073F909.8040508@media-interactive.de> References: <000801cda3fe$b173cf30$145b6d90$@com> <50727F59.5090105@oracle.com> <5073F909.8040508@media-interactive.de> Message-ID: <5073FB14.5060005@bestsolution.at> Am 09.10.12 12:14, schrieb Werner Lehmann: > This is also simple to do in Eclipse. The main problem I am having is, > how to pass the location of the resource bundle and especially the > classpath of my custom controls to SceneBuilder. Without this I am > seeing only black boxes (not necessarily black) instead of my custom > controls, and resource bundle keys like "%task-dialog-title" instead of > "Edit employee task". > > In my case this classpath would be assembled from the output directories > of several dependent projects plus libraries. > > Tom, is this something you managed to do in e(fx)clipse? > No. My e(fx)clipse internal preview naturally has all those informations because it knows the classpath of the project. We'd need from the SceneBuilder people an API (once we directly embed the editor) and/or an interchange format to tell them where to search for classes. So if we (Eclipse,Netbeans,SceneBuilder) could work on an interchange format like scenebuilder.classpath ---------------------- this could help you. It is very easy for IDEs to provide something like this. Tom -- B e s t S o l u t i o n . a t EDV Systemhaus GmbH ------------------------------------------------------------------------ tom schindl gesch?ftsf?hrer/CEO ------------------------------------------------------------------------ eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 http://www.BestSolution.at phone ++43 512 935834 From tobi at ultramixer.com Tue Oct 9 04:25:18 2012 From: tobi at ultramixer.com (Tobias Bley) Date: Tue, 9 Oct 2012 13:25:18 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> Message-ID: There are two steps to go: 1. Porting Prism/glass to iOS 2. use AOT compiler Both steps were finished in 2011 yet (http://java.dzone.com/articles/javaone-2011-javafx-20) Am 09.10.2012 um 13:11 schrieb Peter Pilgrim : > Hi > > On the other hand, the whole of JavaFX is going to be open sourced by 2013. > So what it stopping someone porting the lower architecture to iOS? > Therefore one strategy is to wait until the open source is there and > then port it and write the bridging layer between Java and native > Apple libraries, which I guess would be Objective C. I don't know > really. Of course, that would require expertise in Apple native > libraries. Nevertheless it can be done by somebody. The hard part is > bundling a JRE into a form that can run in iOS app store, and also the > pass by the gatekeeper. > > On 9 October 2012 01:23, Tobias Bley wrote: >> John, many thanks for your post! I absolutely agree with you. JavaFX without real(!) crossplatform support on the major platforms is an absolutely MUST HAVE. I can't understand Oracles point of view ("we don't know if developers and companies have a real interested in JavaFX2 on mobile) too - that's unbelievable! >> >> John, please write to Richard Bair, he wants to know our opinion about this topic! >> >> Best, >> Tobi >> >> >> -- >> Tobias Bley >> Chief Executive Officer >> >> -------------------------------------------------------- >> >> UltraMixer Digital Audio Solutions >> Schillerstra?e 29 >> D-01326 Dresden >> Germany >> >> -------------------------------------------------------- >> bley at ultramixer.com http://www.ultramixer.com >> >> >> >> Am 09.10.2012 um 10:18 schrieb "John C. Turnbull" : >> >>> Hi Tobi, >>> >>> I realise it's not an official Oracle statement but that's part of the >>> problem; Oracle didn't make an official statement on this at JavaOne when I >>> suspect many people were hoping for one. In fact, I seem to remember a >>> session titled something like "JavaFX on iOS" was being tossed around for >>> possible inclusion in this year's JavaOne some time ago. >>> >>> It's blatantly clear that Java developers *crave* JavaFX on mobiles and yet >>> Oracle are waiting for clear commercial interest to justify such support? >>> As has been pointed out several times, JavaFX cannot be considered a success >>> if it is limited to the scope of the desktop and perhaps some embedded >>> devices. Many predict that the PC in its current form will largely >>> disappear in the next 5 years so where would that leave JavaFX? >>> >>> Java developers are largely passionate about their language and do not want >>> to learn Objective C or C# or whatever language is required on each device. >>> >>> In my opinion, being able to code in Java and deploy to Windows, Linux, >>> MacOS, iOS, Android, Metro etc. could propel JavaFX to amazing heights as >>> the best platform for client side software development on the planet. >>> Please Oracle, don't miss this enormous opportunity! What do we have to do >>> to convince you that this REALLY IS A GOOD IDEA? >>> >>> -jct >>> >>> -----Original Message----- >>> From: Tobias Bley [mailto:tobi at ultramixer.com] >>> Sent: Tuesday, 9 October 2012 18:10 >>> To: John C. Turnbull >>> Cc: openjfx-dev at openjdk.java.net >>> Subject: Re: No JavaFX for iOS, Android or WP - why not? >>> >>> Hi guys, >>> >>> first of all: that's not an official press release of Oracle... >>> >>> second: please take part of the current discussion on JavaFX forum about >>> "JavaFX on iOS, Android and Windows 8": >>> https://forums.oracle.com/forums/thread.jspa?threadID=2448461&tstart=0 >>> >>> Richard Bair there asked for developers and companies who have a real >>> (commercial) interested in using JavaFX on iOS.... So please please write >>> Richard an email to show him your real interested. >>> >>> Best regards, >>> Tobi >>> >>> blog.software4java.com >>> >>> >>> >>> Am 09.10.2012 um 08:24 schrieb "John C. Turnbull" : >>> >>>> I didn't have the pleasure of being at JavaOne but in a blog by Lucas >>>> Jellema (and retweeted by Nicolas Lorain) the following is stated: >>>> >>>> >>>> >>>> "JavaFX is no longer intended for use on SmartPhones. The iPhone, >>>> Android and Windows Mobile phones are provided by the respective >>>> platforms, there is no room there for JavaFX. JavaFX is targeted at >>>> the desktop to replace Swing and at smaller devices that run embedded >>> Java." >>>> >>>> >>>> >>>> This is extremely disappointing especially after having seen demos of >>>> JavaFX running on iOS and Android devices. >>>> >>>> >>>> >>>> Can someone explain why this decision has been made? >>>> >>>> >>>> >>>> Thanks, >>>> >>>> >>>> >>>> -jct >>>> >>> >> > > > > -- > Peter Pilgrim, > **Java Champion**, > Java EE Software Development / Design / Architect for financial > services, London, UK > > JavaFX ++ Scala ++ Groovy ++ Android ++ Java > > :: http://www.xenonique.co.uk/blog/ :: > :: http://twitter.com/peter_pilgrim :: > :: http://audio.fm/profile/peter_pilgrim :: > :: Skype Call peter_pilgrim :: > :: http://java-champions.java.net/ :: From michael.heinrichs at oracle.com Tue Oct 9 05:19:59 2012 From: michael.heinrichs at oracle.com (Michael Heinrichs) Date: Tue, 9 Oct 2012 14:19:59 +0200 Subject: property improvement suggestion In-Reply-To: <50730880.6080307@tbee.org> References: <50712B02.8040306@tbee.org> <8307B987-CFEB-4BC3-AE6B-057F4DED07C0@oracle.com> <50730880.6080307@tbee.org> Message-ID: <28B1593F-CE88-4387-9193-C34502E29FDE@oracle.com> Hi Tom, in my opinion your first case is already covered by the Binding API itself. The Binding API allows you to define all kind of expressions. For the most common ones there are methods in the JavaFX library and you can always add your own implementation. E.g. you could rewrite your example like this: appointment.duration().bind( when(area.height().greaterThan(0)) .then(area.height().multiply(pixelToSecondsFactor)) .otherwise(0)); If possible, we should avoid a new concept to express something that could be expressed straightforward using an existing concepts. Adding a new concept increases the complexity tremendously, because you have to understand how the new concept works with all possible combinations of existing concepts. What I would suggest instead is to think about additions to the Binding API that make your code easier. Maybe we should add clampTo(min, max) to NumberExpression, so that you could write area.height().multiply(pixelToSecondsFactor).clampTo(0, Integer.MAX) Looking at your other examples for further ideas, maybe we need to add a otherwiseWhen() method to write something like when().then().otherwiseWhen().then().otherwise(). Maybe we need switch-case within bindings. Do you have any examples of constraints that can not be covered by the binding API or some small addition to it? - Michael On 08.10.2012, at 19:08, Tom Eugelink wrote: > Hmmmm, not sure we are on the same line here. The essence of the proposal is that the user of a property can specify a constraint. Let's see how I can make a good argument for this. > > There are two angles. The first being the binding; I recently recoded my Agenda (Google Calendar) control to use binding and really liked that, but I ran into some omissions IMHO. Suppose I bind an appointment height to the duration of the appointment. So, basically you get something like: > > appointment.duration().bind(area.height().multiply(pixelToSecondsFactor)); > > A UI feature is that the user can resize an area by dragging the end time (bottom of the rectangle) with the mouse. Theoretically he can drag the mouse above the start time, resulting in a negative height. The binding will then result in a negative duration, and that is something I do not want. The problem is that I am not the owner of the appointment (it comes from the business model), nor the owner of the area (it's a rectangle; and even if I extend Rectangle, I cannot extend the height property). So I need a way to prevent that situation to occur, because the BM code handling the appointment will never expect a negative duration, or an end time that falls before the start time (the constraints of the BM entity :-). > > Because the binding allows calculation, it almost requires constraints, or a decent hook system. Or I must find a way to get a man-in-the-middle setup (I did that with JGoodies binding), but native constraints are better. > > The second angle is that the properties concept is a powerful one, and I expect them to become popular in none JavaFX contexts as well. Formal properties is something the community have been begging for for a long time. These other context, say a mortgage business model, may be less lenient towards the possible values a property can have and require a strict handling of the values, and maybe (yes) throw exceptions. Further more these constraints may be fairly complex, so a simple "if a then b" might not cut it. So if we're contemplating constraints, then let's look at the bigger picture. > > Now, I'm not knowledgable enough on the implementation that I can discuss the implementation details, but I understand the problem of the lazy binding your describing. Maybe, in light of the bigger picture, eager bindings are important. I only know that being able to hook into binding to make sure a value never goes out of range, both directly on a property (as a permanent constraint) or inside a binding chain (as a local constraint), seems like a very natural thing. > > Tom > > > > On 2012-10-08 16:26, Richard Bair wrote: >> It looks like there are two elements of this proposal. The first is that the author of a bean might want to specify some inherent constraint >> on the property -- such as, it should never be null, or it should never be negative. The second is that a user of the property might want to constrain the property in some way -- such as, in my app the width should never be negative. >> >> I see the value immediately in the first (in fact, this has always been a problem with our properties, going all the way back to JavaFX Script), but I struggle to see much value in the second. Not because you might not want to do this sort of thing, but because the first (inherent constraints) is not presently possible at all, while the second (app constraints) you can already do in your application code, one way or another. I am inclined not to add API for cases that are already solvable, unless it turns out to be so compelling and widely used. >> >> From a semantic point of view, binding was a "mathematical" relationship between two properties in JavaFX Script, such that when you read code like: >> >> x: bind 10 * someProperty >> >> you new that "x" was going to be 10 * someProperty, and not anything else. Of course as an API designer I have never liked that because I have to handle exceptional conditions in my code rather than being able to verify that a property can never go outside its valid range of values. >> >> I am pleased to see your proposal doesn't include throwing exceptions -- I think throwing an exception from a property on invalid input is a very bad idea. The problem is in lazy evaluation of properties. Suppose: >> >> widthProperty().bind(someProperty) >> >> Further suppose width is constrained to never be < 0, and somebody were to try to set it to be < 0 it would throw an exception. In this case, someProperty might be set to -10 at some time, and the width property is invalidated. But until somebody tries to read width, it won't throw the exception. So the problem with bound properties & exceptions is that the exception is not thrown at the time the error is introduced, but rather at the time the error is discovered, which turns out to be an awful behavior. >> >> However your proposal instead says "if it is outside the allowable range, I will just adjust the value to keep it within the allowable range". I think this is a really good idea. The property implementations would have to be modified such that on read, instead of: >> >> /** >> * {@inheritDoc} >> */ >> @Override >> public boolean get() { >> valid = true; >> return observable == null ? value : observable.get(); >> } >> >> we instead do something like: >> >> /** >> * {@inheritDoc} >> */ >> @Override >> public boolean get() { >> if (!valid && observable != null) { >> value = constrain(observable.get()); >> } >> valid = true; >> return observable == null ? value : observable.get(); >> } >> >> >> And add a protected 'constrain' method. Or perhaps we can just call the "set" method and let the set method deal with constraining. This would require taking some care, however, because it means set methods will now be called even when the property is bound which is different than at present, and calling super.set() would throw an exception in the case that it is bound. But still, as a Java developer I'm used to doing constraining from within the setter, so doing it inside the set seems the most natural, but this would be an area that needs to be figured out. >> >> Richard >> >> On Oct 7, 2012, at 12:10 AM, Tom Eugelink wrote: >> >>> As far as I understand, the current the approach is that properties should accept any value, and the usage of these properties have to work with that. Personally I'm prefer a different approach, because I feel the responsibility to have sensible values should be constrained to one place. Therefore I often override the set method of my properties to make sure the value is within the range that my remaining code expect it to be; either by throwing an exception or by clamping the value to a range. >>> >>> But this I can only do with my own properties. It would be nice to also do this to existing properties and therefor I would like to suggest to extend the property concept with constraints or conditions. The important point being that these constraints are applied before the value is set, and not (like a change listener approach) afterwards and then correct value; a value should never be outside it allowed range. >>> >>> The constraints or conditions could have an if-then structure: if value < 0 then 0. An example in Java 8 lambda notation: >>> someNode.widthProperty().*constraint*( w -> w < 0, 0); >>> >>> This would also be something relevant to binding, especially when doing calculations: >>> someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*constraint*( w -> w < 0, 0) ); >>> >>> There is a difference between a permanent constraint on the property and a constraint only applicable to a binding. The notation above is is too similar to my taste and too easily a binding constraint can become a property constaint. To make this difference more explicit, the word "if" could be better on binding: >>> someNode.widthProperty().*constraint*( w -> w < 0, 0); >>> someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*if*( w -> w < 0, 0) ); >>> >>> Something to think about is how far these constraints should be taken. These are simple if-then constraints. But what if "else", "elsif" constructions or "case" statements are needed to express the range? In order to keep all options open, maybe the best approach would be to provide constraining listeners. A constraining listener would get the to-be-set value as a parameter and return the new value. For example: >>> >>> widthProperty.addConstrainingListener( v -> { if (v < 0.0) return 0.0; return v; } ); >>> >>> or in normal notation: >>> >>> widthProperty.addConstrainingListener( new ConstaintListener() { >>> public Double constaint(Double value) { >>> if (value < 0.0) return 0.0; >>> return value; >>> } >>> }); >>> >>> (NB: I'm not sure how to use Java 8 lambda with the addListener method, differentiating between a change, invalidation and constraint listener.) >>> >>> This constraining listener approach would allow for all scenario's to be handled. So that is the final improvement I would like to suggest: constrainting listeners. >>> someNode.widthProperty().*constraint*( v -> { if (v < 0.0) return 0.0; return v; } ); >>> someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*if*( v -> { if (v < 0.0) return 0.0; return v; } ) ); >>> >>> And if possible normal constraints, because that is a easier notation. >>> >>> I'd like to hear if I'm making sense or am missing the ball completely. >>> >>> Tom > From tbee at tbee.org Tue Oct 9 05:58:07 2012 From: tbee at tbee.org (Tom Eugelink) Date: Tue, 09 Oct 2012 14:58:07 +0200 Subject: property improvement suggestion In-Reply-To: <28B1593F-CE88-4387-9193-C34502E29FDE@oracle.com> References: <50712B02.8040306@tbee.org> <8307B987-CFEB-4BC3-AE6B-057F4DED07C0@oracle.com> <50730880.6080307@tbee.org> <28B1593F-CE88-4387-9193-C34502E29FDE@oracle.com> Message-ID: <50741F5F.3050006@tbee.org> Aha. I did not know that "when" existed. I'm sorry, an oversight. That indeed covers the whole constraint part of binding, a clamp and otherwiseWhen would indeed be nice additions. Leaves the situation where it is preferable to set constraints on the property instead of having to repeat it in every binding. I'll see if I run into any other situations. Tom On 2012-10-09 14:19, Michael Heinrichs wrote: > Hi Tom, > > in my opinion your first case is already covered by the Binding API itself. The Binding API allows you to define all kind of expressions. For the most common ones there are methods in the JavaFX library and you can always add your own implementation. E.g. you could rewrite your example like this: > > appointment.duration().bind( > when(area.height().greaterThan(0)) > .then(area.height().multiply(pixelToSecondsFactor)) > .otherwise(0)); > > If possible, we should avoid a new concept to express something that could be expressed straightforward using an existing concepts. Adding a new concept increases the complexity tremendously, because you have to understand how the new concept works with all possible combinations of existing concepts. > > What I would suggest instead is to think about additions to the Binding API that make your code easier. Maybe we should add clampTo(min, max) to NumberExpression, so that you could write > > area.height().multiply(pixelToSecondsFactor).clampTo(0, Integer.MAX) > > Looking at your other examples for further ideas, maybe we need to add a otherwiseWhen() method to write something like when().then().otherwiseWhen().then().otherwise(). Maybe we need switch-case within bindings. > > Do you have any examples of constraints that can not be covered by the binding API or some small addition to it? > > - Michael > > > > > On 08.10.2012, at 19:08, Tom Eugelink wrote: > >> Hmmmm, not sure we are on the same line here. The essence of the proposal is that the user of a property can specify a constraint. Let's see how I can make a good argument for this. >> >> There are two angles. The first being the binding; I recently recoded my Agenda (Google Calendar) control to use binding and really liked that, but I ran into some omissions IMHO. Suppose I bind an appointment height to the duration of the appointment. So, basically you get something like: >> >> appointment.duration().bind(area.height().multiply(pixelToSecondsFactor)); >> >> A UI feature is that the user can resize an area by dragging the end time (bottom of the rectangle) with the mouse. Theoretically he can drag the mouse above the start time, resulting in a negative height. The binding will then result in a negative duration, and that is something I do not want. The problem is that I am not the owner of the appointment (it comes from the business model), nor the owner of the area (it's a rectangle; and even if I extend Rectangle, I cannot extend the height property). So I need a way to prevent that situation to occur, because the BM code handling the appointment will never expect a negative duration, or an end time that falls before the start time (the constraints of the BM entity :-). >> >> Because the binding allows calculation, it almost requires constraints, or a decent hook system. Or I must find a way to get a man-in-the-middle setup (I did that with JGoodies binding), but native constraints are better. >> >> The second angle is that the properties concept is a powerful one, and I expect them to become popular in none JavaFX contexts as well. Formal properties is something the community have been begging for for a long time. These other context, say a mortgage business model, may be less lenient towards the possible values a property can have and require a strict handling of the values, and maybe (yes) throw exceptions. Further more these constraints may be fairly complex, so a simple "if a then b" might not cut it. So if we're contemplating constraints, then let's look at the bigger picture. >> >> Now, I'm not knowledgable enough on the implementation that I can discuss the implementation details, but I understand the problem of the lazy binding your describing. Maybe, in light of the bigger picture, eager bindings are important. I only know that being able to hook into binding to make sure a value never goes out of range, both directly on a property (as a permanent constraint) or inside a binding chain (as a local constraint), seems like a very natural thing. >> >> Tom >> >> >> >> On 2012-10-08 16:26, Richard Bair wrote: >>> It looks like there are two elements of this proposal. The first is that the author of a bean might want to specify some inherent constraint >>> on the property -- such as, it should never be null, or it should never be negative. The second is that a user of the property might want to constrain the property in some way -- such as, in my app the width should never be negative. >>> >>> I see the value immediately in the first (in fact, this has always been a problem with our properties, going all the way back to JavaFX Script), but I struggle to see much value in the second. Not because you might not want to do this sort of thing, but because the first (inherent constraints) is not presently possible at all, while the second (app constraints) you can already do in your application code, one way or another. I am inclined not to add API for cases that are already solvable, unless it turns out to be so compelling and widely used. >>> >>> From a semantic point of view, binding was a "mathematical" relationship between two properties in JavaFX Script, such that when you read code like: >>> >>> x: bind 10 * someProperty >>> >>> you new that "x" was going to be 10 * someProperty, and not anything else. Of course as an API designer I have never liked that because I have to handle exceptional conditions in my code rather than being able to verify that a property can never go outside its valid range of values. >>> >>> I am pleased to see your proposal doesn't include throwing exceptions -- I think throwing an exception from a property on invalid input is a very bad idea. The problem is in lazy evaluation of properties. Suppose: >>> >>> widthProperty().bind(someProperty) >>> >>> Further suppose width is constrained to never be < 0, and somebody were to try to set it to be < 0 it would throw an exception. In this case, someProperty might be set to -10 at some time, and the width property is invalidated. But until somebody tries to read width, it won't throw the exception. So the problem with bound properties & exceptions is that the exception is not thrown at the time the error is introduced, but rather at the time the error is discovered, which turns out to be an awful behavior. >>> >>> However your proposal instead says "if it is outside the allowable range, I will just adjust the value to keep it within the allowable range". I think this is a really good idea. The property implementations would have to be modified such that on read, instead of: >>> >>> /** >>> * {@inheritDoc} >>> */ >>> @Override >>> public boolean get() { >>> valid = true; >>> return observable == null ? value : observable.get(); >>> } >>> >>> we instead do something like: >>> >>> /** >>> * {@inheritDoc} >>> */ >>> @Override >>> public boolean get() { >>> if (!valid && observable != null) { >>> value = constrain(observable.get()); >>> } >>> valid = true; >>> return observable == null ? value : observable.get(); >>> } >>> >>> >>> And add a protected 'constrain' method. Or perhaps we can just call the "set" method and let the set method deal with constraining. This would require taking some care, however, because it means set methods will now be called even when the property is bound which is different than at present, and calling super.set() would throw an exception in the case that it is bound. But still, as a Java developer I'm used to doing constraining from within the setter, so doing it inside the set seems the most natural, but this would be an area that needs to be figured out. >>> >>> Richard >>> >>> On Oct 7, 2012, at 12:10 AM, Tom Eugelink wrote: >>> >>>> As far as I understand, the current the approach is that properties should accept any value, and the usage of these properties have to work with that. Personally I'm prefer a different approach, because I feel the responsibility to have sensible values should be constrained to one place. Therefore I often override the set method of my properties to make sure the value is within the range that my remaining code expect it to be; either by throwing an exception or by clamping the value to a range. >>>> >>>> But this I can only do with my own properties. It would be nice to also do this to existing properties and therefor I would like to suggest to extend the property concept with constraints or conditions. The important point being that these constraints are applied before the value is set, and not (like a change listener approach) afterwards and then correct value; a value should never be outside it allowed range. >>>> >>>> The constraints or conditions could have an if-then structure: if value < 0 then 0. An example in Java 8 lambda notation: >>>> someNode.widthProperty().*constraint*( w -> w < 0, 0); >>>> >>>> This would also be something relevant to binding, especially when doing calculations: >>>> someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*constraint*( w -> w < 0, 0) ); >>>> >>>> There is a difference between a permanent constraint on the property and a constraint only applicable to a binding. The notation above is is too similar to my taste and too easily a binding constraint can become a property constaint. To make this difference more explicit, the word "if" could be better on binding: >>>> someNode.widthProperty().*constraint*( w -> w < 0, 0); >>>> someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*if*( w -> w < 0, 0) ); >>>> >>>> Something to think about is how far these constraints should be taken. These are simple if-then constraints. But what if "else", "elsif" constructions or "case" statements are needed to express the range? In order to keep all options open, maybe the best approach would be to provide constraining listeners. A constraining listener would get the to-be-set value as a parameter and return the new value. For example: >>>> >>>> widthProperty.addConstrainingListener( v -> { if (v < 0.0) return 0.0; return v; } ); >>>> >>>> or in normal notation: >>>> >>>> widthProperty.addConstrainingListener( new ConstaintListener() { >>>> public Double constaint(Double value) { >>>> if (value < 0.0) return 0.0; >>>> return value; >>>> } >>>> }); >>>> >>>> (NB: I'm not sure how to use Java 8 lambda with the addListener method, differentiating between a change, invalidation and constraint listener.) >>>> >>>> This constraining listener approach would allow for all scenario's to be handled. So that is the final improvement I would like to suggest: constrainting listeners. >>>> someNode.widthProperty().*constraint*( v -> { if (v < 0.0) return 0.0; return v; } ); >>>> someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*if*( v -> { if (v < 0.0) return 0.0; return v; } ) ); >>>> >>>> And if possible normal constraints, because that is a easier notation. >>>> >>>> I'd like to hear if I'm making sense or am missing the ball completely. >>>> >>>> Tom From kirill.prazdnikov at oracle.com Tue Oct 9 06:42:35 2012 From: kirill.prazdnikov at oracle.com (Kirill.Prazdnikov) Date: Tue, 09 Oct 2012 17:42:35 +0400 Subject: 3D Features Planned for Version 8 In-Reply-To: <5073D7BC.9030802@oracle.com> References: <506F0DDD.9060708@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D221601A2294A@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <5073D7BC.9030802@oracle.com> Message-ID: <507429CB.3090105@oracle.com> Hi John, all, This questions are very interesting. FX8 will be very soon. Due to very limited time-frame, only fixed material will be implemented in FX8. Custom material is a nice subject to discussion. Which graphics shader language you think would be best ? -Kirill On 09.10.2012 11:52, Chien Yang wrote: > Hi John, > > Good questions. We have evaluated both user subclassing of Material > and custom shader during our 3D features meeting. They do not belong > to the "must have" list in our use case study, and they require > certain design tradeoff and investment work that we aren't ready to > commit for JavaFX 8. > > - Chien > > On 10/8/2012 3:30 PM, John Smith wrote: >> Thanks for making the info public Chien. >> >> 1. Will I be able to subclass Material to create my own material >> types? >> 2. If so, what could I reasonably expect these custom Materials to >> be capable of? >> 3. Will I be able to create custom shaders which make use of the >> shading hardware on the GPU? And if so, how would this be done? >> >> I think you would be able to implement a wide variety of 3D related >> use cases in JavaFX 3D if it provided a clean API with a similar >> feature set (and ease of use) to the three.js library: >> http://en.wikipedia.org/wiki/Three.js#Features >> http://aerotwist.com/tutorials/ >> In providing such a feature set, a JavaFX 3D API would at appear to >> be feature comparable to WebGL, which I think is one of the >> comparison points that somebody evaluating the API would have. The >> planned features on the wiki go a fair way towards implementing a lot >> of the base functionality required to make this happen. Obviously, a >> complete implementation of such a feature set is not in scope for >> JDK8, but it would be interesting to know what is planned for the >> future with regards to JavaFX and 3D. >> >> Regards, >> John >> >> -----Original Message----- >> From: openjfx-dev-bounces at openjdk.java.net >> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Chien Yang >> Sent: Friday, October 05, 2012 9:42 AM >> To: OpenJFX >> Subject: 3D Features Planned for Version 8 >> >> Hi all, >> >> We have been thinking about the possible 3D features for JavaFX 8 for >> a while. We are now ready to present the plan to the community for >> review. >> This information has also been presented at this year's JavaOne "3D >> Made Easy with JavaFX" technical session. >> >> https://wikis.oracle.com/display/OpenJDK/3D+Features >> >> Please let us know if you have any suggestions or concerns. >> >> Regards, >> >> - Chien Yang >> JavaFX Graphics Team > From goddard at seznam.cz Tue Oct 9 06:46:25 2012 From: goddard at seznam.cz (goddard at seznam.cz) Date: Tue, 09 Oct 2012 15:46:25 +0200 (CEST) Subject: =?us-ascii?Q?Re=3A=20Re=3A=203D=20Features=20Planned=20for=20Version=208?= In-Reply-To: <507429CB.3090105@oracle.com> Message-ID: <135920.15640.48859-4620-2090426637-1349790385@seznam.cz> JSL, if it's still in place, usable and documented. If not, it's GLSL then. Jiri ------------ P?vodn? zpr?va ------------ Od: Kirill.Prazdnikov P?edm?t: Re: 3D Features Planned for Version 8 Datum: 09.10.2012 15:44:52 ---------------------------------------- Hi John, all, This questions are very interesting. FX8 will be very soon. Due to very limited time-frame, only fixed material will be implemented in FX8. Custom material is a nice subject to discussion. Which graphics shader language you think would be best ? -Kirill On 09.10.2012 11:52, Chien Yang wrote: > Hi John, > > Good questions. We have evaluated both user subclassing of Material > and custom shader during our 3D features meeting. They do not belong > to the "must have" list in our use case study, and they require > certain design tradeoff and investment work that we aren't ready to > commit for JavaFX 8. > > - Chien > > On 10/8/2012 3:30 PM, John Smith wrote: >> Thanks for making the info public Chien. >> >> 1. Will I be able to subclass Material to create my own material >> types? >> 2. If so, what could I reasonably expect these custom Materials to >> be capable of? >> 3. Will I be able to create custom shaders which make use of the >> shading hardware on the GPU? And if so, how would this be done? >> >> I think you would be able to implement a wide variety of 3D related >> use cases in JavaFX 3D if it provided a clean API with a similar >> feature set (and ease of use) to the three.js library: >> http://en.wikipedia.org/wiki/Three.js#Features >> http://aerotwist.com/tutorials/ >> In providing such a feature set, a JavaFX 3D API would at appear to >> be feature comparable to WebGL, which I think is one of the >> comparison points that somebody evaluating the API would have. The >> planned features on the wiki go a fair way towards implementing a lot >> of the base functionality required to make this happen. Obviously, a >> complete implementation of such a feature set is not in scope for >> JDK8, but it would be interesting to know what is planned for the >> future with regards to JavaFX and 3D. >> >> Regards, >> John >> >> -----Original Message----- >> From: openjfx-dev-bounces at openjdk.java.net >> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Chien Yang >> Sent: Friday, October 05, 2012 9:42 AM >> To: OpenJFX >> Subject: 3D Features Planned for Version 8 >> >> Hi all, >> >> We have been thinking about the possible 3D features for JavaFX 8 for >> a while. We are now ready to present the plan to the community for >> review. >> This information has also been presented at this year's JavaOne "3D >> Made Easy with JavaFX" technical session. >> >> https://wikis.oracle.com/display/OpenJDK/3D+Features >> >> Please let us know if you have any suggestions or concerns. >> >> Regards, >> >> - Chien Yang >> JavaFX Graphics Team > From zonski at gmail.com Tue Oct 9 07:01:35 2012 From: zonski at gmail.com (Daniel Zwolenski) Date: Wed, 10 Oct 2012 01:01:35 +1100 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> Message-ID: <43734010-3906-4067-B759-F06EA56A0DFD@gmail.com> https://forums.oracle.com/forums/message.jspa?messageID=10623319#10623319 Community minus 1 from me if this issue goes the way it's going. The make or break issue has always been and will always be deployment and that includes desktop and mobile. After a year or two making noise about this we're going backwards. Anyone remember why Java became so popular? Remember write-once-run-anywhere? Now it's write once, go through as much build hassles as an old fashioned c++ app for each platform (and variant) and run on even less platforms than c++ will work on. Can't decide if I'm more frustrated, angry or sad. On 09/10/2012, at 10:25 PM, Tobias Bley wrote: > There are two steps to go: > > 1. Porting Prism/glass to iOS > 2. use AOT compiler > > Both steps were finished in 2011 yet (http://java.dzone.com/articles/javaone-2011-javafx-20) > > > > > > > Am 09.10.2012 um 13:11 schrieb Peter Pilgrim : > >> Hi >> >> On the other hand, the whole of JavaFX is going to be open sourced by 2013. >> So what it stopping someone porting the lower architecture to iOS? >> Therefore one strategy is to wait until the open source is there and >> then port it and write the bridging layer between Java and native >> Apple libraries, which I guess would be Objective C. I don't know >> really. Of course, that would require expertise in Apple native >> libraries. Nevertheless it can be done by somebody. The hard part is >> bundling a JRE into a form that can run in iOS app store, and also the >> pass by the gatekeeper. >> >> On 9 October 2012 01:23, Tobias Bley wrote: >>> John, many thanks for your post! I absolutely agree with you. JavaFX without real(!) crossplatform support on the major platforms is an absolutely MUST HAVE. I can't understand Oracles point of view ("we don't know if developers and companies have a real interested in JavaFX2 on mobile) too - that's unbelievable! >>> >>> John, please write to Richard Bair, he wants to know our opinion about this topic! >>> >>> Best, >>> Tobi >>> >>> >>> -- >>> Tobias Bley >>> Chief Executive Officer >>> >>> -------------------------------------------------------- >>> >>> UltraMixer Digital Audio Solutions >>> Schillerstra?e 29 >>> D-01326 Dresden >>> Germany >>> >>> -------------------------------------------------------- >>> bley at ultramixer.com http://www.ultramixer.com >>> >>> >>> >>> Am 09.10.2012 um 10:18 schrieb "John C. Turnbull" : >>> >>>> Hi Tobi, >>>> >>>> I realise it's not an official Oracle statement but that's part of the >>>> problem; Oracle didn't make an official statement on this at JavaOne when I >>>> suspect many people were hoping for one. In fact, I seem to remember a >>>> session titled something like "JavaFX on iOS" was being tossed around for >>>> possible inclusion in this year's JavaOne some time ago. >>>> >>>> It's blatantly clear that Java developers *crave* JavaFX on mobiles and yet >>>> Oracle are waiting for clear commercial interest to justify such support? >>>> As has been pointed out several times, JavaFX cannot be considered a success >>>> if it is limited to the scope of the desktop and perhaps some embedded >>>> devices. Many predict that the PC in its current form will largely >>>> disappear in the next 5 years so where would that leave JavaFX? >>>> >>>> Java developers are largely passionate about their language and do not want >>>> to learn Objective C or C# or whatever language is required on each device. >>>> >>>> In my opinion, being able to code in Java and deploy to Windows, Linux, >>>> MacOS, iOS, Android, Metro etc. could propel JavaFX to amazing heights as >>>> the best platform for client side software development on the planet. >>>> Please Oracle, don't miss this enormous opportunity! What do we have to do >>>> to convince you that this REALLY IS A GOOD IDEA? >>>> >>>> -jct >>>> >>>> -----Original Message----- >>>> From: Tobias Bley [mailto:tobi at ultramixer.com] >>>> Sent: Tuesday, 9 October 2012 18:10 >>>> To: John C. Turnbull >>>> Cc: openjfx-dev at openjdk.java.net >>>> Subject: Re: No JavaFX for iOS, Android or WP - why not? >>>> >>>> Hi guys, >>>> >>>> first of all: that's not an official press release of Oracle... >>>> >>>> second: please take part of the current discussion on JavaFX forum about >>>> "JavaFX on iOS, Android and Windows 8": >>>> https://forums.oracle.com/forums/thread.jspa?threadID=2448461&tstart=0 >>>> >>>> Richard Bair there asked for developers and companies who have a real >>>> (commercial) interested in using JavaFX on iOS.... So please please write >>>> Richard an email to show him your real interested. >>>> >>>> Best regards, >>>> Tobi >>>> >>>> blog.software4java.com >>>> >>>> >>>> >>>> Am 09.10.2012 um 08:24 schrieb "John C. Turnbull" : >>>> >>>>> I didn't have the pleasure of being at JavaOne but in a blog by Lucas >>>>> Jellema (and retweeted by Nicolas Lorain) the following is stated: >>>>> >>>>> >>>>> >>>>> "JavaFX is no longer intended for use on SmartPhones. The iPhone, >>>>> Android and Windows Mobile phones are provided by the respective >>>>> platforms, there is no room there for JavaFX. JavaFX is targeted at >>>>> the desktop to replace Swing and at smaller devices that run embedded >>>> Java." >>>>> >>>>> >>>>> >>>>> This is extremely disappointing especially after having seen demos of >>>>> JavaFX running on iOS and Android devices. >>>>> >>>>> >>>>> >>>>> Can someone explain why this decision has been made? >>>>> >>>>> >>>>> >>>>> Thanks, >>>>> >>>>> >>>>> >>>>> -jct >>>>> >>>> >>> >> >> >> >> -- >> Peter Pilgrim, >> **Java Champion**, >> Java EE Software Development / Design / Architect for financial >> services, London, UK >> >> JavaFX ++ Scala ++ Groovy ++ Android ++ Java >> >> :: http://www.xenonique.co.uk/blog/ :: >> :: http://twitter.com/peter_pilgrim :: >> :: http://audio.fm/profile/peter_pilgrim :: >> :: Skype Call peter_pilgrim :: >> :: http://java-champions.java.net/ :: > From tobi at ultramixer.com Tue Oct 9 07:06:14 2012 From: tobi at ultramixer.com (Tobias Bley) Date: Tue, 9 Oct 2012 16:06:14 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <43734010-3906-4067-B759-F06EA56A0DFD@gmail.com> References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> <43734010-3906-4067-B759-F06EA56A0DFD@gmail.com> Message-ID: We all don't know the official Oracle plan! But IMO the kind of communication of Oracle (we say nothing) is the real pain...sorry. Am 09.10.2012 um 16:01 schrieb Daniel Zwolenski : > https://forums.oracle.com/forums/message.jspa?messageID=10623319#10623319 > > Community minus 1 from me if this issue goes the way it's going. The make or break issue has always been and will always be deployment and that includes desktop and mobile. After a year or two making noise about this we're going backwards. > > Anyone remember why Java became so popular? Remember write-once-run-anywhere? Now it's write once, go through as much build hassles as an old fashioned c++ app for each platform (and variant) and run on even less platforms than c++ will work on. > > Can't decide if I'm more frustrated, angry or sad. > > > > On 09/10/2012, at 10:25 PM, Tobias Bley wrote: > >> There are two steps to go: >> >> 1. Porting Prism/glass to iOS >> 2. use AOT compiler >> >> Both steps were finished in 2011 yet (http://java.dzone.com/articles/javaone-2011-javafx-20) >> >> >> >> >> >> >> Am 09.10.2012 um 13:11 schrieb Peter Pilgrim : >> >>> Hi >>> >>> On the other hand, the whole of JavaFX is going to be open sourced by 2013. >>> So what it stopping someone porting the lower architecture to iOS? >>> Therefore one strategy is to wait until the open source is there and >>> then port it and write the bridging layer between Java and native >>> Apple libraries, which I guess would be Objective C. I don't know >>> really. Of course, that would require expertise in Apple native >>> libraries. Nevertheless it can be done by somebody. The hard part is >>> bundling a JRE into a form that can run in iOS app store, and also the >>> pass by the gatekeeper. >>> >>> On 9 October 2012 01:23, Tobias Bley wrote: >>>> John, many thanks for your post! I absolutely agree with you. JavaFX without real(!) crossplatform support on the major platforms is an absolutely MUST HAVE. I can't understand Oracles point of view ("we don't know if developers and companies have a real interested in JavaFX2 on mobile) too - that's unbelievable! >>>> >>>> John, please write to Richard Bair, he wants to know our opinion about this topic! >>>> >>>> Best, >>>> Tobi >>>> >>>> >>>> -- >>>> Tobias Bley >>>> Chief Executive Officer >>>> >>>> -------------------------------------------------------- >>>> >>>> UltraMixer Digital Audio Solutions >>>> Schillerstra?e 29 >>>> D-01326 Dresden >>>> Germany >>>> >>>> -------------------------------------------------------- >>>> bley at ultramixer.com http://www.ultramixer.com >>>> >>>> >>>> >>>> Am 09.10.2012 um 10:18 schrieb "John C. Turnbull" : >>>> >>>>> Hi Tobi, >>>>> >>>>> I realise it's not an official Oracle statement but that's part of the >>>>> problem; Oracle didn't make an official statement on this at JavaOne when I >>>>> suspect many people were hoping for one. In fact, I seem to remember a >>>>> session titled something like "JavaFX on iOS" was being tossed around for >>>>> possible inclusion in this year's JavaOne some time ago. >>>>> >>>>> It's blatantly clear that Java developers *crave* JavaFX on mobiles and yet >>>>> Oracle are waiting for clear commercial interest to justify such support? >>>>> As has been pointed out several times, JavaFX cannot be considered a success >>>>> if it is limited to the scope of the desktop and perhaps some embedded >>>>> devices. Many predict that the PC in its current form will largely >>>>> disappear in the next 5 years so where would that leave JavaFX? >>>>> >>>>> Java developers are largely passionate about their language and do not want >>>>> to learn Objective C or C# or whatever language is required on each device. >>>>> >>>>> In my opinion, being able to code in Java and deploy to Windows, Linux, >>>>> MacOS, iOS, Android, Metro etc. could propel JavaFX to amazing heights as >>>>> the best platform for client side software development on the planet. >>>>> Please Oracle, don't miss this enormous opportunity! What do we have to do >>>>> to convince you that this REALLY IS A GOOD IDEA? >>>>> >>>>> -jct >>>>> >>>>> -----Original Message----- >>>>> From: Tobias Bley [mailto:tobi at ultramixer.com] >>>>> Sent: Tuesday, 9 October 2012 18:10 >>>>> To: John C. Turnbull >>>>> Cc: openjfx-dev at openjdk.java.net >>>>> Subject: Re: No JavaFX for iOS, Android or WP - why not? >>>>> >>>>> Hi guys, >>>>> >>>>> first of all: that's not an official press release of Oracle... >>>>> >>>>> second: please take part of the current discussion on JavaFX forum about >>>>> "JavaFX on iOS, Android and Windows 8": >>>>> https://forums.oracle.com/forums/thread.jspa?threadID=2448461&tstart=0 >>>>> >>>>> Richard Bair there asked for developers and companies who have a real >>>>> (commercial) interested in using JavaFX on iOS.... So please please write >>>>> Richard an email to show him your real interested. >>>>> >>>>> Best regards, >>>>> Tobi >>>>> >>>>> blog.software4java.com >>>>> >>>>> >>>>> >>>>> Am 09.10.2012 um 08:24 schrieb "John C. Turnbull" : >>>>> >>>>>> I didn't have the pleasure of being at JavaOne but in a blog by Lucas >>>>>> Jellema (and retweeted by Nicolas Lorain) the following is stated: >>>>>> >>>>>> >>>>>> >>>>>> "JavaFX is no longer intended for use on SmartPhones. The iPhone, >>>>>> Android and Windows Mobile phones are provided by the respective >>>>>> platforms, there is no room there for JavaFX. JavaFX is targeted at >>>>>> the desktop to replace Swing and at smaller devices that run embedded >>>>> Java." >>>>>> >>>>>> >>>>>> >>>>>> This is extremely disappointing especially after having seen demos of >>>>>> JavaFX running on iOS and Android devices. >>>>>> >>>>>> >>>>>> >>>>>> Can someone explain why this decision has been made? >>>>>> >>>>>> >>>>>> >>>>>> Thanks, >>>>>> >>>>>> >>>>>> >>>>>> -jct >>>>>> >>>>> >>>> >>> >>> >>> >>> -- >>> Peter Pilgrim, >>> **Java Champion**, >>> Java EE Software Development / Design / Architect for financial >>> services, London, UK >>> >>> JavaFX ++ Scala ++ Groovy ++ Android ++ Java >>> >>> :: http://www.xenonique.co.uk/blog/ :: >>> :: http://twitter.com/peter_pilgrim :: >>> :: http://audio.fm/profile/peter_pilgrim :: >>> :: Skype Call peter_pilgrim :: >>> :: http://java-champions.java.net/ :: >> From kevin.rushforth at oracle.com Tue Oct 9 07:10:25 2012 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 09 Oct 2012 07:10:25 -0700 Subject: 3D Features Planned for Version 8 In-Reply-To: <135920.15640.48859-4620-2090426637-1349790385@seznam.cz> References: <135920.15640.48859-4620-2090426637-1349790385@seznam.cz> Message-ID: <50743051.1040407@oracle.com> GLSL is not an option unless we provide a translator to HLSL. Additionally, there are some challenges in providing full access to shaders given that Prism internally uses shaders during the rendering. One possibility is to allow users to provide a portion of the shader with well-defined inputs and outputs which can be linked in with our shaders, but this is definitely out of scope for FX 8. As interesting as the topic is, it will be more productive to discuss it when we are ready to start thinking about the next release beyond FX 8. -- Kevin goddard at seznam.cz wrote: > JSL, if it's still in place, usable and documented. If not, it's GLSL > then. > > Jiri > > ------------ P?vodn? zpr?va ------------ > Od: Kirill.Prazdnikov > P?edm?t: Re: 3D Features Planned for Version 8 > Datum: 09.10.2012 15:44:52 > ---------------------------------------- > Hi John, all, > > This questions are very interesting. FX8 will be very soon. > Due to very limited time-frame, only fixed material will be > implemented in FX8. > Custom material is a nice subject to discussion. > Which graphics shader language you think would be best ? > > -Kirill > > On 09.10.2012 11:52, Chien Yang wrote: >> Hi John, >> >> Good questions. We have evaluated both user subclassing of >> Material and custom shader during our 3D features meeting. They do >> not belong to the "must have" list in our use case study, and they >> require certain design tradeoff and investment work that we aren't >> ready to commit for JavaFX 8. >> >> - Chien >> >> On 10/8/2012 3:30 PM, John Smith wrote: >>> Thanks for making the info public Chien. >>> >>> 1. Will I be able to subclass Material to create my own material >>> types? >>> 2. If so, what could I reasonably expect these custom Materials >>> to be capable of? >>> 3. Will I be able to create custom shaders which make use of the >>> shading hardware on the GPU? And if so, how would this be done? >>> >>> I think you would be able to implement a wide variety of 3D related >>> use cases in JavaFX 3D if it provided a clean API with a similar >>> feature set (and ease of use) to the three.js library: >>> http://en.wikipedia.org/wiki/Three.js#Features >>> http://aerotwist.com/tutorials/ >>> In providing such a feature set, a JavaFX 3D API would at appear to >>> be feature comparable to WebGL, which I think is one of the >>> comparison points that somebody evaluating the API would have. The >>> planned features on the wiki go a fair way towards implementing a >>> lot of the base functionality required to make this happen. >>> Obviously, a complete implementation of such a feature set is not in >>> scope for JDK8, but it would be interesting to know what is planned >>> for the future with regards to JavaFX and 3D. >>> >>> Regards, >>> John >>> >>> -----Original Message----- >>> From: openjfx-dev-bounces at openjdk.java.net >>> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Chien Yang >>> Sent: Friday, October 05, 2012 9:42 AM >>> To: OpenJFX >>> Subject: 3D Features Planned for Version 8 >>> >>> Hi all, >>> >>> We have been thinking about the possible 3D features for JavaFX 8 >>> for a while. We are now ready to present the plan to the community >>> for review. >>> This information has also been presented at this year's JavaOne "3D >>> Made Easy with JavaFX" technical session. >>> >>> https://wikis.oracle.com/display/OpenJDK/3D+Features >>> >>> Please let us know if you have any suggestions or concerns. >>> >>> Regards, >>> >>> - Chien Yang >>> JavaFX Graphics Team >> > > > From daniel.fuchs at oracle.com Tue Oct 9 07:23:40 2012 From: daniel.fuchs at oracle.com (Daniel Fuchs) Date: Tue, 09 Oct 2012 16:23:40 +0200 Subject: Is there any source code for the JavaFX SceneBuilder In-Reply-To: References: Message-ID: <5074336C.8010006@oracle.com> Hi, SceneBuilder uses processing instructions in the FXML file to store/read the classpath and location of the resource properties. You can set those from within SceneBuilder itself: [MenuBar] > Preview > Internationalization > Set Resource... lets you choose a properties file from which to resolve i18n keys [MenuBar] > Preview > Resolve Unknown Types... lets you specify a class path against which to resolve unknown types. Note that for working with custom types I'd recommend using the Java FX SceneBuilder 1.1 developer preview - rather than the 1.0 GA - as many fixes have been made regarding custom types in 1.1 (in particular the bug that prevented the classpath popup to show up when you started SB by double clicking on an FXML file). The processing instructions that Scene Builder uses should be considered proprietary API for now - they might change or be replaced by something else in the future. If you look at the HelloI18N sample - you will see that it the FXML contains a PI: this tells SceneBuilder to use a file named Bundle.properties located in the same directory than the FXML file in order to resolve i18n keys. if your layout had been: src/My Resources/Bundle.properties src/fxml/MyFxml.fxml you would have seen: For the classpath it's basically the same: there is one PI line per entry in the classpath, and the locations must be relative to the FXML file - e.g - for a layout such as: dist/myfirst.jar dist/lib/mysecond.jar src/fxml/MyFxml.fxml and a classpath=dist/myfirst.jar:dist/lib/mysecond.jar you will find: If your FXML file contains custom type, scene builder will prompt you to enter a classpath - which will be pre-populated with the list of classpath element found in the FXML file. Check the 'Set up classpath' checkbox and click on "Apply" to apply the classpath. Hope this helps, -- daniel > Message: 3 > Date: Tue, 09 Oct 2012 12:23:16 +0200 > From: Tom Schindl > Subject: Re: Is there any source code for the JavaFX SceneBuilder? > To: openjfx-dev at openjdk.java.net > Message-ID: <5073FB14.5060005 at bestsolution.at> > Content-Type: text/plain; charset=ISO-8859-1 > > Am 09.10.12 12:14, schrieb Werner Lehmann: >> This is also simple to do in Eclipse. The main problem I am having is, >> how to pass the location of the resource bundle and especially the >> classpath of my custom controls to SceneBuilder. Without this I am >> seeing only black boxes (not necessarily black) instead of my custom >> controls, and resource bundle keys like "%task-dialog-title" instead of >> "Edit employee task". >> >> In my case this classpath would be assembled from the output directories >> of several dependent projects plus libraries. >> >> Tom, is this something you managed to do in e(fx)clipse? >> > > No. My e(fx)clipse internal preview naturally has all those informations > because it knows the classpath of the project. > > We'd need from the SceneBuilder people an API (once we directly embed > the editor) and/or an interchange format to tell them where to search > for classes. > > So if we (Eclipse,Netbeans,SceneBuilder) could work on an interchange > format like > > scenebuilder.classpath > ---------------------- > > > > > > > this could help you. > > It is very easy for IDEs to provide something like this. > > Tom From debasish.raychawdhuri at gmail.com Tue Oct 9 07:43:42 2012 From: debasish.raychawdhuri at gmail.com (Debasish Ray Chawdhuri) Date: Tue, 9 Oct 2012 20:13:42 +0530 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> <43734010-3906-4067-B759-F06EA56A0DFD@gmail.com> Message-ID: Everyone knows from the begining Oracle does not give a shit about the community. They have already shown that attitude in multiple occasions. Actually the fact that java has a community based development model (which they are legally obliged to follow, otherwise they would lose patent rights owned by multiple corporates and individuals) is something they consider a pain point. However they do not hesitate to try to unofficially sabotage the community process of java. In modern times, anything that is not community driven is doomed to die off slowly, same seems to be the fate of java eventually. On Tue, Oct 9, 2012 at 7:36 PM, Tobias Bley wrote: > We all don't know the official Oracle plan! But IMO the kind of communication of Oracle (we say nothing) is the real pain...sorry. > > > > Am 09.10.2012 um 16:01 schrieb Daniel Zwolenski : > >> https://forums.oracle.com/forums/message.jspa?messageID=10623319#10623319 >> >> Community minus 1 from me if this issue goes the way it's going. The make or break issue has always been and will always be deployment and that includes desktop and mobile. After a year or two making noise about this we're going backwards. >> >> Anyone remember why Java became so popular? Remember write-once-run-anywhere? Now it's write once, go through as much build hassles as an old fashioned c++ app for each platform (and variant) and run on even less platforms than c++ will work on. >> >> Can't decide if I'm more frustrated, angry or sad. >> >> >> >> On 09/10/2012, at 10:25 PM, Tobias Bley wrote: >> >>> There are two steps to go: >>> >>> 1. Porting Prism/glass to iOS >>> 2. use AOT compiler >>> >>> Both steps were finished in 2011 yet (http://java.dzone.com/articles/javaone-2011-javafx-20) >>> >>> >>> >>> >>> >>> >>> Am 09.10.2012 um 13:11 schrieb Peter Pilgrim : >>> >>>> Hi >>>> >>>> On the other hand, the whole of JavaFX is going to be open sourced by 2013. >>>> So what it stopping someone porting the lower architecture to iOS? >>>> Therefore one strategy is to wait until the open source is there and >>>> then port it and write the bridging layer between Java and native >>>> Apple libraries, which I guess would be Objective C. I don't know >>>> really. Of course, that would require expertise in Apple native >>>> libraries. Nevertheless it can be done by somebody. The hard part is >>>> bundling a JRE into a form that can run in iOS app store, and also the >>>> pass by the gatekeeper. >>>> >>>> On 9 October 2012 01:23, Tobias Bley wrote: >>>>> John, many thanks for your post! I absolutely agree with you. JavaFX without real(!) crossplatform support on the major platforms is an absolutely MUST HAVE. I can't understand Oracles point of view ("we don't know if developers and companies have a real interested in JavaFX2 on mobile) too - that's unbelievable! >>>>> >>>>> John, please write to Richard Bair, he wants to know our opinion about this topic! >>>>> >>>>> Best, >>>>> Tobi >>>>> >>>>> >>>>> -- >>>>> Tobias Bley >>>>> Chief Executive Officer >>>>> >>>>> -------------------------------------------------------- >>>>> >>>>> UltraMixer Digital Audio Solutions >>>>> Schillerstra?e 29 >>>>> D-01326 Dresden >>>>> Germany >>>>> >>>>> -------------------------------------------------------- >>>>> bley at ultramixer.com http://www.ultramixer.com >>>>> >>>>> >>>>> >>>>> Am 09.10.2012 um 10:18 schrieb "John C. Turnbull" : >>>>> >>>>>> Hi Tobi, >>>>>> >>>>>> I realise it's not an official Oracle statement but that's part of the >>>>>> problem; Oracle didn't make an official statement on this at JavaOne when I >>>>>> suspect many people were hoping for one. In fact, I seem to remember a >>>>>> session titled something like "JavaFX on iOS" was being tossed around for >>>>>> possible inclusion in this year's JavaOne some time ago. >>>>>> >>>>>> It's blatantly clear that Java developers *crave* JavaFX on mobiles and yet >>>>>> Oracle are waiting for clear commercial interest to justify such support? >>>>>> As has been pointed out several times, JavaFX cannot be considered a success >>>>>> if it is limited to the scope of the desktop and perhaps some embedded >>>>>> devices. Many predict that the PC in its current form will largely >>>>>> disappear in the next 5 years so where would that leave JavaFX? >>>>>> >>>>>> Java developers are largely passionate about their language and do not want >>>>>> to learn Objective C or C# or whatever language is required on each device. >>>>>> >>>>>> In my opinion, being able to code in Java and deploy to Windows, Linux, >>>>>> MacOS, iOS, Android, Metro etc. could propel JavaFX to amazing heights as >>>>>> the best platform for client side software development on the planet. >>>>>> Please Oracle, don't miss this enormous opportunity! What do we have to do >>>>>> to convince you that this REALLY IS A GOOD IDEA? >>>>>> >>>>>> -jct >>>>>> >>>>>> -----Original Message----- >>>>>> From: Tobias Bley [mailto:tobi at ultramixer.com] >>>>>> Sent: Tuesday, 9 October 2012 18:10 >>>>>> To: John C. Turnbull >>>>>> Cc: openjfx-dev at openjdk.java.net >>>>>> Subject: Re: No JavaFX for iOS, Android or WP - why not? >>>>>> >>>>>> Hi guys, >>>>>> >>>>>> first of all: that's not an official press release of Oracle... >>>>>> >>>>>> second: please take part of the current discussion on JavaFX forum about >>>>>> "JavaFX on iOS, Android and Windows 8": >>>>>> https://forums.oracle.com/forums/thread.jspa?threadID=2448461&tstart=0 >>>>>> >>>>>> Richard Bair there asked for developers and companies who have a real >>>>>> (commercial) interested in using JavaFX on iOS.... So please please write >>>>>> Richard an email to show him your real interested. >>>>>> >>>>>> Best regards, >>>>>> Tobi >>>>>> >>>>>> blog.software4java.com >>>>>> >>>>>> >>>>>> >>>>>> Am 09.10.2012 um 08:24 schrieb "John C. Turnbull" : >>>>>> >>>>>>> I didn't have the pleasure of being at JavaOne but in a blog by Lucas >>>>>>> Jellema (and retweeted by Nicolas Lorain) the following is stated: >>>>>>> >>>>>>> >>>>>>> >>>>>>> "JavaFX is no longer intended for use on SmartPhones. The iPhone, >>>>>>> Android and Windows Mobile phones are provided by the respective >>>>>>> platforms, there is no room there for JavaFX. JavaFX is targeted at >>>>>>> the desktop to replace Swing and at smaller devices that run embedded >>>>>> Java." >>>>>>> >>>>>>> >>>>>>> >>>>>>> This is extremely disappointing especially after having seen demos of >>>>>>> JavaFX running on iOS and Android devices. >>>>>>> >>>>>>> >>>>>>> >>>>>>> Can someone explain why this decision has been made? >>>>>>> >>>>>>> >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> >>>>>>> >>>>>>> -jct >>>>>>> >>>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> Peter Pilgrim, >>>> **Java Champion**, >>>> Java EE Software Development / Design / Architect for financial >>>> services, London, UK >>>> >>>> JavaFX ++ Scala ++ Groovy ++ Android ++ Java >>>> >>>> :: http://www.xenonique.co.uk/blog/ :: >>>> :: http://twitter.com/peter_pilgrim :: >>>> :: http://audio.fm/profile/peter_pilgrim :: >>>> :: Skype Call peter_pilgrim :: >>>> :: http://java-champions.java.net/ :: >>> > -- Debasish Ray Chawdhuri http://www.geekyarticles.com/ [A collection of advanced articles on java] From lehmann at media-interactive.de Tue Oct 9 07:46:36 2012 From: lehmann at media-interactive.de (Werner Lehmann) Date: Tue, 9 Oct 2012 16:46:36 +0200 Subject: Is there any source code for the JavaFX SceneBuilder In-Reply-To: <5074336C.8010006@oracle.com> References: <5074336C.8010006@oracle.com> Message-ID: <507438CC.3010607@media-interactive.de> Daniel, thanks for the explanation. I wasn't aware that the classpath could be set with PI's in FXML. In my opinion this could be used as a workaround for now but does not really replace full IDE integration - at least not in a way how I would envision it. The relative paths are a problem when it comes to refactoring, and especially when you want to reuse the same lines in different FXMLs: copy & paste of those PI's requires me to think about how many ../../ I'd need, depending on the package of the FXML at hand. And I don't even want to use the DRY pattern... Usually the IDE manages the classpath for me, it would be redundant to add that to the FXML. I think this is similar to imports in a plain Java file: you say what you want but not where to find it. This information is provided separately. Perhaps via command line "-cp" parameter, etc. Furthermore, I believe it would be more practical to specify the resource bundle relative to the classpath as with any other control import. Maybe this is something intended for FX8? The roadmap mentions "enhanced Java IDE integration" but does not provide many details. This would be a pity for me because I'll be tied to JRE 6/7 for a quite a while longer and could not use this (if necessary we might be able to use JRE8 on development machines only but that would be less desirable). Rgds Werner On 09.10.2012 16:23, Daniel Fuchs wrote: > Hope this helps, From knut.arne.vedaa at broadpark.no Tue Oct 9 08:00:34 2012 From: knut.arne.vedaa at broadpark.no (Knut Arne Vedaa) Date: Tue, 09 Oct 2012 17:00:34 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <43734010-3906-4067-B759-F06EA56A0DFD@gmail.com> References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> <43734010-3906-4067-B759-F06EA56A0DFD@gmail.com> Message-ID: <50743C12.3050707@broadpark.no> I agree 100% with the general sentiment. Not supporting JavaFX on these devices, if it is technically possible, would be an incredibly stupid decision. But I guess we're preaching to the choir here. Knut Arne Vedaa On 09.10.2012 16:01, Daniel Zwolenski wrote: > https://forums.oracle.com/forums/message.jspa?messageID=10623319#10623319 > > Community minus 1 from me if this issue goes the way it's going. The make or break issue has always been and will always be deployment and that includes desktop and mobile. After a year or two making noise about this we're going backwards. > > Anyone remember why Java became so popular? Remember write-once-run-anywhere? Now it's write once, go through as much build hassles as an old fashioned c++ app for each platform (and variant) and run on even less platforms than c++ will work on. > > Can't decide if I'm more frustrated, angry or sad. > > > > On 09/10/2012, at 10:25 PM, Tobias Bley wrote: > >> There are two steps to go: >> >> 1. Porting Prism/glass to iOS >> 2. use AOT compiler >> >> Both steps were finished in 2011 yet (http://java.dzone.com/articles/javaone-2011-javafx-20) >> >> >> >> >> >> >> Am 09.10.2012 um 13:11 schrieb Peter Pilgrim : >> >>> Hi >>> >>> On the other hand, the whole of JavaFX is going to be open sourced by 2013. >>> So what it stopping someone porting the lower architecture to iOS? >>> Therefore one strategy is to wait until the open source is there and >>> then port it and write the bridging layer between Java and native >>> Apple libraries, which I guess would be Objective C. I don't know >>> really. Of course, that would require expertise in Apple native >>> libraries. Nevertheless it can be done by somebody. The hard part is >>> bundling a JRE into a form that can run in iOS app store, and also the >>> pass by the gatekeeper. >>> >>> On 9 October 2012 01:23, Tobias Bley wrote: >>>> John, many thanks for your post! I absolutely agree with you. JavaFX without real(!) crossplatform support on the major platforms is an absolutely MUST HAVE. I can't understand Oracles point of view ("we don't know if developers and companies have a real interested in JavaFX2 on mobile) too - that's unbelievable! >>>> >>>> John, please write to Richard Bair, he wants to know our opinion about this topic! >>>> >>>> Best, >>>> Tobi >>>> >>>> >>>> -- >>>> Tobias Bley >>>> Chief Executive Officer >>>> >>>> -------------------------------------------------------- >>>> >>>> UltraMixer Digital Audio Solutions >>>> Schillerstra?e 29 >>>> D-01326 Dresden >>>> Germany >>>> >>>> -------------------------------------------------------- >>>> bley at ultramixer.com http://www.ultramixer.com >>>> >>>> >>>> >>>> Am 09.10.2012 um 10:18 schrieb "John C. Turnbull" : >>>> >>>>> Hi Tobi, >>>>> >>>>> I realise it's not an official Oracle statement but that's part of the >>>>> problem; Oracle didn't make an official statement on this at JavaOne when I >>>>> suspect many people were hoping for one. In fact, I seem to remember a >>>>> session titled something like "JavaFX on iOS" was being tossed around for >>>>> possible inclusion in this year's JavaOne some time ago. >>>>> >>>>> It's blatantly clear that Java developers *crave* JavaFX on mobiles and yet >>>>> Oracle are waiting for clear commercial interest to justify such support? >>>>> As has been pointed out several times, JavaFX cannot be considered a success >>>>> if it is limited to the scope of the desktop and perhaps some embedded >>>>> devices. Many predict that the PC in its current form will largely >>>>> disappear in the next 5 years so where would that leave JavaFX? >>>>> >>>>> Java developers are largely passionate about their language and do not want >>>>> to learn Objective C or C# or whatever language is required on each device. >>>>> >>>>> In my opinion, being able to code in Java and deploy to Windows, Linux, >>>>> MacOS, iOS, Android, Metro etc. could propel JavaFX to amazing heights as >>>>> the best platform for client side software development on the planet. >>>>> Please Oracle, don't miss this enormous opportunity! What do we have to do >>>>> to convince you that this REALLY IS A GOOD IDEA? >>>>> >>>>> -jct >>>>> >>>>> -----Original Message----- >>>>> From: Tobias Bley [mailto:tobi at ultramixer.com] >>>>> Sent: Tuesday, 9 October 2012 18:10 >>>>> To: John C. Turnbull >>>>> Cc: openjfx-dev at openjdk.java.net >>>>> Subject: Re: No JavaFX for iOS, Android or WP - why not? >>>>> >>>>> Hi guys, >>>>> >>>>> first of all: that's not an official press release of Oracle... >>>>> >>>>> second: please take part of the current discussion on JavaFX forum about >>>>> "JavaFX on iOS, Android and Windows 8": >>>>> https://forums.oracle.com/forums/thread.jspa?threadID=2448461&tstart=0 >>>>> >>>>> Richard Bair there asked for developers and companies who have a real >>>>> (commercial) interested in using JavaFX on iOS.... So please please write >>>>> Richard an email to show him your real interested. >>>>> >>>>> Best regards, >>>>> Tobi >>>>> >>>>> blog.software4java.com >>>>> >>>>> >>>>> >>>>> Am 09.10.2012 um 08:24 schrieb "John C. Turnbull" : >>>>> >>>>>> I didn't have the pleasure of being at JavaOne but in a blog by Lucas >>>>>> Jellema (and retweeted by Nicolas Lorain) the following is stated: >>>>>> >>>>>> >>>>>> >>>>>> "JavaFX is no longer intended for use on SmartPhones. The iPhone, >>>>>> Android and Windows Mobile phones are provided by the respective >>>>>> platforms, there is no room there for JavaFX. JavaFX is targeted at >>>>>> the desktop to replace Swing and at smaller devices that run embedded >>>>> Java." >>>>>> >>>>>> >>>>>> >>>>>> This is extremely disappointing especially after having seen demos of >>>>>> JavaFX running on iOS and Android devices. >>>>>> >>>>>> >>>>>> >>>>>> Can someone explain why this decision has been made? >>>>>> >>>>>> >>>>>> >>>>>> Thanks, >>>>>> >>>>>> >>>>>> >>>>>> -jct >>>>>> >>>>> >>>> >>> >>> >>> >>> -- >>> Peter Pilgrim, >>> **Java Champion**, >>> Java EE Software Development / Design / Architect for financial >>> services, London, UK >>> >>> JavaFX ++ Scala ++ Groovy ++ Android ++ Java >>> >>> :: http://www.xenonique.co.uk/blog/ :: >>> :: http://twitter.com/peter_pilgrim :: >>> :: http://audio.fm/profile/peter_pilgrim :: >>> :: Skype Call peter_pilgrim :: >>> :: http://java-champions.java.net/ :: >> > From michael.heinrichs at oracle.com Tue Oct 9 08:10:06 2012 From: michael.heinrichs at oracle.com (Michael Heinrichs) Date: Tue, 9 Oct 2012 17:10:06 +0200 Subject: property improvement suggestion In-Reply-To: <50741F5F.3050006@tbee.org> References: <50712B02.8040306@tbee.org> <8307B987-CFEB-4BC3-AE6B-057F4DED07C0@oracle.com> <50730880.6080307@tbee.org> <28B1593F-CE88-4387-9193-C34502E29FDE@oracle.com> <50741F5F.3050006@tbee.org> Message-ID: <03A199C9-D2C7-4521-89E6-2CB208BB9E39@oracle.com> The Binding API is full of hidden treasures. ;-) Please file JIRA issues for all features you are missing. Allowing constraints on properties is a much more challenging task. But first we need to decide what we actually want. Here are my thoughts on the topics mentioned so far: 1) Class vs. Instance I think being able to define constraints on class level, i.e. the constraints apply to all instances of a bean, is a must. Being able to define constraints for specific instances is a nice-to-have. It would remove the need for a lot of boiler plate code on one hand, but there is also a danger to make things really complex. Some experimentation is required IMO before a decision can be made. 2) Exceptions vs. Auto-Correction There are valid use cases that require Exceptions, but Exceptions do not play nicely with lazy evaluation. IMO both are required. Exceptions would enforce eager evaluation, i.e. the Exception is thrown on setting the value. We have this differentiation already with InvalidationListeners vs. ChangeListeners, it seems natural to have two types of constraints. 3) Specification of Constraints Overriding the setter would only be possible if constraints are defined on class level only. The behavior of properties is usually defined by overriding its methods, so this would be a good choice then. If we want to allow defining constraints per instance, we need to pass it in. We probably want to accept some SAM type and provide predefined helpers for common case, e.g. for setting a range on a NumberProperty, specifying a list of legal values for an ObjectProperty etc. - Michael On 09.10.2012, at 14:58, Tom Eugelink wrote: > Aha. I did not know that "when" existed. I'm sorry, an oversight. That indeed covers the whole constraint part of binding, a clamp and otherwiseWhen would indeed be nice additions. > > Leaves the situation where it is preferable to set constraints on the property instead of having to repeat it in every binding. > > I'll see if I run into any other situations. > > Tom > > > > On 2012-10-09 14:19, Michael Heinrichs wrote: >> Hi Tom, >> >> in my opinion your first case is already covered by the Binding API itself. The Binding API allows you to define all kind of expressions. For the most common ones there are methods in the JavaFX library and you can always add your own implementation. E.g. you could rewrite your example like this: >> >> appointment.duration().bind( >> when(area.height().greaterThan(0)) >> .then(area.height().multiply(pixelToSecondsFactor)) >> .otherwise(0)); >> >> If possible, we should avoid a new concept to express something that could be expressed straightforward using an existing concepts. Adding a new concept increases the complexity tremendously, because you have to understand how the new concept works with all possible combinations of existing concepts. >> >> What I would suggest instead is to think about additions to the Binding API that make your code easier. Maybe we should add clampTo(min, max) to NumberExpression, so that you could write >> >> area.height().multiply(pixelToSecondsFactor).clampTo(0, Integer.MAX) >> >> Looking at your other examples for further ideas, maybe we need to add a otherwiseWhen() method to write something like when().then().otherwiseWhen().then().otherwise(). Maybe we need switch-case within bindings. >> >> Do you have any examples of constraints that can not be covered by the binding API or some small addition to it? >> >> - Michael >> >> >> >> >> On 08.10.2012, at 19:08, Tom Eugelink wrote: >> >>> Hmmmm, not sure we are on the same line here. The essence of the proposal is that the user of a property can specify a constraint. Let's see how I can make a good argument for this. >>> >>> There are two angles. The first being the binding; I recently recoded my Agenda (Google Calendar) control to use binding and really liked that, but I ran into some omissions IMHO. Suppose I bind an appointment height to the duration of the appointment. So, basically you get something like: >>> >>> appointment.duration().bind(area.height().multiply(pixelToSecondsFactor)); >>> >>> A UI feature is that the user can resize an area by dragging the end time (bottom of the rectangle) with the mouse. Theoretically he can drag the mouse above the start time, resulting in a negative height. The binding will then result in a negative duration, and that is something I do not want. The problem is that I am not the owner of the appointment (it comes from the business model), nor the owner of the area (it's a rectangle; and even if I extend Rectangle, I cannot extend the height property). So I need a way to prevent that situation to occur, because the BM code handling the appointment will never expect a negative duration, or an end time that falls before the start time (the constraints of the BM entity :-). >>> >>> Because the binding allows calculation, it almost requires constraints, or a decent hook system. Or I must find a way to get a man-in-the-middle setup (I did that with JGoodies binding), but native constraints are better. >>> >>> The second angle is that the properties concept is a powerful one, and I expect them to become popular in none JavaFX contexts as well. Formal properties is something the community have been begging for for a long time. These other context, say a mortgage business model, may be less lenient towards the possible values a property can have and require a strict handling of the values, and maybe (yes) throw exceptions. Further more these constraints may be fairly complex, so a simple "if a then b" might not cut it. So if we're contemplating constraints, then let's look at the bigger picture. >>> >>> Now, I'm not knowledgable enough on the implementation that I can discuss the implementation details, but I understand the problem of the lazy binding your describing. Maybe, in light of the bigger picture, eager bindings are important. I only know that being able to hook into binding to make sure a value never goes out of range, both directly on a property (as a permanent constraint) or inside a binding chain (as a local constraint), seems like a very natural thing. >>> >>> Tom >>> >>> >>> >>> On 2012-10-08 16:26, Richard Bair wrote: >>>> It looks like there are two elements of this proposal. The first is that the author of a bean might want to specify some inherent constraint >>>> on the property -- such as, it should never be null, or it should never be negative. The second is that a user of the property might want to constrain the property in some way -- such as, in my app the width should never be negative. >>>> >>>> I see the value immediately in the first (in fact, this has always been a problem with our properties, going all the way back to JavaFX Script), but I struggle to see much value in the second. Not because you might not want to do this sort of thing, but because the first (inherent constraints) is not presently possible at all, while the second (app constraints) you can already do in your application code, one way or another. I am inclined not to add API for cases that are already solvable, unless it turns out to be so compelling and widely used. >>>> >>>> From a semantic point of view, binding was a "mathematical" relationship between two properties in JavaFX Script, such that when you read code like: >>>> >>>> x: bind 10 * someProperty >>>> >>>> you new that "x" was going to be 10 * someProperty, and not anything else. Of course as an API designer I have never liked that because I have to handle exceptional conditions in my code rather than being able to verify that a property can never go outside its valid range of values. >>>> >>>> I am pleased to see your proposal doesn't include throwing exceptions -- I think throwing an exception from a property on invalid input is a very bad idea. The problem is in lazy evaluation of properties. Suppose: >>>> >>>> widthProperty().bind(someProperty) >>>> >>>> Further suppose width is constrained to never be < 0, and somebody were to try to set it to be < 0 it would throw an exception. In this case, someProperty might be set to -10 at some time, and the width property is invalidated. But until somebody tries to read width, it won't throw the exception. So the problem with bound properties & exceptions is that the exception is not thrown at the time the error is introduced, but rather at the time the error is discovered, which turns out to be an awful behavior. >>>> >>>> However your proposal instead says "if it is outside the allowable range, I will just adjust the value to keep it within the allowable range". I think this is a really good idea. The property implementations would have to be modified such that on read, instead of: >>>> >>>> /** >>>> * {@inheritDoc} >>>> */ >>>> @Override >>>> public boolean get() { >>>> valid = true; >>>> return observable == null ? value : observable.get(); >>>> } >>>> >>>> we instead do something like: >>>> >>>> /** >>>> * {@inheritDoc} >>>> */ >>>> @Override >>>> public boolean get() { >>>> if (!valid && observable != null) { >>>> value = constrain(observable.get()); >>>> } >>>> valid = true; >>>> return observable == null ? value : observable.get(); >>>> } >>>> >>>> >>>> And add a protected 'constrain' method. Or perhaps we can just call the "set" method and let the set method deal with constraining. This would require taking some care, however, because it means set methods will now be called even when the property is bound which is different than at present, and calling super.set() would throw an exception in the case that it is bound. But still, as a Java developer I'm used to doing constraining from within the setter, so doing it inside the set seems the most natural, but this would be an area that needs to be figured out. >>>> >>>> Richard >>>> >>>> On Oct 7, 2012, at 12:10 AM, Tom Eugelink wrote: >>>> >>>>> As far as I understand, the current the approach is that properties should accept any value, and the usage of these properties have to work with that. Personally I'm prefer a different approach, because I feel the responsibility to have sensible values should be constrained to one place. Therefore I often override the set method of my properties to make sure the value is within the range that my remaining code expect it to be; either by throwing an exception or by clamping the value to a range. >>>>> >>>>> But this I can only do with my own properties. It would be nice to also do this to existing properties and therefor I would like to suggest to extend the property concept with constraints or conditions. The important point being that these constraints are applied before the value is set, and not (like a change listener approach) afterwards and then correct value; a value should never be outside it allowed range. >>>>> >>>>> The constraints or conditions could have an if-then structure: if value < 0 then 0. An example in Java 8 lambda notation: >>>>> someNode.widthProperty().*constraint*( w -> w < 0, 0); >>>>> >>>>> This would also be something relevant to binding, especially when doing calculations: >>>>> someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*constraint*( w -> w < 0, 0) ); >>>>> >>>>> There is a difference between a permanent constraint on the property and a constraint only applicable to a binding. The notation above is is too similar to my taste and too easily a binding constraint can become a property constaint. To make this difference more explicit, the word "if" could be better on binding: >>>>> someNode.widthProperty().*constraint*( w -> w < 0, 0); >>>>> someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*if*( w -> w < 0, 0) ); >>>>> >>>>> Something to think about is how far these constraints should be taken. These are simple if-then constraints. But what if "else", "elsif" constructions or "case" statements are needed to express the range? In order to keep all options open, maybe the best approach would be to provide constraining listeners. A constraining listener would get the to-be-set value as a parameter and return the new value. For example: >>>>> >>>>> widthProperty.addConstrainingListener( v -> { if (v < 0.0) return 0.0; return v; } ); >>>>> >>>>> or in normal notation: >>>>> >>>>> widthProperty.addConstrainingListener( new ConstaintListener() { >>>>> public Double constaint(Double value) { >>>>> if (value < 0.0) return 0.0; >>>>> return value; >>>>> } >>>>> }); >>>>> >>>>> (NB: I'm not sure how to use Java 8 lambda with the addListener method, differentiating between a change, invalidation and constraint listener.) >>>>> >>>>> This constraining listener approach would allow for all scenario's to be handled. So that is the final improvement I would like to suggest: constrainting listeners. >>>>> someNode.widthProperty().*constraint*( v -> { if (v < 0.0) return 0.0; return v; } ); >>>>> someNode.widthProperty().bind( otherNode.widthProperty().substract(10).*if*( v -> { if (v < 0.0) return 0.0; return v; } ) ); >>>>> >>>>> And if possible normal constraints, because that is a easier notation. >>>>> >>>>> I'd like to hear if I'm making sense or am missing the ball completely. >>>>> >>>>> Tom > From jmartine_1026 at yahoo.com Tue Oct 9 08:26:12 2012 From: jmartine_1026 at yahoo.com (Jose Martinez) Date: Tue, 9 Oct 2012 08:26:12 -0700 (PDT) Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <50743C12.3050707@broadpark.no> References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> <43734010-3906-4067-B759-F06EA56A0DFD@gmail.com> <50743C12.3050707@broadpark.no> Message-ID: <1349796372.61144.YahooMailNeo@web161504.mail.bf1.yahoo.com> My main concern is desktop and not mobile. ?There are limited resources working on JFX so I need to speak up to nudge those resources towards the things that matter to me and that's desktop and browser games. ?Sounds like I might be in the minority here. If I am forced to find a pro for mobile support then I would say that having mobile support makes the community bigger and happier and keeps JFX vibrant in that sense. ?And also JFX on mobile will increase the?likelihood?of utilizing my JFX experience to work for a company doing mobile apps. As far as direction, I would ask that JFX really make a push for desktop/browser gaming.... I'm being bias here. thanks? jose ________________________________ From: Knut Arne Vedaa To: openjfx-dev at openjdk.java.net Sent: Tuesday, October 9, 2012 11:00 AM Subject: Re: No JavaFX for iOS, Android or WP - why not? I agree 100% with the general sentiment. Not supporting JavaFX on these devices, if it is technically possible, would be an incredibly stupid decision. But I guess we're preaching to the choir here. Knut Arne Vedaa On 09.10.2012 16:01, Daniel Zwolenski wrote: > https://forums.oracle.com/forums/message.jspa?messageID=10623319#10623319 > > Community minus 1 from me if this issue goes the way it's going. The make or break issue has always been and will always be deployment and that includes desktop and mobile. After a year or two making noise about this we're going backwards. > > Anyone remember why Java became so popular? Remember write-once-run-anywhere? Now it's write once, go through as much build hassles as an old fashioned c++ app for each platform (and variant) and run on even less platforms than c++ will work on. > > Can't decide if I'm more frustrated, angry or sad. > > > > On 09/10/2012, at 10:25 PM, Tobias Bley wrote: > >> There are two steps to go: >> >> 1. Porting Prism/glass to iOS >> 2. use AOT compiler >> >> Both steps were finished in 2011 yet (http://java.dzone.com/articles/javaone-2011-javafx-20) >> >> >> >> >> >> >> Am 09.10.2012 um 13:11 schrieb Peter Pilgrim : >> >>> Hi >>> >>> On the other hand, the whole of JavaFX is going to be open sourced by 2013. >>> So what it stopping someone porting the lower architecture to iOS? >>> Therefore one strategy is to wait until the open source is there and >>> then port it and write the bridging layer between Java and native >>> Apple libraries, which I guess would be Objective C. I don't know >>> really. Of course, that would require expertise in Apple native >>> libraries. Nevertheless it can be done by somebody. The hard part is >>> bundling a JRE into a form that can run in iOS app store, and also the >>> pass by the gatekeeper. >>> >>> On 9 October 2012 01:23, Tobias Bley wrote: >>>> John, many thanks for your post! I absolutely agree with you. JavaFX without real(!) crossplatform support on the major platforms is an absolutely MUST HAVE. I can't understand Oracles point of view ("we don't know if developers and companies have a real interested in JavaFX2 on mobile) too - that's unbelievable! >>>> >>>> John, please write to Richard Bair, he wants to know our opinion about this topic! >>>> >>>> Best, >>>> Tobi >>>> >>>> >>>> -- >>>> Tobias Bley >>>> Chief Executive Officer >>>> >>>> -------------------------------------------------------- >>>> >>>> UltraMixer Digital Audio Solutions >>>> Schillerstra?e? 29 >>>> D-01326 Dresden >>>> Germany >>>> >>>> -------------------------------------------------------- >>>> bley at ultramixer.com? http://www.ultramixer.com >>>> >>>> >>>> >>>> Am 09.10.2012 um 10:18 schrieb "John C. Turnbull" : >>>> >>>>> Hi Tobi, >>>>> >>>>> I realise it's not an official Oracle statement but that's part of the >>>>> problem; Oracle didn't make an official statement on this at JavaOne when I >>>>> suspect many people were hoping for one.? In fact, I seem to remember a >>>>> session titled something like "JavaFX on iOS" was being tossed around for >>>>> possible inclusion in this year's JavaOne some time ago. >>>>> >>>>> It's blatantly clear that Java developers *crave* JavaFX on mobiles and yet >>>>> Oracle are waiting for clear commercial interest to justify such support? >>>>> As has been pointed out several times, JavaFX cannot be considered a success >>>>> if it is limited to the scope of the desktop and perhaps some embedded >>>>> devices.? Many predict that the PC in its current form will largely >>>>> disappear in the next 5 years so where would that leave JavaFX? >>>>> >>>>> Java developers are largely passionate about their language and do not want >>>>> to learn Objective C or C# or whatever language is required on each device. >>>>> >>>>> In my opinion, being able to code in Java and deploy to Windows, Linux, >>>>> MacOS, iOS, Android, Metro etc. could propel JavaFX to amazing heights as >>>>> the best platform for client side software development on the planet. >>>>> Please Oracle, don't miss this enormous opportunity!? What do we have to do >>>>> to convince you that this REALLY IS A GOOD IDEA? >>>>> >>>>> -jct >>>>> >>>>> -----Original Message----- >>>>> From: Tobias Bley [mailto:tobi at ultramixer.com] >>>>> Sent: Tuesday, 9 October 2012 18:10 >>>>> To: John C. Turnbull >>>>> Cc: openjfx-dev at openjdk.java.net >>>>> Subject: Re: No JavaFX for iOS, Android or WP - why not? >>>>> >>>>> Hi guys, >>>>> >>>>> first of all: that's not an official press release of Oracle... >>>>> >>>>> second: please take part of the current discussion on JavaFX forum about >>>>> "JavaFX on iOS, Android and Windows 8": >>>>> https://forums.oracle.com/forums/thread.jspa?threadID=2448461&tstart=0 >>>>> >>>>> Richard Bair there asked for developers and companies who have a real >>>>> (commercial) interested in using JavaFX on iOS.... So please please write >>>>> Richard an email to show him your real interested. >>>>> >>>>> Best regards, >>>>> Tobi >>>>> >>>>> blog.software4java.com >>>>> >>>>> >>>>> >>>>> Am 09.10.2012 um 08:24 schrieb "John C. Turnbull" : >>>>> >>>>>> I didn't have the pleasure of being at JavaOne but in a blog by Lucas >>>>>> Jellema (and retweeted by Nicolas Lorain) the following is stated: >>>>>> >>>>>> >>>>>> >>>>>> "JavaFX is no longer intended for use on SmartPhones. The iPhone, >>>>>> Android and Windows Mobile phones are provided by the respective >>>>>> platforms, there is no room there for JavaFX. JavaFX is targeted at >>>>>> the desktop to replace Swing and at smaller devices that run embedded >>>>> Java." >>>>>> >>>>>> >>>>>> >>>>>> This is extremely disappointing especially after having seen demos of >>>>>> JavaFX running on iOS and Android devices. >>>>>> >>>>>> >>>>>> >>>>>> Can someone explain why this decision has been made? >>>>>> >>>>>> >>>>>> >>>>>> Thanks, >>>>>> >>>>>> >>>>>> >>>>>> -jct >>>>>> >>>>> >>>> >>> >>> >>> >>> -- >>> Peter Pilgrim, >>> **Java Champion**, >>> Java EE Software Development / Design / Architect for financial >>> services, London, UK >>> >>> JavaFX ++ Scala ++ Groovy ++? Android ++ Java >>> >>> :: http://www.xenonique.co.uk/blog/? :: >>> :: http://twitter.com/peter_pilgrim :: >>> :: http://audio.fm/profile/peter_pilgrim? :: >>> :: Skype Call peter_pilgrim :: >>> :: http://java-champions.java.net/ :: >> > From steve.x.northover at oracle.com Tue Oct 9 08:29:11 2012 From: steve.x.northover at oracle.com (steve.x.northover at oracle.com) Date: Tue, 09 Oct 2012 11:29:11 -0400 Subject: property improvement suggestion In-Reply-To: <50730880.6080307@tbee.org> References: <50712B02.8040306@tbee.org> <8307B987-CFEB-4BC3-AE6B-057F4DED07C0@oracle.com> <50730880.6080307@tbee.org> Message-ID: <507442C7.5040406@oracle.com> Is Bindings.when() your friend here? Here is some example code that sets the fill color of a scene based on height: scene.fillProperty().bind( Bindings.when(scene.heightProperty().lessThan(100)) .then(Color.RED) .otherwise(Color.BLUE)); Steve On 08/10/2012 1:08 PM, Tom Eugelink wrote: > Hmmmm, not sure we are on the same line here. The essence of the > proposal is that the user of a property can specify a constraint. > Let's see how I can make a good argument for this. > > There are two angles. The first being the binding; I recently recoded > my Agenda (Google Calendar) control to use binding and really liked > that, but I ran into some omissions IMHO. Suppose I bind an > appointment height to the duration of the appointment. So, basically > you get something like: > > appointment.duration().bind(area.height().multiply(pixelToSecondsFactor)); > > > A UI feature is that the user can resize an area by dragging the end > time (bottom of the rectangle) with the mouse. Theoretically he can > drag the mouse above the start time, resulting in a negative height. > The binding will then result in a negative duration, and that is > something I do not want. The problem is that I am not the owner of the > appointment (it comes from the business model), nor the owner of the > area (it's a rectangle; and even if I extend Rectangle, I cannot > extend the height property). So I need a way to prevent that situation > to occur, because the BM code handling the appointment will never > expect a negative duration, or an end time that falls before the start > time (the constraints of the BM entity :-). > > Because the binding allows calculation, it almost requires > constraints, or a decent hook system. Or I must find a way to get a > man-in-the-middle setup (I did that with JGoodies binding), but native > constraints are better. > > The second angle is that the properties concept is a powerful one, and > I expect them to become popular in none JavaFX contexts as well. > Formal properties is something the community have been begging for for > a long time. These other context, say a mortgage business model, may > be less lenient towards the possible values a property can have and > require a strict handling of the values, and maybe (yes) throw > exceptions. Further more these constraints may be fairly complex, so a > simple "if a then b" might not cut it. So if we're contemplating > constraints, then let's look at the bigger picture. > > Now, I'm not knowledgable enough on the implementation that I can > discuss the implementation details, but I understand the problem of > the lazy binding your describing. Maybe, in light of the bigger > picture, eager bindings are important. I only know that being able to > hook into binding to make sure a value never goes out of range, both > directly on a property (as a permanent constraint) or inside a binding > chain (as a local constraint), seems like a very natural thing. > > Tom > > > > On 2012-10-08 16:26, Richard Bair wrote: >> It looks like there are two elements of this proposal. The first is >> that the author of a bean might want to specify some inherent constraint >> on the property -- such as, it should never be null, or it should >> never be negative. The second is that a user of the property might >> want to constrain the property in some way -- such as, in my app the >> width should never be negative. >> >> I see the value immediately in the first (in fact, this has always >> been a problem with our properties, going all the way back to JavaFX >> Script), but I struggle to see much value in the second. Not because >> you might not want to do this sort of thing, but because the first >> (inherent constraints) is not presently possible at all, while the >> second (app constraints) you can already do in your application code, >> one way or another. I am inclined not to add API for cases that are >> already solvable, unless it turns out to be so compelling and widely >> used. >> >> From a semantic point of view, binding was a "mathematical" >> relationship between two properties in JavaFX Script, such that when >> you read code like: >> >> x: bind 10 * someProperty >> >> you new that "x" was going to be 10 * someProperty, and not anything >> else. Of course as an API designer I have never liked that because I >> have to handle exceptional conditions in my code rather than being >> able to verify that a property can never go outside its valid range >> of values. >> >> I am pleased to see your proposal doesn't include throwing exceptions >> -- I think throwing an exception from a property on invalid input is >> a very bad idea. The problem is in lazy evaluation of properties. >> Suppose: >> >> widthProperty().bind(someProperty) >> >> Further suppose width is constrained to never be < 0, and somebody >> were to try to set it to be < 0 it would throw an exception. In this >> case, someProperty might be set to -10 at some time, and the width >> property is invalidated. But until somebody tries to read width, it >> won't throw the exception. So the problem with bound properties & >> exceptions is that the exception is not thrown at the time the error >> is introduced, but rather at the time the error is discovered, which >> turns out to be an awful behavior. >> >> However your proposal instead says "if it is outside the allowable >> range, I will just adjust the value to keep it within the allowable >> range". I think this is a really good idea. The property >> implementations would have to be modified such that on read, instead of: >> >> /** >> * {@inheritDoc} >> */ >> @Override >> public boolean get() { >> valid = true; >> return observable == null ? value : observable.get(); >> } >> >> we instead do something like: >> >> /** >> * {@inheritDoc} >> */ >> @Override >> public boolean get() { >> if (!valid && observable != null) { >> value = constrain(observable.get()); >> } >> valid = true; >> return observable == null ? value : observable.get(); >> } >> >> >> And add a protected 'constrain' method. Or perhaps we can just call >> the "set" method and let the set method deal with constraining. This >> would require taking some care, however, because it means set methods >> will now be called even when the property is bound which is different >> than at present, and calling super.set() would throw an exception in >> the case that it is bound. But still, as a Java developer I'm used to >> doing constraining from within the setter, so doing it inside the set >> seems the most natural, but this would be an area that needs to be >> figured out. >> >> Richard >> >> On Oct 7, 2012, at 12:10 AM, Tom Eugelink wrote: >> >>> As far as I understand, the current the approach is that properties >>> should accept any value, and the usage of these properties have to >>> work with that. Personally I'm prefer a different approach, because >>> I feel the responsibility to have sensible values should be >>> constrained to one place. Therefore I often override the set method >>> of my properties to make sure the value is within the range that my >>> remaining code expect it to be; either by throwing an exception or >>> by clamping the value to a range. >>> >>> But this I can only do with my own properties. It would be nice to >>> also do this to existing properties and therefor I would like to >>> suggest to extend the property concept with constraints or >>> conditions. The important point being that these constraints are >>> applied before the value is set, and not (like a change listener >>> approach) afterwards and then correct value; a value should never be >>> outside it allowed range. >>> >>> The constraints or conditions could have an if-then structure: if >>> value < 0 then 0. An example in Java 8 lambda notation: >>> someNode.widthProperty().*constraint*( w -> w < 0, 0); >>> >>> This would also be something relevant to binding, especially when >>> doing calculations: >>> someNode.widthProperty().bind( >>> otherNode.widthProperty().substract(10).*constraint*( w -> w < 0, 0) ); >>> >>> There is a difference between a permanent constraint on the property >>> and a constraint only applicable to a binding. The notation above is >>> is too similar to my taste and too easily a binding constraint can >>> become a property constaint. To make this difference more explicit, >>> the word "if" could be better on binding: >>> someNode.widthProperty().*constraint*( w -> w < 0, 0); >>> someNode.widthProperty().bind( >>> otherNode.widthProperty().substract(10).*if*( w -> w < 0, 0) ); >>> >>> Something to think about is how far these constraints should be >>> taken. These are simple if-then constraints. But what if "else", >>> "elsif" constructions or "case" statements are needed to express the >>> range? In order to keep all options open, maybe the best approach >>> would be to provide constraining listeners. A constraining listener >>> would get the to-be-set value as a parameter and return the new >>> value. For example: >>> >>> widthProperty.addConstrainingListener( v -> { if (v < 0.0) return >>> 0.0; return v; } ); >>> >>> or in normal notation: >>> >>> widthProperty.addConstrainingListener( new >>> ConstaintListener() { >>> public Double constaint(Double value) { >>> if (value < 0.0) return 0.0; >>> return value; >>> } >>> }); >>> >>> (NB: I'm not sure how to use Java 8 lambda with the addListener >>> method, differentiating between a change, invalidation and >>> constraint listener.) >>> >>> This constraining listener approach would allow for all scenario's >>> to be handled. So that is the final improvement I would like to >>> suggest: constrainting listeners. >>> someNode.widthProperty().*constraint*( v -> { if (v < 0.0) return >>> 0.0; return v; } ); >>> someNode.widthProperty().bind( >>> otherNode.widthProperty().substract(10).*if*( v -> { if (v < 0.0) >>> return 0.0; return v; } ) ); >>> >>> And if possible normal constraints, because that is a easier notation. >>> >>> I'd like to hear if I'm making sense or am missing the ball completely. >>> >>> Tom > From thoughtslinger at gmail.com Tue Oct 9 08:39:09 2012 From: thoughtslinger at gmail.com (Rick Walker) Date: Tue, 9 Oct 2012 11:39:09 -0400 Subject: No JavaFX for iOS, Android or WP - why not? Message-ID: It is not clear to me whether or not co-bundled apps for iOS and Android tablets have also been ruled out. This is obviously technically feasible from earlier demos. Can anyone clarify this? >From http://technology.amis.nl/2012/10/08/javaone-2012-the-big-stories/ "JavaFX is no longer intended for use on SmartPhones" "Note: Java Applets are on their way out" From pedro.duquevieira at gmail.com Tue Oct 9 09:10:16 2012 From: pedro.duquevieira at gmail.com (Pedro Duque Vieira) Date: Tue, 9 Oct 2012 17:10:16 +0100 Subject: No JavaFX for iOS, Android or WP - why not? Message-ID: @jose You won't have any chance with browser gaming either. The current applet situation is non-functional, you can't get an applet working reliably across different browsers. Deployment is the major issue with JavaFX. No web apps and no mobile apps are currently possible, I'm sorry to say that I don't think JavaFX will become the RIA platform of choice in this scenario, not even close really. :( Thanks, best regards, > My main concern is desktop and not mobile. ?There are limited resources > working on JFX so I need to speak up to nudge those resources towards the > things that matter to me and that's desktop and browser games. ?Sounds like > I might be in the minority here. > If I am forced to find a pro for mobile support then I would say that > having mobile support makes the community bigger and happier and keeps JFX > vibrant in that sense. ?And also JFX on mobile will increase > the?likelihood?of utilizing my JFX experience to work for a company doing > mobile apps. > As far as direction, I would ask that JFX really make a push for > desktop/browser gaming.... I'm being bias here. > thanks? > jose -- Pedro Duque Vieira From daniel.fuchs at oracle.com Tue Oct 9 09:16:58 2012 From: daniel.fuchs at oracle.com (Daniel Fuchs) Date: Tue, 09 Oct 2012 18:16:58 +0200 Subject: Is there any source code for the JavaFX SceneBuilder In-Reply-To: References: Message-ID: <50744DFA.2040107@oracle.com> Hi Werner, Yes - being able to specify the classpath as parameter when opening a file is definitely a possibility - although the various IDE would then need a special plugin for making use of that - simply relying on file association would not make it possible to pass that additional parameter - would it? Classpath relative URL for the resource bundle file would be a possibility - but I think in most cases you will want to point to real file - so that SceneBuilder immediately picks up the changes when you add new keys. If Scene Builder points to the file in the classpath, then you will have to rebuild & force scenebuilder to refresh its classloader (using "Resolve Unknown Types... + Apply) before you can see the changes in Scene Builder window. Also you won't be able to use the file chooser to select the .properties file that SB should use to resolve the keys. So I'm not sure that using a Classpath relative URL in that case will buy you much. BTW - I was wondering whether being able to define a 'default' classpath in the preferences (i.e. a classpath that would be used to load any FXML file) would be a good idea? This way - if you have some custom component library that you always use - you could add it once in the default classpath, and you wouldn't have to add it to any specific FXML file any longer... And since it would be in the tool preferences, you would be able to specify it using an absolute path - and you wouldn't need to use any PI for that... best regards, -- daniel On 10/9/12 5:26 PM, openjfx-dev-request at openjdk.java.net wrote: > Message: 1 > Date: Tue, 9 Oct 2012 16:46:36 +0200 > From: Werner Lehmann > Subject: Re: Is there any source code for the JavaFX SceneBuilder > To:openjfx-dev at openjdk.java.net > Message-ID:<507438CC.3010607 at media-interactive.de> > Content-Type: text/plain; charset="ISO-8859-1"; format=flowed > > Daniel, > > thanks for the explanation. I wasn't aware that the classpath could be > set with PI's in FXML. > > In my opinion this could be used as a workaround for now but does not > really replace full IDE integration - at least not in a way how I would > envision it. The relative paths are a problem when it comes to > refactoring, and especially when you want to reuse the same lines in > different FXMLs: copy & paste of those PI's requires me to think about > how many ../../ I'd need, depending on the package of the FXML at hand. > And I don't even want to use the DRY pattern... > > Usually the IDE manages the classpath for me, it would be redundant to > add that to the FXML. I think this is similar to imports in a plain Java > file: you say what you want but not where to find it. This information > is provided separately. Perhaps via command line "-cp" parameter, etc. > Furthermore, I believe it would be more practical to specify the > resource bundle relative to the classpath as with any other control import. > > Maybe this is something intended for FX8? The roadmap mentions "enhanced > Java IDE integration" but does not provide many details. This would be a > pity for me because I'll be tied to JRE 6/7 for a quite a while longer > and could not use this (if necessary we might be able to use JRE8 on > development machines only but that would be less desirable). > > Rgds > Werner From hang.vo at oracle.com Tue Oct 9 09:48:07 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 09 Oct 2012 16:48:07 +0000 Subject: hg: openjfx/8/graphics/rt: 2 new changesets Message-ID: <20121009164812.9182F4724D@hg.openjdk.java.net> Changeset: 3c29ef369f0c Author: hudson Date: 2012-10-04 16:11 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/3c29ef369f0c Added tag 8.0-b59 for changeset da3f3de73066 ! .hgtags Changeset: b06b91a885a0 Author: jpgodine at JPGODINE-LAP.st-users.us.oracle.com Date: 2012-10-09 09:42 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/b06b91a885a0 Automated merge with ssh://jpgodine at jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx//rt From richard.bair at oracle.com Tue Oct 9 09:51:30 2012 From: richard.bair at oracle.com (Richard Bair) Date: Tue, 9 Oct 2012 09:51:30 -0700 Subject: Support for grouped rendered opacity? In-Reply-To: <81B3F8A1-F0B0-43C2-8052-69C35FBBB2B2@rockit.dk> References: <81B3F8A1-F0B0-43C2-8052-69C35FBBB2B2@rockit.dk> Message-ID: <8BB951A1-C522-4F60-8636-8BB4A5DCF977@oracle.com> That should absolutely not be happening. In fact, it is explicitly the semantic of 2D opacity that we render the node into an image, and then apply the opacity to the image. So I don't know how the individual child node's opacity could be changing. On Oct 9, 2012, at 1:44 AM, Randahl Fink Isaksen wrote: > Is it possible to change the opacity of a rendered node tree rather than affecting the opacity of each individual node? When I am changing the opacity of a panel with multiple node children, what I am seeing is the individual opacities of each child node changing, which is not what I am aiming for. > > In one pane I am rendering a 3D house using multiple 2D shapes, and I wish to make the pane fade away by gradually decreasing its opacity; but when I alter the opacity of the pane, what I am seeing is the individual walls of the house becoming semitransparent revealing the geometry of the house. What I was hoping to achieve was to change the opacity of the *rendered* pane. Is that possible? > > Randahl > > From richard.bair at oracle.com Tue Oct 9 10:09:04 2012 From: richard.bair at oracle.com (Richard Bair) Date: Tue, 9 Oct 2012 10:09:04 -0700 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <005101cda5e6$c6d7b960$54872c20$@com.au> References: <005101cda5e6$c6d7b960$54872c20$@com.au> Message-ID: > "JavaFX is no longer intended for use on SmartPhones. The iPhone, Android > and Windows Mobile phones are provided by the respective platforms, there is > no room there for JavaFX. JavaFX is targeted at the desktop to replace Swing > and at smaller devices that run embedded Java." This is certainly not the position that I've taken or that the Java client organization has taken. We do not at this time have iOS or Android on our official roadmaps, but we have not taken a position to say that JavaFX is not (or will not) be used on smart phones. Richard From richard.bair at oracle.com Tue Oct 9 10:20:17 2012 From: richard.bair at oracle.com (Richard Bair) Date: Tue, 9 Oct 2012 10:20:17 -0700 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> <43734010-3906-4067-B759-F06EA56A0DFD@gmail.com> Message-ID: <4FD0A50B-2442-4384-9259-6BEFA3487D89@oracle.com> > Everyone knows from the begining Oracle does not give a shit about the > community. That is neither true, nor helpful. What happens in the Solaris line of business is different from the Hudson line of business is different from the Java line of business. In the Java group, we are very concerned about community involvement. Richard From richard.bair at oracle.com Tue Oct 9 10:28:37 2012 From: richard.bair at oracle.com (Richard Bair) Date: Tue, 9 Oct 2012 10:28:37 -0700 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> Message-ID: > It's blatantly clear that Java developers *crave* JavaFX on mobiles and yet > Oracle are waiting for clear commercial interest to justify such support? > As has been pointed out several times, JavaFX cannot be considered a success > if it is limited to the scope of the desktop and perhaps some embedded > devices. Many predict that the PC in its current form will largely > disappear in the next 5 years so where would that leave JavaFX? > > Java developers are largely passionate about their language and do not want > to learn Objective C or C# or whatever language is required on each device. > > In my opinion, being able to code in Java and deploy to Windows, Linux, > MacOS, iOS, Android, Metro etc. could propel JavaFX to amazing heights as > the best platform for client side software development on the planet. > Please Oracle, don't miss this enormous opportunity! What do we have to do > to convince you that this REALLY IS A GOOD IDEA? The anger and passion exhibited on this thread is very gratifying and very helpful. Even more helpful would be to funnel as many developers to me as you find that have a demand for FX on smartphones and tablets. You'll not find more passionate partisans for JavaFX than here in the Java group. Being able to demonstrate industry demand and commitment is what we need. Of course, when JavaFX is open sourced (as Hasan announced at JavaOne we will complete shortly), then of course anybody could do a port to iOS / Android. The question isn't about whether or not JavaFX will be on smart phones -- it will be. The question is who is funding it and who is supporting it. Of course many of us feel that supporting iOS and Android is at least as important as Windows and Mac. However, it is hard to fault the guys paying the bills for asking for some evidence of that viewpoint. Customers beating on our doors demanding support for FX on these devices is exactly that evidence. But in any case, this is an open source project, and regardless of whether Oracle foots the bill, I have no doubt that FX will be on iOS, Android, and Windows Metro. If you'd like to help, funnel your demands and use cases to me (and they have all the more weight when there is a real commercial demand behind them)! Richard From richard.bair at oracle.com Tue Oct 9 10:29:45 2012 From: richard.bair at oracle.com (Richard Bair) Date: Tue, 9 Oct 2012 10:29:45 -0700 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: Message-ID: <62864924-F456-4453-A648-2A2F9BF7FFFB@oracle.com> I replied to this on another thread just now, perhaps you have already seen it. This isn't our position. On Oct 9, 2012, at 8:39 AM, Rick Walker wrote: > It is not clear to me whether or not co-bundled apps for iOS and Android > tablets have also been ruled out. This is obviously technically feasible > from earlier demos. Can anyone clarify this? > >> From http://technology.amis.nl/2012/10/08/javaone-2012-the-big-stories/ > > "JavaFX is no longer intended for use on SmartPhones" > "Note: Java Applets are on their way out" From lehmann at media-interactive.de Tue Oct 9 10:34:25 2012 From: lehmann at media-interactive.de (Werner Lehmann) Date: Tue, 9 Oct 2012 19:34:25 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <4FD0A50B-2442-4384-9259-6BEFA3487D89@oracle.com> References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> <43734010-3906-4067-B759-F06EA56A0DFD@gmail.com> <4FD0A50B-2442-4384-9259-6BEFA3487D89@oracle.com> Message-ID: <50746021.1090404@media-interactive.de> FWIW, the community support on this mailing list is outstanding in my opinion. Usually it does not take more than a day to even get replies directly from Oracle staff. And suggestions are discussed with an open mind. Compare that to the cost and response time of a support contract. Rgds Werner On 09.10.2012 19:20, Richard Bair wrote: > In the Java group, we are very concerned about community involvement. From roman at kennke.org Tue Oct 9 10:44:45 2012 From: roman at kennke.org (Roman Kennke) Date: Tue, 09 Oct 2012 19:44:45 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> Message-ID: <1349804685.24641.3.camel@mercury> Am Dienstag, den 09.10.2012, 10:28 -0700 schrieb Richard Bair: > > It's blatantly clear that Java developers *crave* JavaFX on mobiles and yet > > Oracle are waiting for clear commercial interest to justify such support? > > As has been pointed out several times, JavaFX cannot be considered a success > > if it is limited to the scope of the desktop and perhaps some embedded > > devices. Many predict that the PC in its current form will largely > > disappear in the next 5 years so where would that leave JavaFX? > > > > Java developers are largely passionate about their language and do not want > > to learn Objective C or C# or whatever language is required on each device. > > > > In my opinion, being able to code in Java and deploy to Windows, Linux, > > MacOS, iOS, Android, Metro etc. could propel JavaFX to amazing heights as > > the best platform for client side software development on the planet. > > Please Oracle, don't miss this enormous opportunity! What do we have to do > > to convince you that this REALLY IS A GOOD IDEA? > > The anger and passion exhibited on this thread is very gratifying and very helpful. > Even more helpful would be to funnel as many developers to me as you find that > have a demand for FX on smartphones and tablets. You'll not find more passionate > partisans for JavaFX than here in the Java group. Being able to demonstrate > industry demand and commitment is what we need. Of course, when JavaFX is > open sourced (as Hasan announced at JavaOne we will complete shortly), then > of course anybody could do a port to iOS / Android. Yeah, I wanted to say the same. For example, I would certainly be willing to help on an Android port. Open source it already! :-P (And in reply to the 'Oracle doesn't give a frak about community' claim that has been made elsewhere, I used to be on that side some years ago, but have honestly came to believe that this is not (no longer) true, at least not with respect to Java. Kudos Oracle!) Cheers, Roman From neugens.limasoftware at gmail.com Tue Oct 9 11:00:31 2012 From: neugens.limasoftware at gmail.com (Mario Torre) Date: Tue, 9 Oct 2012 20:00:31 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <1349804685.24641.3.camel@mercury> References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> <1349804685.24641.3.camel@mercury> Message-ID: 2012/10/9 Roman Kennke : >> The anger and passion exhibited on this thread is very gratifying and very helpful. >> Even more helpful would be to funnel as many developers to me as you find that >> have a demand for FX on smartphones and tablets. You'll not find more passionate >> partisans for JavaFX than here in the Java group. Being able to demonstrate >> industry demand and commitment is what we need. Of course, when JavaFX is >> open sourced (as Hasan announced at JavaOne we will complete shortly), then >> of course anybody could do a port to iOS / Android. > > Yeah, I wanted to say the same. For example, I would certainly be > willing to help on an Android port. Open source it already! :-P > > (And in reply to the 'Oracle doesn't give a frak about community' claim > that has been made elsewhere, I used to be on that side some years ago, > but have honestly came to believe that this is not (no longer) true, at > least not with respect to Java. Kudos Oracle!) I want to join Roman in supporting Richard on this one: *** Oracle is really doing great. *** So guys, please, don't panic! Once the code is out in the wild it's going to be relatively easy to support whatever platform you want, even ones that are too weird to even think of right now. It's the beauty of Open Source after all. Just give Richard some time! :) Cheers, Mario -- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/ From hang.vo at oracle.com Tue Oct 9 11:03:48 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 09 Oct 2012 18:03:48 +0000 Subject: hg: openjfx/8/controls/rt: Fixed RT-25479: [TextField] Text input starts from wrong position. Message-ID: <20121009180351.27FCA47252@hg.openjdk.java.net> Changeset: c0aff81b30ad Author: leifs Date: 2012-10-09 10:49 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/c0aff81b30ad Fixed RT-25479: [TextField] Text input starts from wrong position. Disable caret bias handling util it can be fully supported. ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/TextFieldSkin.java From goddard at seznam.cz Tue Oct 9 10:53:27 2012 From: goddard at seznam.cz (goddard at seznam.cz) Date: Tue, 09 Oct 2012 19:53:27 +0200 (CEST) Subject: =?us-ascii?Q?Re=3A=20Re=3A=20No=20JavaFX=20for=20iOS=2C=20Android=20or=20WP=20=2D=20why=20not=3F?= In-Reply-To: <50746021.1090404@media-interactive.de> Message-ID: <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Thanks for stepping in Richard. Jiri ------------ P?vodn? zpr?va ------------ Od: Werner Lehmann P?edm?t: Re: No JavaFX for iOS, Android or WP - why not? Datum: 09.10.2012 19:36:15 ---------------------------------------- FWIW, the community support on this mailing list is outstanding in my opinion. Usually it does not take more than a day to even get replies directly from Oracle staff. And suggestions are discussed with an open mind. Compare that to the cost and response time of a support contract. Rgds Werner On 09.10.2012 19:20, Richard Bair wrote: > In the Java group, we are very concerned about community involvement. From omeuefilipe at gmail.com Tue Oct 9 11:14:55 2012 From: omeuefilipe at gmail.com (Filipe Portes) Date: Tue, 9 Oct 2012 15:14:55 -0300 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <135960.15603.48905-10536-470314817-1349805207@seznam.cz> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: well, what I really will like to see, more than JavaFx running over mobile plataforms, Is java embedded and JavaFX becoming themselves a pure Java mobile plataform. On Tue, Oct 9, 2012 at 2:53 PM, wrote: > Thanks for stepping in Richard. > > Jiri > > ------------ P?vodn? zpr?va ------------ > Od: Werner Lehmann > P?edm?t: Re: No JavaFX for iOS, Android or WP - why not? > Datum: 09.10.2012 19:36:15 > ------------------------------**---------- > > FWIW, the community support on this mailing list is outstanding in my > opinion. Usually it does not take more than a day to even get replies > directly from Oracle staff. And suggestions are discussed with an open > mind. Compare that to the cost and response time of a support contract. > > Rgds > Werner > > On 09.10.2012 19:20, Richard Bair wrote: > >> In the Java group, we are very concerned about community involvement. >> > > > -- Filipe Portes - @filipeportes Java Architect - Senior Java EE/Web JUGLeader Gojava - @gojava From phidias51 at gmail.com Tue Oct 9 12:04:35 2012 From: phidias51 at gmail.com (Mark Fortner) Date: Tue, 9 Oct 2012 12:04:35 -0700 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: My preference would be to get the following tasks taken care of before Oracle starts throwing resources at supporting tablets, mobile and JavaFX 3D: - *Deployment using Maven.* Although you can build with Maven, there are a lot of hoops that you still have to jump through, and we still don't have the artifacts in an accessible repo. I think Zonski, and others have blogged about this, and kvetched on mailing lists so I won't repeat their comments here. - *Webstart deployment *- this is still problematic. Currently when you push new artifacts to your web server, it's not replacing the existing JARs in the user's cache -- despite what the documentation says. The "special" javafx tags aren't documented well enough and presume that you're using the Ant tools to generate the JNLP. And getting shaded jars is next to impossible. - *Charts* - support for zooming and panning within the charts. Support for drawing on top of charts. - *Support for Swing components within JavaFX. * If the goal is to replace Swing, then this is one of those essential capabilities that needs to be in place. The current examples only demonstrate how to put JavaFX components within Swing applications. Unfortunately, if you want to reuse any existing components (like JFreeCharts for example) within your project, you're SOL at the moment. - *Support for an EventBus.* Currently, there's a lot of point2point event code that you have to write to fire and listen to events. It would make for a much more useable codebase if you could simply publish and subscribe to events at the application level. - *Release the source.* It's a royal pain to have to download the source through mercurial rather than simply read it as you do with the Swing code or download it as you do with any Maven package. There's also some work that needs to be done to make it easier for people to participate. I have 3 accounts at the moment: one for this mailing list, one for the forums, and one for JIRA. Can we just boil that down to one, and let me login with Facebook or Google credentials? Cheers, Mark On Tue, Oct 9, 2012 at 11:14 AM, Filipe Portes wrote: > well, > > what I really will like to see, more than JavaFx running over mobile > plataforms, Is java embedded and JavaFX becoming themselves a pure Java > mobile plataform. > > On Tue, Oct 9, 2012 at 2:53 PM, wrote: > > > Thanks for stepping in Richard. > > > > Jiri > > > > ------------ P?vodn? zpr?va ------------ > > Od: Werner Lehmann > > P?edm?t: Re: No JavaFX for iOS, Android or WP - why not? > > Datum: 09.10.2012 19:36:15 > > ------------------------------**---------- > > > > FWIW, the community support on this mailing list is outstanding in my > > opinion. Usually it does not take more than a day to even get replies > > directly from Oracle staff. And suggestions are discussed with an open > > mind. Compare that to the cost and response time of a support contract. > > > > Rgds > > Werner > > > > On 09.10.2012 19:20, Richard Bair wrote: > > > >> In the Java group, we are very concerned about community involvement. > >> > > > > > > > > > -- > Filipe Portes - @filipeportes > Java Architect - Senior Java EE/Web > JUGLeader Gojava - @gojava > From hang.vo at oracle.com Tue Oct 9 13:18:11 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 09 Oct 2012 20:18:11 +0000 Subject: hg: openjfx/8/controls/rt: 4 new changesets Message-ID: <20121009201822.9896D47257@hg.openjdk.java.net> Changeset: 3c29ef369f0c Author: hudson Date: 2012-10-04 16:11 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/3c29ef369f0c Added tag 8.0-b59 for changeset da3f3de73066 ! .hgtags Changeset: c8deba0d0fb6 Author: Lubomir Nerad Date: 2012-10-09 12:12 +0200 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/c8deba0d0fb6 Fix for RT-24681: added javadocs ! javafx-ui-common/src/javafx/stage/DirectoryChooser.java ! javafx-ui-common/src/javafx/stage/FileChooser.java Changeset: b06b91a885a0 Author: jpgodine at JPGODINE-LAP.st-users.us.oracle.com Date: 2012-10-09 09:42 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/b06b91a885a0 Automated merge with ssh://jpgodine at jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx//rt Changeset: ea00b638cdd6 Author: leifs Date: 2012-10-09 13:07 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/ea00b638cdd6 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/rt - javafx-ui-common/test/unit/javafx/scene/layout/BorderImageSlicesTest.java - javafx-ui-common/test/unit/javafx/scene/layout/BorderImageSlices_builder_Test.java From mcdonnell.john at gmail.com Tue Oct 9 14:20:24 2012 From: mcdonnell.john at gmail.com (John McDonnell) Date: Tue, 9 Oct 2012 22:20:24 +0100 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: Commented in line. On 9 October 2012 20:04, Mark Fortner wrote: > My preference would be to get the following tasks taken care of before > Oracle starts throwing resources at supporting tablets, mobile and JavaFX > 3D: > > - *Deployment using Maven.* Although you can build with Maven, there > are a lot of hoops that you still have to jump through, and we still > don't > have the artifacts in an accessible repo. I think Zonski, and others > have > blogged about this, and kvetched on mailing lists so I won't repeat > their > comments here. > I actually though that this was fixed in 1.7u6, but after trying out a simple maven project in 1.7u7 using netbeans, I realized that it was not as easy as I hoped, well without the help of Google and ZenJava blog. For any sort of development I think these sort of things(Maven support, deployment, etc) need to be looked into, it should be easy by now to simple create a maven project and use JavaFX classes without jumping through any hoops. There will be tighter integration of JavaFX in Java 8, when it comes out right? if so thats still over half a year away :( > - *Charts* - support for zooming and panning within the charts. > Support > for drawing on top of charts. > - *Support for Swing components within JavaFX. * If the goal is to > replace Swing, then this is one of those essential capabilities that > needs > to be in place. The current examples only demonstrate how to put JavaFX > components within Swing applications. Unfortunately, if you want to > reuse > any existing components (like JFreeCharts for example) within your > project, > you're SOL at the moment. > Should JavaFX be able to reuse Swing components? I don't necessarily think it should. Existing swing components wont have the CSS styling and would look out of place surrounded by a Rich UI. I feel JavaFX should be looking forward, as opposed to adding backward compatibility for various Swing libraries. When/If JavaFX is supported on multiple OS's like iOS, Metro, Android, would users want to see a Swing component, or would they like to see a JavaFX component that looks exactly like it should? Though there are swing component libraries that have the functionality that is needed in JavaFX, like as you mentioned JFreeCharts, but surely thats for a oracle/community to adopt and take forward. To see that the community needs and look to address that with a new feature of JavaFX, or a new JavaFX library. Swing libraries grew over time and started tackling the functionality that was missing in swing, like a property Chart AP, TreeTableView, etc, but we need groups like the JFXtras team to take up the baton. That being said, I hope the next release of functionally for the JavaFX charts is somewhat comparable to the functionality offered in projects like JFreeCharts - *Release the source.* It's a royal pain to have to download the source through mercurial rather than simply read it as you do with the Swing code or download it as you do with any Maven package. There's also some work that needs to be done to make it easier for people to participate. I have 3 accounts at the moment: one for this mailing list, one for the forums, and one for JIRA. Can we just boil that down to one, and let me login with Facebook or Google credentials? Cheers, Mark On Tue, Oct 9, 2012 at 11:14 AM, Filipe Portes wrote: > well, > > what I really will like to see, more than JavaFx running over mobile > plataforms, Is java embedded and JavaFX becoming themselves a pure Java > mobile plataform. > > On Tue, Oct 9, 2012 at 2:53 PM, wrote: > > > Thanks for stepping in Richard. > > > > Jiri > > > > ------------ P?vodn? zpr?va ------------ > > Od: Werner Lehmann > > P?edm?t: Re: No JavaFX for iOS, Android or WP - why not? > > Datum: 09.10.2012 19:36:15 > > ------------------------------**---------- > > > > FWIW, the community support on this mailing list is outstanding in my > > opinion. Usually it does not take more than a day to even get replies > > directly from Oracle staff. And suggestions are discussed with an open > > mind. Compare that to the cost and response time of a support contract. > > > > Rgds > > Werner > > > > On 09.10.2012 19:20, Richard Bair wrote: > > > >> In the Java group, we are very concerned about community involvement. > >> > > > > > > > > > -- > Filipe Portes - @filipeportes > Java Architect - Senior Java EE/Web > JUGLeader Gojava - @gojava > -- John From swpalmer at gmail.com Tue Oct 9 14:39:42 2012 From: swpalmer at gmail.com (Scott Palmer) Date: Tue, 9 Oct 2012 17:39:42 -0400 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: On Tue, Oct 9, 2012 at 5:20 PM, John McDonnell wrote: > Commented in line. > > On 9 October 2012 20:04, Mark Fortner wrote: > > > - *Support for Swing components within JavaFX. * If the goal is to > > replace Swing, then this is one of those essential capabilities that > > needs > > to be in place. The current examples only demonstrate how to put > JavaFX > > components within Swing applications. Unfortunately, if you want to > > reuse > > any existing components (like JFreeCharts for example) within your > > project, > > you're SOL at the moment. > > > > Should JavaFX be able to reuse Swing components? I don't necessarily think > it should. > > Existing swing components wont have the CSS styling and would look out of > place surrounded by a Rich UI. I feel JavaFX should be looking forward, as > opposed to adding backward compatibility for various Swing libraries. > When/If JavaFX is supported on multiple OS's like iOS, Metro, Android, > would users want to see a Swing component, or would they like to see a > JavaFX component that looks exactly like it should? > > Though there are swing component libraries that have the functionality that > is needed in JavaFX, like as you mentioned JFreeCharts, but surely thats > for a oracle/community to adopt and take forward. To see that the > community needs and look to address that with a new feature of JavaFX, or a > new JavaFX library. Swing libraries grew over time and started tackling > the functionality that was missing in swing, like a property Chart AP, > TreeTableView, etc, but we need groups like the JFXtras team to take up the > baton. That being said, I hope the next release of functionally for the > JavaFX charts is somewhat comparable to the functionality offered in > projects like JFreeCharts > > I agree that If you want Swing, use a JFXPanel in your Swing app until you are ready to go 100% JavaFX. But of course that means JFXPanel needs to work smoothly. It had some rough edges in the beginning. Long term nobody wants two event threads and all the ugly synchronization issues that come up. Deprecate Swing around Java 9 and push forward. Scott From zonski at gmail.com Tue Oct 9 14:43:52 2012 From: zonski at gmail.com (Daniel Zwolenski) Date: Wed, 10 Oct 2012 08:43:52 +1100 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: Richard and crew, is Oracle using JavaFX in commercial situations? If so are you able to tell us how/where (ie what space) and to what extent? Maybe knowing this will help us understand the reasons behind all this and the direction Oracle sees this all going (and allow us to decide if we want to help row that boat or jump out now). Just as (possibility more) disappointing as the mobile stuff is this vibe that Oracle does not see JFX having much of a role in the 'web' space. It looks like a straight bow-out to HTML5. I highly doubt any of this stuff is your, or your team's preference and sentiment, but as great as that is, it doesn't help us. Oracle holds the purse strings and that's what will control, and direct the platform. Serious, non-rhetorical question: if you were a front-line developer right now what sort of job would you say to your customer "the best platform your needs here is JavaFX"? The notion that once its all open source the community can do all the extra work to bridge the short commings is a bit of a fantasy. Firstly, it's going to take way too long to get there, established platforms are snowballing ahead as JavaFX struggles to catch up. We'll have HTML6 by the time JFX gets open sourced AND then the community gets round to adding features that needed to be in there 6 months ago to be competitive. Secondly, where's the incentive for the community to do this? Why not invest our time in making something with a more complete base better instead of plugging gaping holes in a niche, orphaned technology that "has interesting potential". There's no critical mass to the community yet, and another year or two of not being relevant in the major spaces of web and mobile will only see this worsen. I've had to go to HTML5 over the last few months because JFX just isn't ready. Another couple of months and I'll be so heavily invested in HTML5 based solutions that I won't be able to justify coming back. Finally, if we didn't need a large corporation backing/financing the main components of this thing then JFX would have been built by the community years ago. If Oracle is only looking at this platform as some sort of glorified 3D charting gimmick, then the community won't get the under-swell of momentum it needs to get past the tipping point where it just grows by itself. The attitude needs to be "if you build it, they will come". Currently it looks like "when they come they can then build it". Can anyone actually see that working? Without web and/or mobile you're fishing for a community without having any bait. No community means no one to build the tools needed to then grow it, no one pushing IDEs to support it, no one making frameworks others can leverage. Which of course is a cyclic spiral into obscurity. As I said I dont doubt your commitment to this platform but I do now doubt Oracle's. I want to be wrong - tell us how and when JavaFX is going to be relevant to any significant space or sector. On 10/10/2012, at 6:04 AM, Mark Fortner wrote: > My preference would be to get the following tasks taken care of before > Oracle starts throwing resources at supporting tablets, mobile and JavaFX > 3D: > > - *Deployment using Maven.* Although you can build with Maven, there > are a lot of hoops that you still have to jump through, and we still don't > have the artifacts in an accessible repo. I think Zonski, and others have > blogged about this, and kvetched on mailing lists so I won't repeat their > comments here. > - *Webstart deployment *- this is still problematic. Currently when you > push new artifacts to your web server, it's not replacing the existing JARs > in the user's cache -- despite what the documentation says. The "special" > javafx tags aren't documented well enough and presume that you're using the > Ant tools to generate the JNLP. And getting shaded jars is next to > impossible. > - *Charts* - support for zooming and panning within the charts. Support > for drawing on top of charts. > - *Support for Swing components within JavaFX. * If the goal is to > replace Swing, then this is one of those essential capabilities that needs > to be in place. The current examples only demonstrate how to put JavaFX > components within Swing applications. Unfortunately, if you want to reuse > any existing components (like JFreeCharts for example) within your project, > you're SOL at the moment. > - *Support for an EventBus.* Currently, there's a lot of point2point > event code that you have to write to fire and listen to events. It would > make for a much more useable codebase if you could simply publish and > subscribe to events at the application level. > - *Release the source.* It's a royal pain to have to download the > source through mercurial rather than simply read it as you do with the > Swing code or download it as you do with any Maven package. > > There's also some work that needs to be done to make it easier for people > to participate. I have 3 accounts at the moment: one for this mailing > list, one for the forums, and one for JIRA. Can we just boil that down to > one, and let me login with Facebook or Google credentials? > > Cheers, > > Mark > > > > > On Tue, Oct 9, 2012 at 11:14 AM, Filipe Portes wrote: > >> well, >> >> what I really will like to see, more than JavaFx running over mobile >> plataforms, Is java embedded and JavaFX becoming themselves a pure Java >> mobile plataform. >> >> On Tue, Oct 9, 2012 at 2:53 PM, wrote: >> >>> Thanks for stepping in Richard. >>> >>> Jiri >>> >>> ------------ P?vodn? zpr?va ------------ >>> Od: Werner Lehmann >>> P?edm?t: Re: No JavaFX for iOS, Android or WP - why not? >>> Datum: 09.10.2012 19:36:15 >>> ------------------------------**---------- >>> >>> FWIW, the community support on this mailing list is outstanding in my >>> opinion. Usually it does not take more than a day to even get replies >>> directly from Oracle staff. And suggestions are discussed with an open >>> mind. Compare that to the cost and response time of a support contract. >>> >>> Rgds >>> Werner >>> >>> On 09.10.2012 19:20, Richard Bair wrote: >>> >>>> In the Java group, we are very concerned about community involvement. >>>> >>> >>> >>> >> >> >> -- >> Filipe Portes - @filipeportes >> Java Architect - Senior Java EE/Web >> JUGLeader Gojava - @gojava >> From phidias51 at gmail.com Tue Oct 9 14:47:07 2012 From: phidias51 at gmail.com (Mark Fortner) Date: Tue, 9 Oct 2012 14:47:07 -0700 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: John, The problem is we're not yet at a point where JavaFX components that can fully replace their Swing equivalents. And we may never get there if vendors believe that there's no market for it (kind of a chicken and egg problem). > Should JavaFX be able to reuse Swing components? I don't necessarily > think it should. > > Existing swing components wont have the CSS styling and would look out of > place surrounded by a Rich UI. I feel JavaFX should be looking forward, as > opposed to adding backward compatibility for various Swing libraries. > When/If JavaFX is supported on multiple OS's like iOS, Metro, Android, > would users want to see a Swing component, or would they like to see a > JavaFX component that looks exactly like it should? > > I was speaking about desktop development/applet development primarily where all of the current Swing development occurs. The lack of CSS styling for Swing components doesn't bother me that much and would be tolerable as an interim solution until the JavaFX components are mature enough to be used as replacements. > Though there are swing component libraries that have the functionality > that is needed in JavaFX, like as you mentioned JFreeCharts, but surely > thats for a oracle/community to adopt and take forward. To see that the > community needs and look to address that with a new feature of JavaFX, or a > new JavaFX library. Swing libraries grew over time and started tackling > the functionality that was missing in swing, like a property Chart AP, > TreeTableView, etc, but we need groups like the JFXtras team to take up the > baton. That being said, I hope the next release of functionally for the > JavaFX charts is somewhat comparable to the functionality offered in > projects like JFreeCharts > > Most of the JavaFX libraries I've seen so far provide toy widgets, but not something that would necessarily be useful for corporate app development. Speedometer type dials, and battery gauges aren't really useful when trying to display financial or scientific data. Mark From pedro.duquevieira at gmail.com Tue Oct 9 15:12:39 2012 From: pedro.duquevieira at gmail.com (Pedro Duque Vieira) Date: Tue, 9 Oct 2012 23:12:39 +0100 Subject: No JavaFX for iOS, Android or WP - why not? Message-ID: > > Richard and crew, is Oracle using JavaFX in commercial situations? If so > are you able to tell us how/where (ie what space) and to what extent? Maybe > knowing this will help us understand the reasons behind all this and the > direction Oracle sees this all going (and allow us to decide if we want to > help row that boat or jump out now). > Just as (possibility more) disappointing as the mobile stuff is this vibe > that Oracle does not see JFX having much of a role in the 'web' space. It > looks like a straight bow-out to HTML5. > I highly doubt any of this stuff is your, or your team's preference and > sentiment, but as great as that is, it doesn't help us. Oracle holds the > purse strings and that's what will control, and direct the platform. > Serious, non-rhetorical question: if you were a front-line developer right > now what sort of job would you say to your customer "the best platform your > needs here is JavaFX"? > The notion that once its all open source the community can do all the > extra work to bridge the short commings is a bit of a fantasy. > Firstly, it's going to take way too long to get there, established > platforms are snowballing ahead as JavaFX struggles to catch up. We'll have > HTML6 by the time JFX gets open sourced AND then the community gets round > to adding features that needed to be in there 6 months ago to be > competitive. > Secondly, where's the incentive for the community to do this? Why not > invest our time in making something with a more complete base better > instead of plugging gaping holes in a niche, orphaned technology that "has > interesting potential". There's no critical mass to the community yet, and > another year or two of not being relevant in the major spaces of web and > mobile will only see this worsen. I've had to go to HTML5 over the last few > months because JFX just isn't ready. Another couple of months and I'll be > so heavily invested in HTML5 based solutions that I won't be able to > justify coming back. > Finally, if we didn't need a large corporation backing/financing the main > components of this thing then JFX would have been built by the community > years ago. If Oracle is only looking at this platform as some sort of > glorified 3D charting gimmick, then the community won't get the under-swell > of momentum it needs to get past the tipping point where it just grows by > itself. > The attitude needs to be "if you build it, they will come". Currently it > looks like "when they come they can then build it". Can anyone actually see > that working? > Without web and/or mobile you're fishing for a community without having > any bait. No community means no one to build the tools needed to then grow > it, no one pushing IDEs to support it, no one making frameworks others can > leverage. Which of course is a cyclic spiral into obscurity. > As I said I dont doubt your commitment to this platform but I do now doubt > Oracle's. I want to be wrong - tell us how and when JavaFX is going to be > relevant to any significant space or sector. +100 on Daniel Zwolenski comments. I wish JavaFX to be the platform of choice for RIA but right now with the current state of affairs I don't see that coming. -- Pedro Duque Vieira From freddy at spinningnoodle.com Tue Oct 9 18:33:08 2012 From: freddy at spinningnoodle.com (Freddy Guime) Date: Tue, 9 Oct 2012 20:33:08 -0500 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: Message-ID: <006901cda687$3546ca80$9fd45f80$@com> Interesting observations, in this sense I can relate. I am a Swing developer for an Options Trading Platform here in Chicago, and coming from JavaOne one of my goals was to evaluate the appropriateness of JavaFX to replace our front-end Swing App. For the lack of CSS I agree with Mark. In the realm of Desktop application, while it is definitively a 'nice' feature is not that we 'tinker' with a Swing App skin all day long, and while sometimes painful (Nimbus, I'm looking at you :P) it is probably where we spend the least time in Swing Development. In terms of components, (and I love the components done by Gerrit, and appreciate the work done by Jonathan Giles), I think we are still 'in development'. What I am realizing is that probably, the basics are there, and there seems to be enough 'hooks' and extensibility to fill-in the gaps. We are trying, under-the-covers do a pilot and see how a particular (but yet very important) section of our system behaves under JavaFX. Questions on performance (Options Exchanges sends a lot of Market Data, which required us to tweak JTables immensely, so I'm expected that will happen in FX) and adequacy for our 'financial' app will be answered then. In that sense, it does feel that for us, the Desktop guys (probably a minority nowadays) would have to eventually move away from Swing, as it is going to become 'stale' (Evidenced by not having a single session on Swing at this JavaOne, nor a lot of Swing bugs being closed, kinda expected, but still). One risk that I do see is that because Swing developers will have to move/migrate to another technology, a question of alternative technologies is brought up (even for us, sadly looking at WPF + C# as well) Just adding my 2c as a rogue Desktop Developer :) Freddy Guime ---- Date: Tue, 9 Oct 2012 14:47:07 -0700 From: Mark Fortner Subject: Re: Re: No JavaFX for iOS, Android or WP - why not? To: openjfx-dev at openjdk.java.net Message-ID: Content-Type: text/plain; charset=ISO-8859-1 John, The problem is we're not yet at a point where JavaFX components that can fully replace their Swing equivalents. And we may never get there if vendors believe that there's no market for it (kind of a chicken and egg problem). > Should JavaFX be able to reuse Swing components? I don't necessarily > think it should. > > Existing swing components wont have the CSS styling and would look out of > place surrounded by a Rich UI. I feel JavaFX should be looking forward, as > opposed to adding backward compatibility for various Swing libraries. > When/If JavaFX is supported on multiple OS's like iOS, Metro, Android, > would users want to see a Swing component, or would they like to see a > JavaFX component that looks exactly like it should? > > I was speaking about desktop development/applet development primarily where all of the current Swing development occurs. The lack of CSS styling for Swing components doesn't bother me that much and would be tolerable as an interim solution until the JavaFX components are mature enough to be used as replacements. > Though there are swing component libraries that have the functionality > that is needed in JavaFX, like as you mentioned JFreeCharts, but surely > thats for a oracle/community to adopt and take forward. To see that the > community needs and look to address that with a new feature of JavaFX, or a > new JavaFX library. Swing libraries grew over time and started tackling > the functionality that was missing in swing, like a property Chart AP, > TreeTableView, etc, but we need groups like the JFXtras team to take up the > baton. That being said, I hope the next release of functionally for the > JavaFX charts is somewhat comparable to the functionality offered in > projects like JFreeCharts > > Most of the JavaFX libraries I've seen so far provide toy widgets, but not something that would necessarily be useful for corporate app development. Speedometer type dials, and battery gauges aren't really useful when trying to display financial or scientific data. Mark End of openjfx-dev Digest, Vol 11, Issue 20 ******************************************* From richard.bair at oracle.com Tue Oct 9 19:22:42 2012 From: richard.bair at oracle.com (Richard Bair) Date: Tue, 9 Oct 2012 19:22:42 -0700 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: > Serious, non-rhetorical question: if you were a front-line developer right now what sort of job would you say to your customer "the best platform your needs here is JavaFX"? Any serious application. I'm not talking about some web property like nike.com, but rather, all of the sales software or distribution software or whatever is running Nike corporation. With co-bundling and auto-update, you really don't need to build web apps for that kind of stuff. That's what I would be aiming for. > The notion that once its all open source the community can do all the extra work to bridge the short commings is a bit of a fantasy. I should hope not. I know many developers (some of whom have already spoken up on this thread) happy to do a port. Android hasn't had any trouble getting 3rd parties to port Android to anything and everything. A new port of JavaFX is not a major undertaking, almost the entire platform just works. > Firstly, it's going to take way too long to get there, established platforms are snowballing ahead as JavaFX struggles to catch up. We'll have HTML6 by the time JFX gets open sourced AND then the community gets round to adding features that needed to be in there 6 months ago to be competitive. That's just being silly. HTML 5 isn't even going to be here for a few more years, let alone 6. > Secondly, where's the incentive for the community to do this? If there is no incentive, then I guess you've proved the point, no? I should hope there is a large amount of incentive, as others on this thread (and many more privately) have verified. You act as though nobody has adopted JavaFX, but we're seeing a broad swell of adoption, especially among existing Swing developers. There are a lot of people who are developing for JavaFX commercially, and most of those people are not talking about it openly. Some very big customers in the lot. They love FX and are also committed to it. Oracle funds hundreds of salaries based on JavaFX & Java client. There is a huge, heavy investment from Oracle. JavaFX is here for a long time -- we've got paying customers and we've got support contracts. Look, we got beat up real bad for not having Mac and Linux support at 1.0, people questioned publicly whether we'd ever do it. Richard From ozemale at ozemail.com.au Wed Oct 10 01:14:13 2012 From: ozemale at ozemail.com.au (John C. Turnbull) Date: Wed, 10 Oct 2012 19:14:13 +1100 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: <00ef01cda6bf$3be3c680$b3ab5380$@com.au> Richard has stated that porting JavaFX to iOS or Android is not currently on the roadmap. So think what that means. The current roadmap extends out to 2015/16 or so with the release of JavaFX 8 & 9 so we are talking about some time after that. Realistically, if JavaFX ever actually does run on iOS or Android then it's going to be 2016/7 at the earliest. That's another 4 or 5 years from now and surely by then JavaFX will be so far behind other mobile platforms that it really will have missed the boat. As much as I hate to say it, by then I could have gained expert skills in Objective C and have released any number of iOS apps. I was pinning my hopes on an official announcement from Oracle at this year's JavaOne that a Beta release of the iOS JavaFX deployment pack was imminent especially after teasing us for so long with demos. I am sure I am not the only one who is bitterly disappointed to learn that such technology is not even on the roadmap. In 4-5 years JavaFX will be completely irrelevant if it only runs on what many are already calling "legacy" desktops. -jct -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Daniel Zwolenski Sent: Wednesday, 10 October 2012 08:44 To: Mark Fortner Cc: openjfx-dev at openjdk.java.net Subject: Re: No JavaFX for iOS, Android or WP - why not? Richard and crew, is Oracle using JavaFX in commercial situations? If so are you able to tell us how/where (ie what space) and to what extent? Maybe knowing this will help us understand the reasons behind all this and the direction Oracle sees this all going (and allow us to decide if we want to help row that boat or jump out now). Just as (possibility more) disappointing as the mobile stuff is this vibe that Oracle does not see JFX having much of a role in the 'web' space. It looks like a straight bow-out to HTML5. I highly doubt any of this stuff is your, or your team's preference and sentiment, but as great as that is, it doesn't help us. Oracle holds the purse strings and that's what will control, and direct the platform. Serious, non-rhetorical question: if you were a front-line developer right now what sort of job would you say to your customer "the best platform your needs here is JavaFX"? The notion that once its all open source the community can do all the extra work to bridge the short commings is a bit of a fantasy. Firstly, it's going to take way too long to get there, established platforms are snowballing ahead as JavaFX struggles to catch up. We'll have HTML6 by the time JFX gets open sourced AND then the community gets round to adding features that needed to be in there 6 months ago to be competitive. Secondly, where's the incentive for the community to do this? Why not invest our time in making something with a more complete base better instead of plugging gaping holes in a niche, orphaned technology that "has interesting potential". There's no critical mass to the community yet, and another year or two of not being relevant in the major spaces of web and mobile will only see this worsen. I've had to go to HTML5 over the last few months because JFX just isn't ready. Another couple of months and I'll be so heavily invested in HTML5 based solutions that I won't be able to justify coming back. Finally, if we didn't need a large corporation backing/financing the main components of this thing then JFX would have been built by the community years ago. If Oracle is only looking at this platform as some sort of glorified 3D charting gimmick, then the community won't get the under-swell of momentum it needs to get past the tipping point where it just grows by itself. The attitude needs to be "if you build it, they will come". Currently it looks like "when they come they can then build it". Can anyone actually see that working? Without web and/or mobile you're fishing for a community without having any bait. No community means no one to build the tools needed to then grow it, no one pushing IDEs to support it, no one making frameworks others can leverage. Which of course is a cyclic spiral into obscurity. As I said I dont doubt your commitment to this platform but I do now doubt Oracle's. I want to be wrong - tell us how and when JavaFX is going to be relevant to any significant space or sector. On 10/10/2012, at 6:04 AM, Mark Fortner wrote: > My preference would be to get the following tasks taken care of before > Oracle starts throwing resources at supporting tablets, mobile and > JavaFX > 3D: > > - *Deployment using Maven.* Although you can build with Maven, there > are a lot of hoops that you still have to jump through, and we still don't > have the artifacts in an accessible repo. I think Zonski, and others have > blogged about this, and kvetched on mailing lists so I won't repeat their > comments here. > - *Webstart deployment *- this is still problematic. Currently when you > push new artifacts to your web server, it's not replacing the existing JARs > in the user's cache -- despite what the documentation says. The "special" > javafx tags aren't documented well enough and presume that you're using the > Ant tools to generate the JNLP. And getting shaded jars is next to > impossible. > - *Charts* - support for zooming and panning within the charts. Support > for drawing on top of charts. > - *Support for Swing components within JavaFX. * If the goal is to > replace Swing, then this is one of those essential capabilities that needs > to be in place. The current examples only demonstrate how to put JavaFX > components within Swing applications. Unfortunately, if you want to reuse > any existing components (like JFreeCharts for example) within your project, > you're SOL at the moment. > - *Support for an EventBus.* Currently, there's a lot of point2point > event code that you have to write to fire and listen to events. It would > make for a much more useable codebase if you could simply publish and > subscribe to events at the application level. > - *Release the source.* It's a royal pain to have to download the > source through mercurial rather than simply read it as you do with the > Swing code or download it as you do with any Maven package. > > There's also some work that needs to be done to make it easier for > people to participate. I have 3 accounts at the moment: one for this > mailing list, one for the forums, and one for JIRA. Can we just boil > that down to one, and let me login with Facebook or Google credentials? > > Cheers, > > Mark > > > > > On Tue, Oct 9, 2012 at 11:14 AM, Filipe Portes wrote: > >> well, >> >> what I really will like to see, more than JavaFx running over mobile >> plataforms, Is java embedded and JavaFX becoming themselves a pure >> Java mobile plataform. >> >> On Tue, Oct 9, 2012 at 2:53 PM, wrote: >> >>> Thanks for stepping in Richard. >>> >>> Jiri >>> >>> ------------ P?vodn? zpr?va ------------ >>> Od: Werner Lehmann >>> P?edm?t: Re: No JavaFX for iOS, Android or WP - why not? >>> Datum: 09.10.2012 19:36:15 >>> ------------------------------**---------- >>> >>> FWIW, the community support on this mailing list is outstanding in >>> my opinion. Usually it does not take more than a day to even get >>> replies directly from Oracle staff. And suggestions are discussed >>> with an open mind. Compare that to the cost and response time of a support contract. >>> >>> Rgds >>> Werner >>> >>> On 09.10.2012 19:20, Richard Bair wrote: >>> >>>> In the Java group, we are very concerned about community involvement. >>>> >>> >>> >>> >> >> >> -- >> Filipe Portes - @filipeportes >> Java Architect - Senior Java EE/Web >> JUGLeader Gojava - @gojava >> From goddard at seznam.cz Wed Oct 10 04:02:12 2012 From: goddard at seznam.cz (goddard at seznam.cz) Date: Wed, 10 Oct 2012 13:02:12 +0200 (CEST) Subject: =?us-ascii?Q?Re=3A=20RE=3A=20No=20JavaFX=20for=20iOS=2C=20Android=20or=20WP=20=2D=20why=20not=3F?= In-Reply-To: <00ef01cda6bf$3be3c680$b3ab5380$@com.au> Message-ID: <136002.15558.48972-30826-1180666988-1349866932@seznam.cz> I still don't understand all the skepticism here. - Swing will be replaced (not physically, but on the market) by JavaFX with some backwards compatibility. JavaFX has employs different programming model (scenegraph) from Swing. Get over it. - Mobile platforms should not be a big problem once JavaFX is opensourced thanks to increasing power of mobile devices that are close to what PC was at early 2000. - Embedded is the new mobile. - One should be able to run JFX embedded on embd. device or mobile device. - The fact that PC market is shrinking doesn't mean there's less money in it for desktop developers. PC will be used by professionals. - If one wants to develop in JFX for tablets there's a WeTab, for other vendors it's just matter of packaging the right JRE & JFX, I believe. Finally, no one really holds anyone back in some community effort. The community is there hack on whatever oracle provides in current version of JFX. The community has always been about putting extra hours into your hobby. The community has been always about sharing stuff. Now, how grateful is this community? - People complained that it's not Java 3-4 years ago. - People complained it's different runtime. - People complained about this and that. - Sun / Oracle opensourced JFX script. No one from the "community" did a shit about those "painpoints". Stop whining. If someone feels like that is not enough, go to Oracle and show your demo. This shit works the best every time. Get a contract, become a partner, push things forward. As a "lone wolf", start to develop components like those in JFXtras, get a job as JFX developer. So far, it's been what ifs, mights and could have beens. Jiri ------------ P?vodn? zpr?va ------------ Od: John C. Turnbull P?edm?t: RE: No JavaFX for iOS, Android or WP - why not? Datum: 10.10.2012 10:30:48 ---------------------------------------- Richard has stated that porting JavaFX to iOS or Android is not currently on the roadmap. So think what that means. The current roadmap extends out to 2015/16 or so with the release of JavaFX 8 & 9 so we are talking about some time after that. Realistically, if JavaFX ever actually does run on iOS or Android then it's going to be 2016/7 at the earliest. That's another 4 or 5 years from now and surely by then JavaFX will be so far behind other mobile platforms that it really will have missed the boat. As much as I hate to say it, by then I could have gained expert skills in Objective C and have released any number of iOS apps. I was pinning my hopes on an official announcement from Oracle at this year's JavaOne that a Beta release of the iOS JavaFX deployment pack was imminent especially after teasing us for so long with demos. I am sure I am not the only one who is bitterly disappointed to learn that such technology is not even on the roadmap. In 4-5 years JavaFX will be completely irrelevant if it only runs on what many are already calling "legacy" desktops. -jct -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Daniel Zwolenski Sent: Wednesday, 10 October 2012 08:44 To: Mark Fortner Cc: openjfx-dev at openjdk.java.net Subject: Re: No JavaFX for iOS, Android or WP - why not? Richard and crew, is Oracle using JavaFX in commercial situations? If so are you able to tell us how/where (ie what space) and to what extent? Maybe knowing this will help us understand the reasons behind all this and the direction Oracle sees this all going (and allow us to decide if we want to help row that boat or jump out now). Just as (possibility more) disappointing as the mobile stuff is this vibe that Oracle does not see JFX having much of a role in the 'web' space. It looks like a straight bow-out to HTML5. I highly doubt any of this stuff is your, or your team's preference and sentiment, but as great as that is, it doesn't help us. Oracle holds the purse strings and that's what will control, and direct the platform. Serious, non-rhetorical question: if you were a front-line developer right now what sort of job would you say to your customer "the best platform your needs here is JavaFX"? The notion that once its all open source the community can do all the extra work to bridge the short commings is a bit of a fantasy. Firstly, it's going to take way too long to get there, established platforms are snowballing ahead as JavaFX struggles to catch up. We'll have HTML6 by the time JFX gets open sourced AND then the community gets round to adding features that needed to be in there 6 months ago to be competitive. Secondly, where's the incentive for the community to do this? Why not invest our time in making something with a more complete base better instead of plugging gaping holes in a niche, orphaned technology that "has interesting potential". There's no critical mass to the community yet, and another year or two of not being relevant in the major spaces of web and mobile will only see this worsen. I've had to go to HTML5 over the last few months because JFX just isn't ready. Another couple of months and I'll be so heavily invested in HTML5 based solutions that I won't be able to justify coming back. Finally, if we didn't need a large corporation backing/financing the main components of this thing then JFX would have been built by the community years ago. If Oracle is only looking at this platform as some sort of glorified 3D charting gimmick, then the community won't get the under-swell of momentum it needs to get past the tipping point where it just grows by itself. The attitude needs to be "if you build it, they will come". Currently it looks like "when they come they can then build it". Can anyone actually see that working? Without web and/or mobile you're fishing for a community without having any bait. No community means no one to build the tools needed to then grow it, no one pushing IDEs to support it, no one making frameworks others can leverage. Which of course is a cyclic spiral into obscurity. As I said I dont doubt your commitment to this platform but I do now doubt Oracle's. I want to be wrong - tell us how and when JavaFX is going to be relevant to any significant space or sector. On 10/10/2012, at 6:04 AM, Mark Fortner wrote: > My preference would be to get the following tasks taken care of before > Oracle starts throwing resources at supporting tablets, mobile and > JavaFX > 3D: > > - *Deployment using Maven.* Although you can build with Maven, there > are a lot of hoops that you still have to jump through, and we still don't > have the artifacts in an accessible repo. I think Zonski, and others have > blogged about this, and kvetched on mailing lists so I won't repeat their > comments here. > - *Webstart deployment *- this is still problematic. Currently when you > push new artifacts to your web server, it's not replacing the existing JARs > in the user's cache -- despite what the documentation says. The "special" > javafx tags aren't documented well enough and presume that you're using the > Ant tools to generate the JNLP. And getting shaded jars is next to > impossible. > - *Charts* - support for zooming and panning within the charts. Support > for drawing on top of charts. > - *Support for Swing components within JavaFX. * If the goal is to > replace Swing, then this is one of those essential capabilities that needs > to be in place. The current examples only demonstrate how to put JavaFX > components within Swing applications. Unfortunately, if you want to reuse > any existing components (like JFreeCharts for example) within your project, > you're SOL at the moment. > - *Support for an EventBus.* Currently, there's a lot of point2point > event code that you have to write to fire and listen to events. It would > make for a much more useable codebase if you could simply publish and > subscribe to events at the application level. > - *Release the source.* It's a royal pain to have to download the > source through mercurial rather than simply read it as you do with the > Swing code or download it as you do with any Maven package. > > There's also some work that needs to be done to make it easier for > people to participate. I have 3 accounts at the moment: one for this > mailing list, one for the forums, and one for JIRA. Can we just boil > that down to one, and let me login with Facebook or Google credentials? > > Cheers, > > Mark > > > > > On Tue, Oct 9, 2012 at 11:14 AM, Filipe Portes wrote: > >> well, >> >> what I really will like to see, more than JavaFx running over mobile >> plataforms, Is java embedded and JavaFX becoming themselves a pure >> Java mobile plataform. >> >> On Tue, Oct 9, 2012 at 2:53 PM, wrote: >> >>> Thanks for stepping in Richard. >>> >>> Jiri >>> >>> ------------ P?vodn? zpr?va ------------ >>> Od: Werner Lehmann >>> P?edm?t: Re: No JavaFX for iOS, Android or WP - why not? >>> Datum: 09.10.2012 19:36:15 >>> ------------------------------**---------- >>> >>> FWIW, the community support on this mailing list is outstanding in >>> my opinion. Usually it does not take more than a day to even get >>> replies directly from Oracle staff. And suggestions are discussed >>> with an open mind. Compare that to the cost and response time of a support contract. >>> >>> Rgds >>> Werner >>> >>> On 09.10.2012 19:20, Richard Bair wrote: >>> >>>> In the Java group, we are very concerned about community involvement. >>>> >>> >>> >>> >> >> >> -- >> Filipe Portes - @filipeportes >> Java Architect - Senior Java EE/Web >> JUGLeader Gojava - @gojava >> From hang.vo at oracle.com Wed Oct 10 05:33:38 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 10 Oct 2012 12:33:38 +0000 Subject: hg: openjfx/8/graphics/rt: 6 new changesets Message-ID: <20121010123346.148AB4727B@hg.openjdk.java.net> Changeset: c15a91781139 Author: David Grieve Date: 2012-10-04 17:06 -0400 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/c15a91781139 RT-25118: replace code removed by bad merge, and other optimizations ! javafx-ui-common/src/com/sun/javafx/css/CascadingStyle.java ! javafx-ui-common/src/com/sun/javafx/css/CompoundSelector.java ! javafx-ui-common/src/com/sun/javafx/css/Match.java ! javafx-ui-common/src/com/sun/javafx/css/Rule.java ! javafx-ui-common/src/com/sun/javafx/css/Selector.java ! javafx-ui-common/src/com/sun/javafx/css/SimpleSelector.java ! javafx-ui-common/src/com/sun/javafx/css/StyleHelper.java ! javafx-ui-common/src/com/sun/javafx/css/StyleManager.java ! javafx-ui-common/src/javafx/scene/Node.java ! javafx-ui-common/src/javafx/scene/Parent.java ! javafx-ui-common/test/unit/com/sun/javafx/css/Node_cssStyleMap_Test.java ! javafx-ui-common/test/unit/com/sun/javafx/css/RuleTest.java ! javafx-ui-common/test/unit/com/sun/javafx/css/StyleablePropertyTest.java ! javafx-ui-common/test/unit/javafx/scene/CSSNode.java ! javafx-ui-controls/src/javafx/scene/control/Control.java ! javafx-ui-controls/src/javafx/scene/control/MultipleSelectionModelBase.java Changeset: bedd78e543a0 Author: David Grieve Date: 2012-10-04 17:06 -0400 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/bedd78e543a0 RT-25133: strip off package when comparing class name in css selector ! javafx-ui-common/src/com/sun/javafx/css/StyleHelper.java ! javafx-ui-controls/test/javafx/scene/control/PopupControlTest.java Changeset: 80b5d7e96fdb Author: David Grieve Date: 2012-10-05 14:24 -0400 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/80b5d7e96fdb RT-25370: upper four bits represent an index. When getting the index value, need to shift unsigned ! javafx-ui-common/src/com/sun/javafx/css/SimpleSelector.java Changeset: fe99329cd02e Author: rbair Date: 2012-10-08 12:32 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/fe99329cd02e Removed tests that are not doing anything. - javafx-ui-common/test/unit/javafx/scene/layout/BorderImageSlicesTest.java - javafx-ui-common/test/unit/javafx/scene/layout/BorderImageSlices_builder_Test.java Changeset: c0aff81b30ad Author: leifs Date: 2012-10-09 10:49 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/c0aff81b30ad Fixed RT-25479: [TextField] Text input starts from wrong position. Disable caret bias handling util it can be fully supported. ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/TextFieldSkin.java Changeset: ea00b638cdd6 Author: leifs Date: 2012-10-09 13:07 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/ea00b638cdd6 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/rt - javafx-ui-common/test/unit/javafx/scene/layout/BorderImageSlicesTest.java - javafx-ui-common/test/unit/javafx/scene/layout/BorderImageSlices_builder_Test.java From thoughtslinger at gmail.com Wed Oct 10 05:53:28 2012 From: thoughtslinger at gmail.com (Rick Walker) Date: Wed, 10 Oct 2012 08:53:28 -0400 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <136002.15558.48972-30826-1180666988-1349866932@seznam.cz> References: <00ef01cda6bf$3be3c680$b3ab5380$@com.au> <136002.15558.48972-30826-1180666988-1349866932@seznam.cz> Message-ID: Richard - I greatly appreciate the clarification. You have soothed some jitters. Oracle has every right to allocate its resources as it sees fit. Real-world demand from developers of commercial FX apps will hopefully tip the scales in favor of an Oracle-delivered iOS/Android stack. As a practical matter, it seems to me that tablet and smartphone co-bundled auto-updating apps may be more likely to be accepted by Apple/Google/Amazon app stores if bundled and packaged with tooling (read javafxpackager) provided by Oracle. Rick From swpalmer at gmail.com Wed Oct 10 06:42:30 2012 From: swpalmer at gmail.com (Scott Palmer) Date: Wed, 10 Oct 2012 09:42:30 -0400 Subject: Layout issues Message-ID: <9916D5C3-8439-4DA0-9300-8936410EA653@gmail.com> Hi, I have a custom container extending Pane that implements layoutChildren. I've noticed that this method is called continuously even though my scene is static. It's like something is always in the list of "dirty" nodes and is forcing a re-layout. I don't understand this. I've googled but I can't find a decent tutorial for implementing custom containers or custom layouts. Part of the problem with my application is that nodes are not properly shrining when I remove content from within them, they shrink a little, but not as much as they should. I'm still debugging, but wonder if there is any insight into how the layout system works that I've missed somewhere? Thanks, Scott From randahl at rockit.dk Wed Oct 10 06:56:45 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Wed, 10 Oct 2012 15:56:45 +0200 Subject: Layout issues In-Reply-To: <9916D5C3-8439-4DA0-9300-8936410EA653@gmail.com> References: <9916D5C3-8439-4DA0-9300-8936410EA653@gmail.com> Message-ID: Scott, in my experience this is not how JavaFX works in general. All my layoutChildren methods are only called when I change a property that directly or indirectly affects the layout, such as changing the text of a label or invoking requestLayout(). Your application must be doing something actively for this to happen, I believe. Perhaps you could remove parts of your UI until you isolate the component causing the problem. Randahl On Oct 10, 2012, at 15:42 , Scott Palmer wrote: > Hi, > > I have a custom container extending Pane that implements layoutChildren. I've noticed that this method is called continuously even though my scene is static. It's like something is always in the list of "dirty" nodes and is forcing a re-layout. I don't understand this. I've googled but I can't find a decent tutorial for implementing custom containers or custom layouts. > > Part of the problem with my application is that nodes are not properly shrining when I remove content from within them, they shrink a little, but not as much as they should. I'm still debugging, but wonder if there is any insight into how the layout system works that I've missed somewhere? > > Thanks, > > Scott From pedro.duquevieira at gmail.com Wed Oct 10 07:02:47 2012 From: pedro.duquevieira at gmail.com (Pedro Duque Vieira) Date: Wed, 10 Oct 2012 15:02:47 +0100 Subject: No JavaFX for iOS, Android or WP - why not? Message-ID: Hi Richard, What about the problem with applet deployment or webstart. This problem has been around since the beginning and there is no official statements/roadmaps on when is it going to be solved. Just some general pointers but nothing concrete. I think it would be important to get some official statement on this, preferably with deliverable dates. Thanks, best regards, > > Serious, non-rhetorical question: if you were a front-line developer > right now what sort of job would you say to your customer "the best > platform your needs here is JavaFX"? > Any serious application. I'm not talking about some web property like > nike.com, but rather, all of the sales software or distribution software > or whatever is running Nike corporation. With co-bundling and auto-update, > you really don't need to build web apps for that kind of stuff. That's what > I would be aiming for. > > The notion that once its all open source the community can do all the > extra work to bridge the short commings is a bit of a fantasy. > I should hope not. I know many developers (some of whom have already > spoken up on this thread) happy to do a port. Android hasn't had any > trouble getting 3rd parties to port Android to anything and everything. A > new port of JavaFX is not a major undertaking, almost the entire platform > just works. > > Firstly, it's going to take way too long to get there, established > platforms are snowballing ahead as JavaFX struggles to catch up. We'll have > HTML6 by the time JFX gets open sourced AND then the community gets round > to adding features that needed to be in there 6 months ago to be > competitive. > That's just being silly. HTML 5 isn't even going to be here for a few more > years, let alone 6. > > Secondly, where's the incentive for the community to do this? > If there is no incentive, then I guess you've proved the point, no? I > should hope there is a large amount of incentive, as others on this thread > (and many more privately) have verified. You act as though nobody has > adopted JavaFX, but we're seeing a broad swell of adoption, especially > among existing Swing developers. There are a lot of people who are > developing for JavaFX commercially, and most of those people are not > talking about it openly. Some very big customers in the lot. They love FX > and are also committed to it. > Oracle funds hundreds of salaries based on JavaFX & Java client. There is > a huge, heavy investment from Oracle. JavaFX is here for a long time -- > we've got paying customers and we've got support contracts. Look, we got > beat up real bad for not having Mac and Linux support at 1.0, people > questioned publicly whether we'd ever do it. > Richard -- Pedro Duque Vieira From sebastian.rheinnecker at yworks.com Wed Oct 10 08:15:43 2012 From: sebastian.rheinnecker at yworks.com (Sebastian Rheinnecker) Date: Wed, 10 Oct 2012 17:15:43 +0200 Subject: Layout issues In-Reply-To: References: <9916D5C3-8439-4DA0-9300-8936410EA653@gmail.com> Message-ID: <5075911F.50800@yworks.com> Hi Scott, I experienced quite a similar issue a while ago where a custom control of mine got resized over and over again although no changes to the width or height where applied. I overrode and made sure that if the values didn't change it all the method in the super class aren't called. That solved the issue for me. Kind regards, Sebastian On 10.10.2012 15:56, Randahl Fink Isaksen wrote: > Scott, in my experience this is not how JavaFX works in general. All my layoutChildren methods are only called when I change a property that directly or indirectly affects the layout, such as changing the text of a label or invoking requestLayout(). > > Your application must be doing something actively for this to happen, I believe. > > Perhaps you could remove parts of your UI until you isolate the component causing the problem. > > Randahl > > > > On Oct 10, 2012, at 15:42 , Scott Palmer wrote: > >> Hi, >> >> I have a custom container extending Pane that implements layoutChildren. I've noticed that this method is called continuously even though my scene is static. It's like something is always in the list of "dirty" nodes and is forcing a re-layout. I don't understand this. I've googled but I can't find a decent tutorial for implementing custom containers or custom layouts. >> >> Part of the problem with my application is that nodes are not properly shrining when I remove content from within them, they shrink a little, but not as much as they should. I'm still debugging, but wonder if there is any insight into how the layout system works that I've missed somewhere? >> >> Thanks, >> >> Scott -- Sebastian Rheinnecker phone: +49 7071 9709050 fax: +49 7071 9709051 yWorks GmbH Vor dem Kreuzberg 28 72070 Tuebingen Germany http://www.yworks.com Managing Directors: Sebastian M?ller, Michael Pfahler Commercial Registry: Stuttgart, Germany, HRB 382340 From sebastian.rheinnecker at yworks.com Wed Oct 10 08:21:29 2012 From: sebastian.rheinnecker at yworks.com (Sebastian Rheinnecker) Date: Wed, 10 Oct 2012 17:21:29 +0200 Subject: Layout issues In-Reply-To: <5075911F.50800@yworks.com> References: <9916D5C3-8439-4DA0-9300-8936410EA653@gmail.com> <5075911F.50800@yworks.com> Message-ID: <50759279.3060706@yworks.com> Uhm, I meant to say "I overrode resize(double, double)". Don't know why it slipped ;) On 10.10.2012 17:15, Sebastian Rheinnecker wrote: > Hi Scott, > > I experienced quite a similar issue a while ago where a custom control > of mine got resized over and over again although no changes to the > width or height where applied. I overrode and made sure that if the > values didn't change it all the method in the super class aren't > called. That solved the issue for me. > > Kind regards, > Sebastian > > On 10.10.2012 15:56, Randahl Fink Isaksen wrote: >> Scott, in my experience this is not how JavaFX works in general. All >> my layoutChildren methods are only called when I change a property >> that directly or indirectly affects the layout, such as changing the >> text of a label or invoking requestLayout(). >> >> Your application must be doing something actively for this to happen, >> I believe. >> >> Perhaps you could remove parts of your UI until you isolate the >> component causing the problem. >> >> Randahl >> >> >> >> On Oct 10, 2012, at 15:42 , Scott Palmer wrote: >> >>> Hi, >>> >>> I have a custom container extending Pane that implements >>> layoutChildren. I've noticed that this method is called >>> continuously even though my scene is static. It's like something is >>> always in the list of "dirty" nodes and is forcing a re-layout. I >>> don't understand this. I've googled but I can't find a decent >>> tutorial for implementing custom containers or custom layouts. >>> >>> Part of the problem with my application is that nodes are not >>> properly shrining when I remove content from within them, they >>> shrink a little, but not as much as they should. I'm still >>> debugging, but wonder if there is any insight into how the layout >>> system works that I've missed somewhere? >>> >>> Thanks, >>> >>> Scott > > -- Sebastian Rheinnecker phone: +49 7071 9709050 fax: +49 7071 9709051 yWorks GmbH Vor dem Kreuzberg 28 72070 Tuebingen Germany http://www.yworks.com Managing Directors: Sebastian M?ller, Michael Pfahler Commercial Registry: Stuttgart, Germany, HRB 382340 From phidias51 at gmail.com Wed Oct 10 08:28:17 2012 From: phidias51 at gmail.com (Mark Fortner) Date: Wed, 10 Oct 2012 08:28:17 -0700 Subject: Fwd: Re: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: Hi Peter, Comments below. > I am preferring to use Gradle these days. Nevertheless the issue of > putting JavaFX in a Maven Repository > is an important. Because JavaFX is not pure Java, the problem with > linking with native library is a major concern. > > Whatever JavaFX JAR you put in a artifact repository, whether SonaType > or Artifactory there has to be way to guarantee the code in the JAR > can always find the native libraries. Oracle have not come with a > scheme. I do not know of a safe way to do this portably that is cross > platform and work across all systems with causing a break if one or > the other dependencies are upgraded. The version, the native library > and the potential upgrades are the sticking problem. > > Then there is a licensing of the JavaFX Runtime and distribution of > Oracle's implementation. > Agreed. The assumption seems to be that if you use the Ant tasks to build, then you're OK. Everything else, you're on your own. Most of the organizations I've worked for left Ant behind 10 years ago. A mojo version of the Ant tasks would make deployment easier. A maven archetype for creating JavaFX projects would go a long way to making things easier. You simply run the archetype all of your dependencies, Eclipse/NetBeans project files, runtime environment variables are created for you. You could even add a starter application. > > > - *Webstart deployment *- this is still problematic. Currently when > you > > push new artifacts to your web server, it's not replacing the > existing JARs > > in the user's cache -- despite what the documentation says. The > "special" > > javafx tags aren't documented well enough and presume that you're > using the > > Ant tools to generate the JNLP. And getting shaded jars is next to > > impossible. > > I do not have an answer to this web start problem. I do assume you can > upgrade Java 7. > > I'm currently running Java 7. > > > - *Charts* - support for zooming and panning within the charts. > Support > > for drawing on top of charts. > > The controls and charts code is open source, go and implement your > chart component. > Start with a copy of the line chart and hack it. > > Not really looking to hack JavaFX classes to support basic functionality. I figure if I can do zooming and panning in Google Charts in a web browser, then I should be able to do the same with JavaFX. BTW, I tried hacking LineChart, and then quickly realized I would also have to hack NumberAxis because some fool made it final. The scope of my hacking quickly started to grow so I stopped before it got out of hand. > > > - *Support for Swing components within JavaFX. * If the goal is to > > replace Swing, then this is one of those essential capabilities that > needs > > to be in place. The current examples only demonstrate how to put > JavaFX > > components within Swing applications. Unfortunately, if you want to > reuse > > any existing components (like JFreeCharts for example) within your > project, > > you're SOL at the moment. > > They is not going to be 100% free ride on this extra third party > functionality. > > 1) Modify JFreeChart and port some of it or all of it to JavaFX > 2) Hack the existing Chart package until it gets you 80/20 of what you want > Unfortunately, if they're positioning this as a replacement for Swing, then they're going to need to have some way of support Swing components. There are just too many Swing libraries out there that may never get ported over. If SWT can be supported, I don't see why Swing can't. Either the original owners don't want to port them, don't have the funds to do it (this is especially true with academic libraries used for scientific applications), or have abandoned the code base. When you're contracting, porting a library is typically not part of the scope, since it's assumed that whatever components you're using already support 80% of what you want, and you just need to add functionality specific to the problem domain you're working in. > > > - *Support for an EventBus.* Currently, there's a lot of point2point > > event code that you have to write to fire and listen to events. It > would > > make for a much more useable codebase if you could simply publish and > > subscribe to events at the application level. > > Why not write a JavaFX extension framework that maps JavaFX Event to a > MessageBus implementation. > I'm not saying I can't write this, I'm saying I shouldn't have to. The point2point event model breaks down after a while especially in a highly interactive application, and results in memory leaks when you can't or don't disengage your listeners. > > > - *Release the source.* It's a royal pain to have to download the > > source through mercurial rather than simply read it as you do with the > > Swing code or download it as you do with any Maven package. > > > > The source code is there as JavaFX 2.2 as openjfx already. > I think you meant make the source code also a downloadable distribution. > Actually, since it currently ships with Java 7, the source code should be included just as the source code for Swing is included. > > Hack the build.xml in the openjfx project, and contribute the Ant target. > > I also note that there should be a standalone JavaFX Doc as distribution > Usually these are part of the standard Maven build -- so if they built with Maven they would get that for free. > > Ditto - hack the build.xml to javadoc and zip up the javadoc > > Contrib the patch back to the team > > > There's also some work that needs to be done to make it easier for people > > to participate. I have 3 accounts at the moment: one for this mailing > > list, one for the forums, and one for JIRA. Can we just boil that down > to > > one, and let me login with Facebook or Google credentials? > > > > Have you heard of the online services Google Onepass or LastPass or > Yahoo Super wallet? Not really looking for an alternative, merely the ability to sign on without having to create new accounts everywhere. One of the goals of the JavaFX project (described in Richard's quarterly report) is to increase community participation. Most of what I've mentioned are items that should lower those barriers to entry. Mark From tbee at tbee.org Wed Oct 10 09:11:41 2012 From: tbee at tbee.org (Tom Eugelink) Date: Wed, 10 Oct 2012 18:11:41 +0200 Subject: Layout issues In-Reply-To: <9916D5C3-8439-4DA0-9300-8936410EA653@gmail.com> References: <9916D5C3-8439-4DA0-9300-8936410EA653@gmail.com> Message-ID: <50759E3D.9030503@tbee.org> I have been attempting to get custom panes laid out by overriding layoutChilderen as well, and ended up with only partial correct layouts, never quite perfect. Then I switched to listening to the pane's width and height properties and then call a custom relayout() method. That works perfectly. Furthermore, by using binding to such properties combined with the calculation features, it now is a breeze to get stuff laid out. Tom On 2012-10-10 15:42, Scott Palmer wrote: > Hi, > > I have a custom container extending Pane that implements layoutChildren. I've noticed that this method is called continuously even though my scene is static. It's like something is always in the list of "dirty" nodes and is forcing a re-layout. I don't understand this. I've googled but I can't find a decent tutorial for implementing custom containers or custom layouts. > > Part of the problem with my application is that nodes are not properly shrining when I remove content from within them, they shrink a little, but not as much as they should. I'm still debugging, but wonder if there is any insight into how the layout system works that I've missed somewhere? > > Thanks, > > Scott From richard.bair at oracle.com Wed Oct 10 09:12:43 2012 From: richard.bair at oracle.com (Richard Bair) Date: Wed, 10 Oct 2012 09:12:43 -0700 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <00ef01cda6bf$3be3c680$b3ab5380$@com.au> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <00ef01cda6bf$3be3c680$b3ab5380$@com.au> Message-ID: <35A6A60E-54CA-4F19-A4B3-046287BB4104@oracle.com> On Oct 10, 2012, at 1:14 AM, John C. Turnbull wrote: > Richard has stated that porting JavaFX to iOS or Android is not currently on the roadmap. So think what that means. The current roadmap extends out to 2015/16 or so with the release of JavaFX 8 & 9 so we are talking about some time after that. Realistically, if JavaFX ever actually does run on iOS or Android then it's going to be 2016/7 at the earliest. That's another 4 or 5 years from now and surely by then JavaFX will be so far behind other mobile platforms that it really will have missed the boat. That's not at all how it works. If it were put on the roadmap, it could be shipped in 6 months. Its not like you can't add features to a roadmap. Richard From tom.schindl at bestsolution.at Wed Oct 10 09:23:57 2012 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Wed, 10 Oct 2012 18:23:57 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <35A6A60E-54CA-4F19-A4B3-046287BB4104@oracle.com> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <00ef01cda6bf$3be3c680$b3ab5380$@com.au> <35A6A60E-54CA-4F19-A4B3-046287BB4104@oracle.com> Message-ID: <5075A11D.80900@bestsolution.at> Hi, Having now read through the complete thread I think there are 2 things to take a way for me/us: * Talk to my customers and make them bug Oracle why they can't do cross platform development including iOS and Android * Wait for Oracle to opensource the rest and pray that you are releasing your current iOS/Android sources so that we can take a look I think I don't have to state how strange it is that some people at Oracle (I'm not talking about Richard and his team) don't really get that if JavaFX doesn't work on all platforms (including iOS/Anroid) they won't ever get enough momentum to really take off. I fully understand that Oracle can't fix all and everything for us. Tom Am 10.10.12 18:12, schrieb Richard Bair: > > On Oct 10, 2012, at 1:14 AM, John C. Turnbull wrote: > >> Richard has stated that porting JavaFX to iOS or Android is not currently on the roadmap. So think what that means. The current roadmap extends out to 2015/16 or so with the release of JavaFX 8 & 9 so we are talking about some time after that. Realistically, if JavaFX ever actually does run on iOS or Android then it's going to be 2016/7 at the earliest. That's another 4 or 5 years from now and surely by then JavaFX will be so far behind other mobile platforms that it really will have missed the boat. > > That's not at all how it works. If it were put on the roadmap, it could be shipped in 6 months. Its not like you can't add features to a roadmap. > > Richard > -- B e s t S o l u t i o n . a t EDV Systemhaus GmbH ------------------------------------------------------------------------ tom schindl gesch?ftsf?hrer/CEO ------------------------------------------------------------------------ eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 http://www.BestSolution.at phone ++43 512 935834 From tbee at tbee.org Wed Oct 10 09:29:15 2012 From: tbee at tbee.org (Tom Eugelink) Date: Wed, 10 Oct 2012 18:29:15 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: <5075A25B.6060309@tbee.org> The minute someone from Oracle gives me the green light, those artifact are in Maven central. But I'm not going to take on Oracle's corporate lawyers in case I'm doing something that is in their eyes illegal. Tom On 2012-10-09 23:20, John McDonnell wrote: > Commented in line. > > On 9 October 2012 20:04, Mark Fortner wrote: > >> My preference would be to get the following tasks taken care of before >> Oracle starts throwing resources at supporting tablets, mobile and JavaFX >> 3D: >> >> - *Deployment using Maven.* Although you can build with Maven, there >> are a lot of hoops that you still have to jump through, and we still >> don't >> have the artifacts in an accessible repo. I think Zonski, and others >> have >> blogged about this, and kvetched on mailing lists so I won't repeat >> their >> comments here. >> > I actually though that this was fixed in 1.7u6, but after trying out a > simple maven project in 1.7u7 using netbeans, I realized that it was not as > easy as I hoped, well without the help of Google and ZenJava blog. > > For any sort of development I think these sort of things(Maven support, > deployment, etc) need to be looked into, it should be easy by now to simple > create a maven project and use JavaFX classes without jumping through any > hoops. There will be tighter integration of JavaFX in Java 8, when it > comes out right? if so thats still over half a year away :( > From swpalmer at gmail.com Wed Oct 10 11:13:48 2012 From: swpalmer at gmail.com (Scott Palmer) Date: Wed, 10 Oct 2012 14:13:48 -0400 Subject: Layout issues In-Reply-To: <50759E3D.9030503@tbee.org> References: <9916D5C3-8439-4DA0-9300-8936410EA653@gmail.com> <50759E3D.9030503@tbee.org> Message-ID: <9974FADF-7FB5-4060-BFFE-1973EBA0ACA7@gmail.com> I found my original problem. One of my components called requestLayout on some of it's children in response to layoutChildren. I changed that to a direct call to layoutChildren and that did the trick. I'm still struggling with odd sizing behaviour - when I remove content from within a container the container still seems to think it counts as far as the layout bounds go. It's odd as I can see the container shrink because it knows some of the content has been removed, but there is another bit of content that is clearly defining the size of the parent even though it has been removed from the parent. Scott On 2012-10-10, at 12:11 PM, Tom Eugelink wrote: > I have been attempting to get custom panes laid out by overriding layoutChilderen as well, and ended up with only partial correct layouts, never quite perfect. Then I switched to listening to the pane's width and height properties and then call a custom relayout() method. That works perfectly. Furthermore, by using binding to such properties combined with the calculation features, it now is a breeze to get stuff laid out. > > Tom > > > On 2012-10-10 15:42, Scott Palmer wrote: >> Hi, >> >> I have a custom container extending Pane that implements layoutChildren. I've noticed that this method is called continuously even though my scene is static. It's like something is always in the list of "dirty" nodes and is forcing a re-layout. I don't understand this. I've googled but I can't find a decent tutorial for implementing custom containers or custom layouts. >> >> Part of the problem with my application is that nodes are not properly shrining when I remove content from within them, they shrink a little, but not as much as they should. I'm still debugging, but wonder if there is any insight into how the layout system works that I've missed somewhere? >> >> Thanks, >> >> Scott > From hang.vo at oracle.com Wed Oct 10 11:33:29 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 10 Oct 2012 18:33:29 +0000 Subject: hg: openjfx/8/controls/rt: Fix for RT-25049: SplitMenuButton have gap. Message-ID: <20121010183332.1C7D847288@hg.openjdk.java.net> Changeset: 988f6f79107b Author: rbair Date: 2012-10-10 11:30 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/988f6f79107b Fix for RT-25049: SplitMenuButton have gap. As near as I can tell, they have a gap going back a long way. In fact, the gap is still there with Region caching disabled (in fact with region caching turned on, you don't get this gap at all, so I think this error came from some time in the past). The MenuButtonSkinBase layout was incorrect, along with the CSS. ! javafx-ui-common/src/javafx/scene/layout/CornerRadii.java ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/MenuButtonSkinBase.java ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/caspian.css From danno.ferrin at shemnon.com Wed Oct 10 11:35:53 2012 From: danno.ferrin at shemnon.com (Danno Ferrin) Date: Wed, 10 Oct 2012 12:35:53 -0600 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: On Wed, Oct 10, 2012 at 9:28 AM, Mark Fortner wrote: > Hi Peter, > > Comments below. > > > > I am preferring to use Gradle these days. Nevertheless the issue of > > putting JavaFX in a Maven Repository > > is an important. Because JavaFX is not pure Java, the problem with > > linking with native library is a major concern. > > > > Whatever JavaFX JAR you put in a artifact repository, whether SonaType > > or Artifactory there has to be way to guarantee the code in the JAR > > can always find the native libraries. Oracle have not come with a > > scheme. I do not know of a safe way to do this portably that is cross > > platform and work across all systems with causing a break if one or > > the other dependencies are upgraded. The version, the native library > > and the potential upgrades are the sticking problem. > > > > Then there is a licensing of the JavaFX Runtime and distribution of > > Oracle's implementation. > > > > Agreed. The assumption seems to be that if you use the Ant tasks to build, > then you're OK. Everything else, you're on your own. Most of the > organizations I've worked for left Ant behind 10 years ago. A mojo version > of the Ant tasks would make deployment easier. This is my problem with Maven the build system. You have to write and deploy classfiles to do anything but derivitives of current build styles. While it is good that it forces truly horrible build styles to conform to a convention as the path of least resistance, when you have to leave the trodden path it is incredibly painful. That is why I advocate Gradle for a new build, you can script your special cases in place and still deploy to a Maven repository. Maven the dependency system is generally speaking a good thing. > A maven archetype for > creating JavaFX projects would go a long way to making things easier. You > simply run the archetype all of your dependencies, Eclipse/NetBeans project > files, runtime environment variables are created for you. You could even > add a starter application. > For the most part it is the existing java archetype is already there. But what would excite me more would be conventions for how to add some of the standard additions to the file layout, so instead of putting stuff in the classpath and wiring in some ant calls you just drop some files in, configure nothing, run the appropriate goal or task, and get your bits. For example, all of this under src/main/deploy deploy.xml - xml config describing some of the values, such as jvm args, app name, etc with defaults driven by the POM icon.png - your default icon icons/icon_xx.png - multi sized icons package//... - per packaging depoyments. Platoform would be macosx, win, webstart, etc. Could also have a deploy.xml to override for local settings. We would need names and locations for signing keys, gatekeeper on mac would be different for sure. ps. why doesn't the list set the mailing list as the reply to? -- There is nothing that will hold me back. I know who I am.... I remember wher I came from, and I feel stronger for knowing. Zane, Ninja of Ice. Ninjago S01E07 From phidias51 at gmail.com Wed Oct 10 11:51:28 2012 From: phidias51 at gmail.com (Mark Fortner) Date: Wed, 10 Oct 2012 11:51:28 -0700 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: Cheers, Mark Hi Danno, >> >> > I am preferring to use Gradle these days. Nevertheless the issue of >> > putting JavaFX in a Maven Repository >> > is an important. Because JavaFX is not pure Java, the problem with >> > linking with native library is a major concern. >> > >> > Whatever JavaFX JAR you put in a artifact repository, whether SonaType >> > or Artifactory there has to be way to guarantee the code in the JAR >> > can always find the native libraries. Oracle have not come with a >> > scheme. I do not know of a safe way to do this portably that is cross >> > platform and work across all systems with causing a break if one or >> > the other dependencies are upgraded. The version, the native library >> > and the potential upgrades are the sticking problem. >> > >> > Then there is a licensing of the JavaFX Runtime and distribution of >> > Oracle's implementation. >> > >> >> Agreed. The assumption seems to be that if you use the Ant tasks to >> build, >> then you're OK. Everything else, you're on your own. Most of the >> organizations I've worked for left Ant behind 10 years ago. A mojo version >> of the Ant tasks would make deployment easier. > > > This is my problem with Maven the build system. You have to write and > deploy classfiles to do anything but derivitives of current build styles. > While it is good that it forces truly horrible build styles to conform to > a convention as the path of least resistance, when you have to leave the > trodden path it is incredibly painful. That is why I advocate Gradle for a > new build, you can script your special cases in place and still deploy to a > Maven repository. Maven the dependency system is generally speaking a good > thing. > >> The only time I've had to deviate from the well-trodden path is when I've had to take an Ant project, and add Maven to it without breaking the Ant build. I've looked at Gradle, and used it on a Groovy project that I've worked on, but I've found that the majority of the people still use Maven. In a typical technology adoption curve, Gradle seems to be on the leading edge of the curve, Maven on the peak of the curve, and Ant on the trailing edge. My thought was to try and get the JavaFX team to focus on the needs of the 80% of the enterprise developers who are out there and are looking at converting their existing Swing application into a JavaFX app. > A maven archetype for >> creating JavaFX projects would go a long way to making things easier. You >> simply run the archetype all of your dependencies, Eclipse/NetBeans >> project >> files, runtime environment variables are created for you. You could even >> add a starter application. >> > > For the most part it is the existing java archetype is already there. But > what would excite me more would be conventions for how to add some of the > standard additions to the file layout, so instead of putting stuff in the > classpath and wiring in some ant calls you just drop some files in, > configure nothing, run the appropriate goal or task, and get your bits. > > For example, all of this under src/main/deploy > deploy.xml - xml config describing some of the values, such as jvm args, > app name, etc with defaults driven by the POM > icon.png - your default icon > icons/icon_xx.png - multi sized icons > package//... - per packaging depoyments. Platoform would be > macosx, win, webstart, etc. Could also have a deploy.xml to override for > local settings. > > We would need names and locations for signing keys, gatekeeper on mac > would > Agreed. It needs to just as easy as you describe. Unfortunately, it's not there yet. I think Richard mentioned in his quarterly report that he was working on making it easier, but I haven't seen any specifics about this. > > ps. why doesn't the list set the mailing list as the reply to? > > Grrr. ;-) From tbee at tbee.org Wed Oct 10 12:06:42 2012 From: tbee at tbee.org (Tom Eugelink) Date: Wed, 10 Oct 2012 21:06:42 +0200 Subject: reply list In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: <5075C742.1090802@tbee.org> >> >> ps. why doesn't the list set the mailing list as the reply to? >> >> > Grrr. ;-) In Thunderbird I have a "reply" and "reply list" button, only for these mailinglist emails. Tom From randahl at rockit.dk Wed Oct 10 13:01:19 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Wed, 10 Oct 2012 22:01:19 +0200 Subject: reply list In-Reply-To: <5075C742.1090802@tbee.org> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <5075C742.1090802@tbee.org> Message-ID: <7BF10BAF-5735-4160-9FFF-4AD5F0E472C2@rockit.dk> The problem is because the mailing list does not set the reply-to header of the outgoing mails. I really wish someone would fix that. It happens quite often that someone replies directly. Randahl On Oct 10, 2012, at 21:06 , Tom Eugelink wrote: > >>> >>> ps. why doesn't the list set the mailing list as the reply to? >>> >>> >> Grrr. ;-) > > > In Thunderbird I have a "reply" and "reply list" button, only for these mailinglist emails. > > Tom > From debasish.raychawdhuri at gmail.com Wed Oct 10 13:07:41 2012 From: debasish.raychawdhuri at gmail.com (Debasish Ray Chawdhuri) Date: Thu, 11 Oct 2012 01:37:41 +0530 Subject: reply list In-Reply-To: <7BF10BAF-5735-4160-9FFF-4AD5F0E472C2@rockit.dk> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <5075C742.1090802@tbee.org> <7BF10BAF-5735-4160-9FFF-4AD5F0E472C2@rockit.dk> Message-ID: Yes I am also having the same problem, it must be fixed. On Thu, Oct 11, 2012 at 1:31 AM, Randahl Fink Isaksen wrote: > The problem is because the mailing list does not set the reply-to header of the outgoing mails. I really wish someone would fix that. It happens quite often that someone replies directly. > > Randahl > > > On Oct 10, 2012, at 21:06 , Tom Eugelink wrote: > >> >>>> >>>> ps. why doesn't the list set the mailing list as the reply to? >>>> >>>> >>> Grrr. ;-) >> >> >> In Thunderbird I have a "reply" and "reply list" button, only for these mailinglist emails. >> >> Tom >> > -- Debasish Ray Chawdhuri http://www.geekyarticles.com/ [A collection of advanced articles on java] From james.graham at oracle.com Wed Oct 10 13:26:12 2012 From: james.graham at oracle.com (Jim Graham) Date: Wed, 10 Oct 2012 13:26:12 -0700 Subject: reply list In-Reply-To: <5075C742.1090802@tbee.org> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <5075C742.1090802@tbee.org> Message-ID: <5075D9E4.3000306@oracle.com> Indeed I prefer it this way as I don't always want to burden the list with my replies. This list gives the option, but "Reply-To-List" lists don't have any convenient way to reply to just the sender... ...jim On 10/10/12 12:06 PM, Tom Eugelink wrote: > >>> >>> ps. why doesn't the list set the mailing list as the reply to? >>> >>> >> Grrr. ;-) > > > In Thunderbird I have a "reply" and "reply list" button, only for these > mailinglist emails. > > Tom > From zonski at gmail.com Wed Oct 10 14:12:03 2012 From: zonski at gmail.com (Daniel Zwolenski) Date: Thu, 11 Oct 2012 08:12:03 +1100 Subject: Fwd: No JavaFX for iOS, Android or WP - why not? References: Message-ID: Ah yea, forgot to reply all. Begin forwarded message: > From: Daniel Zwolenski > Date: 11 October 2012 1:42:19 AM AEDT > To: Richard Bair > Subject: Re: No JavaFX for iOS, Android or WP - why not? > > This is not whining, this is highlighting problems so solutions can be worked out. I thought that was the point of this forum and this community? > > And to stress even more, as I said very early on this is not just about iOS or Android support. It's about the direction JavaFX is heading and how it can be a real contender for mainstream serious application development, not just for niche use cases and platform enthusiasts. > > I'm not looking for a justification or defence of the current position (that's just wasting time and not making anything better). I'm looking for recognition of a genuine problem and then a workable solution > > Here's the problem: I'm a JFX fan. I want to use JFX. I currently can't. > > I work smack bang in the 'serious application' space Richard has indicated is the prime space for JFX. Right now I am building Grant Application management software (i.e. apply for and allocate funding). It is your classic form based system with a 'public facing' UI for applicants, a 'back-office' management UI, and a power 'admin' UI for helpdesk. I believe the back-office and admin UI systems are exactly the sort of apps Richard is talking about. I also believe this type of app is pretty damn similar to 80% of the Java applications out there. > > What's more my client is a pure-Java advocate, is totally open to using new technologies if they can be demonstrated to be better than their existing ones, and my client has some very sharp developers working for them. They _should_ be an absolute prime candidate for using JavaFX if it is truly the best platform for them. But they can't justify the move and I can't come up with a logical argument why they should. > > Isn't that a problem: the key target space for JFX, the right conditions; the 80% use case and yet still no movement. Isn't that something we should be looking at? I get that others are moving to JFX but as Richard alludes to below these are mostly Swing developers - that's a no brainer and not really the lion's share of the market. We need to see webapp developers making the switch to JFX. > > Tell me how you would sell JavaFX into a client who is already using webapps? I've tried these arguments and they don't work (my argument in bold, webapp developer's counter argument follows): > > JavaFX is cross platform. - Well so is HTML+JScript. In fact HTML will even work on iPads and Android tablets so you can take it into the meeting with you or do your work on the train. What's more to build HTML for all my platforms I just run one simple Maven build and deploy it to my server. To build cross platform JFX I have to have every possible OS setup with JFX installed, then I need the special packaging tool for that platform installed and on my path (with different steps on Mac, Linux and Windows), and I need to upload all of these separately and make sure the right one is delivered to the right client. Oh and there's no auto-updating yet, but in web land the user can just hit refresh. > > JavaFX doesn't have cross-browser problems: Yea but you have to install Java (horrible) or a co-bundled app (still pretty raw), which is really no worse than telling a back-office web user they can only use one browser (such as Chrome), cross-browser issues magically gone! > > JavaFX can do richer user interfaces: not really, have you seen what you can do on the web these days? > > CSS selectors suck to maintain and debug: umm, JFX uses the same CSS selector model. What's more web has already started to address this with @Less, JFX has to play some catchup just to be on par. > > JavaFX is all pure Java none of that nasty scripting: sure but using JQuery and other JScript libraries you don't actually have to write that much JavaScript any more. Add in things like Google Closure Templates and things get quite clean. What's more IDE support for JScript is pretty good these days so you pick up a lot of scripting problems early, which is more than I can say for IDE support for things like FXML or JFX CSS - not enough community pressure to get those supported. > > JavaFX has layout managers: yea ok you win on that one, layout in HTML with CSS is horrible. But then there's things like Twitter Bootstrap which make it manageable, and to be honest us webapp guys have memorized all the obscure CSS hacks to get around this, so really it's not such a big deal, and we'd have to learn all new tricks in JFX anyway. > > JavaFX works offline: hey that's kind of cool but really all our users are connected to the web, and offline has security problems. It's not a strong use case for us, and to be honest we could probably do something with JScript if we really wanted to anyway. > > JavaFX will work on mobile so we can re-use our code and not have to write new XCode: ah, no it won't. Didn't you read those forum posts? > > > Once the web app developer has then finished ripping my arguments apart, he/she then lays in a few more blows: > HTML webapp development has a massive community behind it. Heaps bigger than JFX with a whole range of established tools and platforms, from awesome Spring integration to form validation frameworks, style sheet and HTML template libraries, Twitter Bootstrap, years worth of tutorials, example and well answered questions on StackOverflow > > HTML5 is gradually adding stuff that you wouldn't believe a browser could do, like 3D graphics, multi-media offline data storage. It is doing or will do everything that is on the JFX roadmap. > > Given the Java installation hassles, the client-facing side of things will always have to be HTML so we're going to have to do webapp development no matter what. Since the same coders are going to be working on all three UI's and there are some common components between them all, if we use web across the board then we can re-use things and keep all the patterns consistent making it easier to learn and maintain. > > Are you telling me I can't use Maven to do a JFX build properly? There's no plugin for it - forget it. > > So help me out here. What's the comeback? I've got nothing - and I can't imagine how anyone else building these sorts of apps is in any better position for selling in JavaFX in this key space?! > > > Some other more specific comments inline below. > > > On Wed, Oct 10, 2012 at 1:22 PM, Richard Bair wrote: > > > The notion that once its all open source the community can do all the extra work to bridge the short commings is a bit of a fantasy. > > I should hope not. I know many developers (some of whom have already spoken up on this thread) happy to do a port. Android hasn't had any trouble getting 3rd parties to port Android to anything and everything. A new port of JavaFX is not a major undertaking, almost the entire platform just works. > > Sorry to be a bit pedantic, but if it is not a major undertaking then why is it that Oracle is so wary of committing resources to it? This doesn't stack up. Is there some reason other than resources why Oracle isn't wanting to support mobile? > > Also, as I mentioned at the start of this email, iOS and Android is only one half of this conversation. The other is making it competitive with webapps. Which firstly and most importantly means properly addressing deployment well beyond co-bundling (e.g. the JScript 'VM' idea and/or a massively simplified one-click installer for a 'Java Browser' of some kind). > > I can't imagine any of that is trivial. > > > > Firstly, it's going to take way too long to get there, established platforms are snowballing ahead as JavaFX struggles to catch up. We'll have HTML6 by the time JFX gets open sourced AND then the community gets round to adding features that needed to be in there 6 months ago to be competitive. > > That's just being silly. HTML 5 isn't even going to be here for a few more years, let alone 6. > > Fair call but 'lazy' might be a better adjective than 'silly'. I was hand-waving for the feature number when I said HTML6, I meant that by the time all the above work is done HTML will have had those (2, 3, 4, 5?) years to improve upon it's current position (i.e. it will be at HTML-now++), whereas JFX will just be hitting the point that HTML is at now. That's before we take into account the size of the community improving HTML+JScript vs the size of the community improving JFX. > > And it's worth noting that although the HTML5 spec is not going to 'be here for a few more years' the good bits of the implementation are actually already alive and well in modern browsers. Basically when webapp people talk about HTML5 in general conversation they are usually talking about where HTML is at now. It's pretty good compared to what it was even a few years ago. More standard, less buggy, and good tools for hiding the worst of it. > > GWT (which allows you to compile Java to cross-platform JScript) is on the decline for example, since the current state of HTML makes it less relevant (of course the GWT enthusiasts will react to that comment just as angrily as the Flash ones would if I said that was on the decline, and as the JFX have been when I suggest something is out competing it - we all love our team). > > > > Secondly, where's the incentive for the community to do this? > > If there is no incentive, then I guess you've proved the point, no? > > Not quite. My question was not "where's the incentive for mobile and webapp support" but rather why put effort into adding this to the JFX platform when a competitor (i.e. webapp) already has it. Why not instead just move to that competitor and use your 'spare time' to add something even cooler on top of it. > > There's absolutely no doubt in my mind that the community not only wants, but has to have, both mobile and web support in their toolkit. If there is one toolkit that can offer both cleanly, allowing reuse between platforms, then that will be the one developers will turn to even if it has some other minor shortcomings. Web is nudging there already but it's crude. JavaFX could do it better but if it turns up too late for the party everyone will already be on the dance floor with Webapp. > > > I should hope there is a large amount of incentive, as others on this thread (and many more privately) have verified. You act as though nobody has adopted JavaFX, but we're seeing a broad swell of adoption, especially among existing Swing developers. > > I'd love to know more about the non-Swing developers adopting it. How many are there, why are they doing it, how are they finding it and what are they building with it. > > Convincing Swing developers to move to JFX is like convincing a kid to eat ice cream instead of sprouts. It's the other movements that are the indicators of long term mainstream success in my opinion. > > There are a lot of people who are developing for JavaFX commercially, and most of those people are not talking about it openly. Some very big customers in the lot. They love FX and are also committed to it. > > Get them talking. Get them making noise. They need a community as much as the community needs them. Silence gets no one anywhere in this game. Growth leads to growth, snowball, critical mass, momentum. > > Do we have a "JFX sightings" yet? If not, I'd say that would be useful. > > Oracle funds hundreds of salaries based on JavaFX & Java client. There is a huge, heavy investment from Oracle. JavaFX is here for a long time -- we've got paying customers and we've got support contracts. Look, we got beat up real bad for not having Mac and Linux support at 1.0, people questioned publicly whether we'd ever do it. > > On the Mac/Linux issue, it was pretty early on for my involvement so maybe I remember incorrectly but I thought you guys made a pretty public commitment to supporting these from the outset (just didn't specify dates). So the guys 'beating you up' just didn't trust Oracle and were unjustified in this. > > That's not the same as this situation is it? What we're seeing here is an open (if slightly vague) stance being taken to not support mobile and not care too much about web. We're hearing "Oracle won't do it but the community can if it wants". > > As ever with this stuff you're going to cop the brunt of it because you're the face of it all. I've seen enough of how you and your team work to know you guys want everything we want for this platform, and you're all working your guts out to make it happen. I'm sure you're probably pushing back on this just as hard as we're all pushing back on you. For me this isn't about lampooning any of the work here or kicking or screaming for the sake of it - it's about waving a flag at the train driver so we can pull out the map and check that we're on the right track (and if needs be get the union to march on HQ to get some new tracks laid). > > Truly sort out deployment and I am certain JFX can penetrate webapp (but only if it happens soon, html5 is winning the battle for hearts and minds). > > Support mobile and I am certain JFX will own this space quickly (easy win - it's such a mess). > > Either space would be enough to grow the community past tipping point (and from this everything else would flow). > > Supporting both spaces would make it the all round winner. > > Support neither and, in my opinion, JFX will be limited to the space currently owned by Swing. Sure it'll be around for a long time but it won't be a main player, and certainly won't achieve it's potential. > > From debasish.raychawdhuri at gmail.com Wed Oct 10 16:26:48 2012 From: debasish.raychawdhuri at gmail.com (Debasish Ray Chawdhuri) Date: Thu, 11 Oct 2012 04:56:48 +0530 Subject: reply list In-Reply-To: <5075D9E4.3000306@oracle.com> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <5075C742.1090802@tbee.org> <5075D9E4.3000306@oracle.com> Message-ID: Since the question was asked on the mailing list, other people following the mailing list should get the answers. There is no hide-and-seek here. Most of the time you should not contact the sender directly. Just in case you do (for whatever weird reason, is it too bad to be shared?), you can still copy address of the sender. You may be thinking of the mailing list as some kind of help forum, where you are the expert and and resolve people's problems, so you give an answer only to them. But that should not be the intention of the list. It is more made for a community discussion. When you give an answer, other people should be able to see that answer and ask more questions or possibly challenge your answer. This is how a community should work. Why do you want to deal with individuals? On Thu, Oct 11, 2012 at 1:56 AM, Jim Graham wrote: > Indeed I prefer it this way as I don't always want to burden the list with > my replies. > > This list gives the option, but "Reply-To-List" lists don't have any > convenient way to reply to just the sender... > > ...jim > > > On 10/10/12 12:06 PM, Tom Eugelink wrote: >> >> >>>> >>>> ps. why doesn't the list set the mailing list as the reply to? >>>> >>>> >>> Grrr. ;-) >> >> >> >> In Thunderbird I have a "reply" and "reply list" button, only for these >> mailinglist emails. >> >> Tom >> > -- Debasish Ray Chawdhuri http://www.geekyarticles.com/ [A collection of advanced articles on java] From randahl at rockit.dk Wed Oct 10 16:46:06 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Thu, 11 Oct 2012 01:46:06 +0200 Subject: reply list In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <5075C742.1090802@tbee.org> <5075D9E4.3000306@oracle.com> Message-ID: +1 from me. Well said! R. On Oct 11, 2012, at 1:26 , Debasish Ray Chawdhuri wrote: > Since the question was asked on the mailing list, other people > following the mailing list should get the answers. There is no > hide-and-seek here. Most of the time you should not contact the sender > directly. Just in case you do (for whatever weird reason, is it too > bad to be shared?), you can still copy address of the sender. > > You may be thinking of the mailing list as some kind of help forum, > where you are the expert and and resolve people's problems, so you > give an answer only to them. But that should not be the intention of > the list. It is more made for a community discussion. When you give an > answer, other people should be able to see that answer and ask more > questions or possibly challenge your answer. This is how a community > should work. > > Why do you want to deal with individuals? > > On Thu, Oct 11, 2012 at 1:56 AM, Jim Graham wrote: >> Indeed I prefer it this way as I don't always want to burden the list with >> my replies. >> >> This list gives the option, but "Reply-To-List" lists don't have any >> convenient way to reply to just the sender... >> >> ...jim >> >> >> On 10/10/12 12:06 PM, Tom Eugelink wrote: >>> >>> >>>>> >>>>> ps. why doesn't the list set the mailing list as the reply to? >>>>> >>>>> >>>> Grrr. ;-) >>> >>> >>> >>> In Thunderbird I have a "reply" and "reply list" button, only for these >>> mailinglist emails. >>> >>> Tom >>> >> > > > > -- > Debasish Ray Chawdhuri > http://www.geekyarticles.com/ > [A collection of advanced articles on java] From james.graham at oracle.com Wed Oct 10 18:10:53 2012 From: james.graham at oracle.com (Jim Graham) Date: Wed, 10 Oct 2012 18:10:53 -0700 Subject: reply list In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <5075C742.1090802@tbee.org> <5075D9E4.3000306@oracle.com> Message-ID: <50761C9D.5030207@oracle.com> First, my comment was not any official position (as I said "I" prefer). A reply may not always be an answer. I'm implying no hide-and-seek here, but intentionally I may want to clarify something before I make an informed public response, or hash out some half-baked ideas in private before bringing them to list in a "more well baked" form. If I feel I am speaking from a position of knowledge then I will, quite instinctively, hit Reply-To-All and not even have to think about whether my message is reaching people. To avoid beating this issue any further - my general feelings are summarized well by resources found at the following page: http://marc.merlins.org/netrants/listreplyto.html which points primarily to this really well written message on the topic: http://www.unicom.com/pw/reply-to-harmful.html (and also includes a pointer to a counter-point that he refutes as well in another link...) ...jim On 10/10/12 4:26 PM, Debasish Ray Chawdhuri wrote: > Since the question was asked on the mailing list, other people > following the mailing list should get the answers. There is no > hide-and-seek here. Most of the time you should not contact the sender > directly. Just in case you do (for whatever weird reason, is it too > bad to be shared?), you can still copy address of the sender. > > You may be thinking of the mailing list as some kind of help forum, > where you are the expert and and resolve people's problems, so you > give an answer only to them. But that should not be the intention of > the list. It is more made for a community discussion. When you give an > answer, other people should be able to see that answer and ask more > questions or possibly challenge your answer. This is how a community > should work. > > Why do you want to deal with individuals? > > On Thu, Oct 11, 2012 at 1:56 AM, Jim Graham wrote: >> Indeed I prefer it this way as I don't always want to burden the list with >> my replies. >> >> This list gives the option, but "Reply-To-List" lists don't have any >> convenient way to reply to just the sender... >> >> ...jim >> >> >> On 10/10/12 12:06 PM, Tom Eugelink wrote: >>> >>> >>>>> >>>>> ps. why doesn't the list set the mailing list as the reply to? >>>>> >>>>> >>>> Grrr. ;-) >>> >>> >>> >>> In Thunderbird I have a "reply" and "reply list" button, only for these >>> mailinglist emails. >>> >>> Tom >>> >> > > > From goddard at seznam.cz Thu Oct 11 02:43:04 2012 From: goddard at seznam.cz (goddard at seznam.cz) Date: Thu, 11 Oct 2012 11:43:04 +0200 (CEST) Subject: =?us-ascii?Q?Re=3A=20Fwd=3A=20No=20JavaFX=20for=20iOS=2C=20Android=20or=20WP=20=2D=20why=20not=3F?= In-Reply-To: Message-ID: <136091.15429.49126-10977-571333069-1349948583@seznam.cz> Has anyone actually tried to get JFX running on iPhone / iPad / Android except the guys from Oracle? The ARMs in Raspberry Pi and Apple iPhone seem to be quite similar. iPhone uses ARM 7, JavaSE embedded is targeted at ARM 6/7 https://blogs.oracle.com/jtc/entry/raspberry_pi_and_java_se more technical writeup: https://blogs.oracle.com/javaone/entry/session_report_java_on_the Jiri ------------ P?vodn? zpr?va ------------ Od: Daniel Zwolenski P?edm?t: Fwd: No JavaFX for iOS, Android or WP - why not? Datum: 10.10.2012 23:13:58 ---------------------------------------- Ah yea, forgot to reply all. Begin forwarded message: > From: Daniel Zwolenski > Date: 11 October 2012 1:42:19 AM AEDT > To: Richard Bair > Subject: Re: No JavaFX for iOS, Android or WP - why not? > > This is not whining, this is highlighting problems so solutions can be worked out. I thought that was the point of this forum and this community? > > And to stress even more, as I said very early on this is not just about iOS or Android support. It's about the direction JavaFX is heading and how it can be a real contender for mainstream serious application development, not just for niche use cases and platform enthusiasts. > > I'm not looking for a justification or defence of the current position (that's just wasting time and not making anything better). I'm looking for recognition of a genuine problem and then a workable solution > > Here's the problem: I'm a JFX fan. I want to use JFX. I currently can't. > > I work smack bang in the 'serious application' space Richard has indicated is the prime space for JFX. Right now I am building Grant Application management software (i.e. apply for and allocate funding). It is your classic form based system with a 'public facing' UI for applicants, a 'back-office' management UI, and a power 'admin' UI for helpdesk. I believe the back-office and admin UI systems are exactly the sort of apps Richard is talking about. I also believe this type of app is pretty damn similar to 80% of the Java applications out there. > > What's more my client is a pure-Java advocate, is totally open to using new technologies if they can be demonstrated to be better than their existing ones, and my client has some very sharp developers working for them. They _should_ be an absolute prime candidate for using JavaFX if it is truly the best platform for them. But they can't justify the move and I can't come up with a logical argument why they should. > > Isn't that a problem: the key target space for JFX, the right conditions; the 80% use case and yet still no movement. Isn't that something we should be looking at? I get that others are moving to JFX but as Richard alludes to below these are mostly Swing developers - that's a no brainer and not really the lion's share of the market. We need to see webapp developers making the switch to JFX. > > Tell me how you would sell JavaFX into a client who is already using webapps? I've tried these arguments and they don't work (my argument in bold, webapp developer's counter argument follows): > > JavaFX is cross platform. - Well so is HTML+JScript. In fact HTML will even work on iPads and Android tablets so you can take it into the meeting with you or do your work on the train. What's more to build HTML for all my platforms I just run one simple Maven build and deploy it to my server. To build cross platform JFX I have to have every possible OS setup with JFX installed, then I need the special packaging tool for that platform installed and on my path (with different steps on Mac, Linux and Windows), and I need to upload all of these separately and make sure the right one is delivered to the right client. Oh and there's no auto-updating yet, but in web land the user can just hit refresh. > > JavaFX doesn't have cross-browser problems: Yea but you have to install Java (horrible) or a co-bundled app (still pretty raw), which is really no worse than telling a back-office web user they can only use one browser (such as Chrome), cross-browser issues magically gone! > > JavaFX can do richer user interfaces: not really, have you seen what you can do on the web these days? > > CSS selectors suck to maintain and debug: umm, JFX uses the same CSS selector model. What's more web has already started to address this with @Less, JFX has to play some catchup just to be on par. > > JavaFX is all pure Java none of that nasty scripting: sure but using JQuery and other JScript libraries you don't actually have to write that much JavaScript any more. Add in things like Google Closure Templates and things get quite clean. What's more IDE support for JScript is pretty good these days so you pick up a lot of scripting problems early, which is more than I can say for IDE support for things like FXML or JFX CSS - not enough community pressure to get those supported. > > JavaFX has layout managers: yea ok you win on that one, layout in HTML with CSS is horrible. But then there's things like Twitter Bootstrap which make it manageable, and to be honest us webapp guys have memorized all the obscure CSS hacks to get around this, so really it's not such a big deal, and we'd have to learn all new tricks in JFX anyway. > > JavaFX works offline: hey that's kind of cool but really all our users are connected to the web, and offline has security problems. It's not a strong use case for us, and to be honest we could probably do something with JScript if we really wanted to anyway. > > JavaFX will work on mobile so we can re-use our code and not have to write new XCode: ah, no it won't. Didn't you read those forum posts? > > > Once the web app developer has then finished ripping my arguments apart, he/she then lays in a few more blows: > HTML webapp development has a massive community behind it. Heaps bigger than JFX with a whole range of established tools and platforms, from awesome Spring integration to form validation frameworks, style sheet and HTML template libraries, Twitter Bootstrap, years worth of tutorials, example and well answered questions on StackOverflow > > HTML5 is gradually adding stuff that you wouldn't believe a browser could do, like 3D graphics, multi-media offline data storage. It is doing or will do everything that is on the JFX roadmap. > > Given the Java installation hassles, the client-facing side of things will always have to be HTML so we're going to have to do webapp development no matter what. Since the same coders are going to be working on all three UI's and there are some common components between them all, if we use web across the board then we can re-use things and keep all the patterns consistent making it easier to learn and maintain. > > Are you telling me I can't use Maven to do a JFX build properly? There's no plugin for it - forget it. > > So help me out here. What's the comeback? I've got nothing - and I can't imagine how anyone else building these sorts of apps is in any better position for selling in JavaFX in this key space?! > > > Some other more specific comments inline below. > > > On Wed, Oct 10, 2012 at 1:22 PM, Richard Bair wrote: > > > The notion that once its all open source the community can do all the extra work to bridge the short commings is a bit of a fantasy. > > I should hope not. I know many developers (some of whom have already spoken up on this thread) happy to do a port. Android hasn't had any trouble getting 3rd parties to port Android to anything and everything. A new port of JavaFX is not a major undertaking, almost the entire platform just works. > > Sorry to be a bit pedantic, but if it is not a major undertaking then why is it that Oracle is so wary of committing resources to it? This doesn't stack up. Is there some reason other than resources why Oracle isn't wanting to support mobile? > > Also, as I mentioned at the start of this email, iOS and Android is only one half of this conversation. The other is making it competitive with webapps. Which firstly and most importantly means properly addressing deployment well beyond co-bundling (e.g. the JScript 'VM' idea and/or a massively simplified one-click installer for a 'Java Browser' of some kind). > > I can't imagine any of that is trivial. > > > > Firstly, it's going to take way too long to get there, established platforms are snowballing ahead as JavaFX struggles to catch up. We'll have HTML6 by the time JFX gets open sourced AND then the community gets round to adding features that needed to be in there 6 months ago to be competitive. > > That's just being silly. HTML 5 isn't even going to be here for a few more years, let alone 6. > > Fair call but 'lazy' might be a better adjective than 'silly'. I was hand-waving for the feature number when I said HTML6, I meant that by the time all the above work is done HTML will have had those (2, 3, 4, 5?) years to improve upon it's current position (i.e. it will be at HTML-now++), whereas JFX will just be hitting the point that HTML is at now. That's before we take into account the size of the community improving HTML+JScript vs the size of the community improving JFX. > > And it's worth noting that although the HTML5 spec is not going to 'be here for a few more years' the good bits of the implementation are actually already alive and well in modern browsers. Basically when webapp people talk about HTML5 in general conversation they are usually talking about where HTML is at now. It's pretty good compared to what it was even a few years ago. More standard, less buggy, and good tools for hiding the worst of it. > > GWT (which allows you to compile Java to cross-platform JScript) is on the decline for example, since the current state of HTML makes it less relevant (of course the GWT enthusiasts will react to that comment just as angrily as the Flash ones would if I said that was on the decline, and as the JFX have been when I suggest something is out competing it - we all love our team). > > > > Secondly, where's the incentive for the community to do this? > > If there is no incentive, then I guess you've proved the point, no? > > Not quite. My question was not "where's the incentive for mobile and webapp support" but rather why put effort into adding this to the JFX platform when a competitor (i.e. webapp) already has it. Why not instead just move to that competitor and use your 'spare time' to add something even cooler on top of it. > > There's absolutely no doubt in my mind that the community not only wants, but has to have, both mobile and web support in their toolkit. If there is one toolkit that can offer both cleanly, allowing reuse between platforms, then that will be the one developers will turn to even if it has some other minor shortcomings. Web is nudging there already but it's crude. JavaFX could do it better but if it turns up too late for the party everyone will already be on the dance floor with Webapp. > > > I should hope there is a large amount of incentive, as others on this thread (and many more privately) have verified. You act as though nobody has adopted JavaFX, but we're seeing a broad swell of adoption, especially among existing Swing developers. > > I'd love to know more about the non-Swing developers adopting it. How many are there, why are they doing it, how are they finding it and what are they building with it. > > Convincing Swing developers to move to JFX is like convincing a kid to eat ice cream instead of sprouts. It's the other movements that are the indicators of long term mainstream success in my opinion. > > There are a lot of people who are developing for JavaFX commercially, and most of those people are not talking about it openly. Some very big customers in the lot. They love FX and are also committed to it. > > Get them talking. Get them making noise. They need a community as much as the community needs them. Silence gets no one anywhere in this game. Growth leads to growth, snowball, critical mass, momentum. > > Do we have a "JFX sightings" yet? If not, I'd say that would be useful. > > Oracle funds hundreds of salaries based on JavaFX & Java client. There is a huge, heavy investment from Oracle. JavaFX is here for a long time -- we've got paying customers and we've got support contracts. Look, we got beat up real bad for not having Mac and Linux support at 1.0, people questioned publicly whether we'd ever do it. > > On the Mac/Linux issue, it was pretty early on for my involvement so maybe I remember incorrectly but I thought you guys made a pretty public commitment to supporting these from the outset (just didn't specify dates). So the guys 'beating you up' just didn't trust Oracle and were unjustified in this. > > That's not the same as this situation is it? What we're seeing here is an open (if slightly vague) stance being taken to not support mobile and not care too much about web. We're hearing "Oracle won't do it but the community can if it wants". > > As ever with this stuff you're going to cop the brunt of it because you're the face of it all. I've seen enough of how you and your team work to know you guys want everything we want for this platform, and you're all working your guts out to make it happen. I'm sure you're probably pushing back on this just as hard as we're all pushing back on you. For me this isn't about lampooning any of the work here or kicking or screaming for the sake of it - it's about waving a flag at the train driver so we can pull out the map and check that we're on the right track (and if needs be get the union to march on HQ to get some new tracks laid). > > Truly sort out deployment and I am certain JFX can penetrate webapp (but only if it happens soon, html5 is winning the battle for hearts and minds). > > Support mobile and I am certain JFX will own this space quickly (easy win - it's such a mess). > > Either space would be enough to grow the community past tipping point (and from this everything else would flow). > > Supporting both spaces would make it the all round winner. > > Support neither and, in my opinion, JFX will be limited to the space currently owned by Swing. Sure it'll be around for a long time but it won't be a main player, and certainly won't achieve it's potential. > > From randahl at rockit.dk Thu Oct 11 05:59:44 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Thu, 11 Oct 2012 14:59:44 +0200 Subject: Jira is down Message-ID: It looks like Jira needs a reboot. I get: "The jira.home directory '/issues/jira-42' is already locked. Please see the JIRA documentation for more information on locked jira.home directories." Randahl From kevin.rushforth at oracle.com Thu Oct 11 06:02:45 2012 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 11 Oct 2012 06:02:45 -0700 Subject: Jira is down In-Reply-To: References: Message-ID: <5076C375.9090502@oracle.com> Yes, this has been reported to the lab managers. -- Kevin Randahl Fink Isaksen wrote: > It looks like Jira needs a reboot. I get: > > "The jira.home directory '/issues/jira-42' is already locked. Please see the JIRA documentation for more information on locked jira.home directories." > > Randahl From omurata at ga2.so-net.ne.jp Thu Oct 11 07:21:09 2012 From: omurata at ga2.so-net.ne.jp (Tadashi Ohmura) Date: Thu, 11 Oct 2012 23:21:09 +0900 Subject: JavaFX will be available on WindowsRT? In-Reply-To: References: Message-ID: <5076D5D5.90509@ga2.so-net.ne.jp> > >From http://technology.amis.nl/2012/10/08/javaone-2012-the-big-stories/ > > "JavaFX is no longer intended for use on SmartPhones" > "Note: Java Applets are on their way out" > > I understand that JavaFX will not be available on iOS nor Android nor WindowsPhone. And then JavaFX will be available on WindowsRT ( Windows8 on ARM ) ? WindowsRT is not SmaortPhone but a kind of Desktop. Best regards Tadashi Ohmura From goddard at seznam.cz Thu Oct 11 08:16:41 2012 From: goddard at seznam.cz (goddard at seznam.cz) Date: Thu, 11 Oct 2012 17:16:41 +0200 (CEST) Subject: =?us-ascii?Q?Re=3A=20Re=3A=20Fwd=3A=20No=20JavaFX=20for=20iOS=2C=20Android=20or=20WP=20=2D=20why=20not=3F?= In-Reply-To: <136091.15429.49126-10977-571333069-1349948583@seznam.cz> Message-ID: <136123.15397.49179-884-1118160099-1349968601@seznam.cz> Useful info about JFX on ARM from Oracle: http://jdk7.java.net/fxarmpreview/javafx-arm-developer-preview.html Jiri ------------ P?vodn? zpr?va ------------ Od: P?edm?t: Re: Fwd: No JavaFX for iOS, Android or WP - why not? Datum: 11.10.2012 11:57:22 ---------------------------------------- Has anyone actually tried to get JFX running on iPhone / iPad / Android except the guys from Oracle? The ARMs in Raspberry Pi and Apple iPhone seem to be quite similar. iPhone uses ARM 7, JavaSE embedded is targeted at ARM 6/7 https://blogs.oracle.com/jtc/entry/raspberry_pi_and_java_se more technical writeup: https://blogs.oracle.com/javaone/entry/session_report_java_on_the Jiri ------------ P?vodn? zpr?va ------------ Od: Daniel Zwolenski P?edm?t: Fwd: No JavaFX for iOS, Android or WP - why not? Datum: 10.10.2012 23:13:58 ---------------------------------------- Ah yea, forgot to reply all. Begin forwarded message: > From: Daniel Zwolenski > Date: 11 October 2012 1:42:19 AM AEDT > To: Richard Bair > Subject: Re: No JavaFX for iOS, Android or WP - why not? > > This is not whining, this is highlighting problems so solutions can be worked out. I thought that was the point of this forum and this community? > > And to stress even more, as I said very early on this is not just about iOS or Android support. It's about the direction JavaFX is heading and how it can be a real contender for mainstream serious application development, not just for niche use cases and platform enthusiasts. > > I'm not looking for a justification or defence of the current position (that's just wasting time and not making anything better). I'm looking for recognition of a genuine problem and then a workable solution > > Here's the problem: I'm a JFX fan. I want to use JFX. I currently can't. > > I work smack bang in the 'serious application' space Richard has indicated is the prime space for JFX. Right now I am building Grant Application management software (i.e. apply for and allocate funding). It is your classic form based system with a 'public facing' UI for applicants, a 'back-office' management UI, and a power 'admin' UI for helpdesk. I believe the back-office and admin UI systems are exactly the sort of apps Richard is talking about. I also believe this type of app is pretty damn similar to 80% of the Java applications out there. > > What's more my client is a pure-Java advocate, is totally open to using new technologies if they can be demonstrated to be better than their existing ones, and my client has some very sharp developers working for them. They _should_ be an absolute prime candidate for using JavaFX if it is truly the best platform for them. But they can't justify the move and I can't come up with a logical argument why they should. > > Isn't that a problem: the key target space for JFX, the right conditions; the 80% use case and yet still no movement. Isn't that something we should be looking at? I get that others are moving to JFX but as Richard alludes to below these are mostly Swing developers - that's a no brainer and not really the lion's share of the market. We need to see webapp developers making the switch to JFX. > > Tell me how you would sell JavaFX into a client who is already using webapps? I've tried these arguments and they don't work (my argument in bold, webapp developer's counter argument follows): > > JavaFX is cross platform. - Well so is HTML+JScript. In fact HTML will even work on iPads and Android tablets so you can take it into the meeting with you or do your work on the train. What's more to build HTML for all my platforms I just run one simple Maven build and deploy it to my server. To build cross platform JFX I have to have every possible OS setup with JFX installed, then I need the special packaging tool for that platform installed and on my path (with different steps on Mac, Linux and Windows), and I need to upload all of these separately and make sure the right one is delivered to the right client. Oh and there's no auto-updating yet, but in web land the user can just hit refresh. > > JavaFX doesn't have cross-browser problems: Yea but you have to install Java (horrible) or a co-bundled app (still pretty raw), which is really no worse than telling a back-office web user they can only use one browser (such as Chrome), cross-browser issues magically gone! > > JavaFX can do richer user interfaces: not really, have you seen what you can do on the web these days? > > CSS selectors suck to maintain and debug: umm, JFX uses the same CSS selector model. What's more web has already started to address this with @Less, JFX has to play some catchup just to be on par. > > JavaFX is all pure Java none of that nasty scripting: sure but using JQuery and other JScript libraries you don't actually have to write that much JavaScript any more. Add in things like Google Closure Templates and things get quite clean. What's more IDE support for JScript is pretty good these days so you pick up a lot of scripting problems early, which is more than I can say for IDE support for things like FXML or JFX CSS - not enough community pressure to get those supported. > > JavaFX has layout managers: yea ok you win on that one, layout in HTML with CSS is horrible. But then there's things like Twitter Bootstrap which make it manageable, and to be honest us webapp guys have memorized all the obscure CSS hacks to get around this, so really it's not such a big deal, and we'd have to learn all new tricks in JFX anyway. > > JavaFX works offline: hey that's kind of cool but really all our users are connected to the web, and offline has security problems. It's not a strong use case for us, and to be honest we could probably do something with JScript if we really wanted to anyway. > > JavaFX will work on mobile so we can re-use our code and not have to write new XCode: ah, no it won't. Didn't you read those forum posts? > > > Once the web app developer has then finished ripping my arguments apart, he/she then lays in a few more blows: > HTML webapp development has a massive community behind it. Heaps bigger than JFX with a whole range of established tools and platforms, from awesome Spring integration to form validation frameworks, style sheet and HTML template libraries, Twitter Bootstrap, years worth of tutorials, example and well answered questions on StackOverflow > > HTML5 is gradually adding stuff that you wouldn't believe a browser could do, like 3D graphics, multi-media offline data storage. It is doing or will do everything that is on the JFX roadmap. > > Given the Java installation hassles, the client-facing side of things will always have to be HTML so we're going to have to do webapp development no matter what. Since the same coders are going to be working on all three UI's and there are some common components between them all, if we use web across the board then we can re-use things and keep all the patterns consistent making it easier to learn and maintain. > > Are you telling me I can't use Maven to do a JFX build properly? There's no plugin for it - forget it. > > So help me out here. What's the comeback? I've got nothing - and I can't imagine how anyone else building these sorts of apps is in any better position for selling in JavaFX in this key space?! > > > Some other more specific comments inline below. > > > On Wed, Oct 10, 2012 at 1:22 PM, Richard Bair wrote: > > > The notion that once its all open source the community can do all the extra work to bridge the short commings is a bit of a fantasy. > > I should hope not. I know many developers (some of whom have already spoken up on this thread) happy to do a port. Android hasn't had any trouble getting 3rd parties to port Android to anything and everything. A new port of JavaFX is not a major undertaking, almost the entire platform just works. > > Sorry to be a bit pedantic, but if it is not a major undertaking then why is it that Oracle is so wary of committing resources to it? This doesn't stack up. Is there some reason other than resources why Oracle isn't wanting to support mobile? > > Also, as I mentioned at the start of this email, iOS and Android is only one half of this conversation. The other is making it competitive with webapps. Which firstly and most importantly means properly addressing deployment well beyond co-bundling (e.g. the JScript 'VM' idea and/or a massively simplified one-click installer for a 'Java Browser' of some kind). > > I can't imagine any of that is trivial. > > > > Firstly, it's going to take way too long to get there, established platforms are snowballing ahead as JavaFX struggles to catch up. We'll have HTML6 by the time JFX gets open sourced AND then the community gets round to adding features that needed to be in there 6 months ago to be competitive. > > That's just being silly. HTML 5 isn't even going to be here for a few more years, let alone 6. > > Fair call but 'lazy' might be a better adjective than 'silly'. I was hand-waving for the feature number when I said HTML6, I meant that by the time all the above work is done HTML will have had those (2, 3, 4, 5?) years to improve upon it's current position (i.e. it will be at HTML-now++), whereas JFX will just be hitting the point that HTML is at now. That's before we take into account the size of the community improving HTML+JScript vs the size of the community improving JFX. > > And it's worth noting that although the HTML5 spec is not going to 'be here for a few more years' the good bits of the implementation are actually already alive and well in modern browsers. Basically when webapp people talk about HTML5 in general conversation they are usually talking about where HTML is at now. It's pretty good compared to what it was even a few years ago. More standard, less buggy, and good tools for hiding the worst of it. > > GWT (which allows you to compile Java to cross-platform JScript) is on the decline for example, since the current state of HTML makes it less relevant (of course the GWT enthusiasts will react to that comment just as angrily as the Flash ones would if I said that was on the decline, and as the JFX have been when I suggest something is out competing it - we all love our team). > > > > Secondly, where's the incentive for the community to do this? > > If there is no incentive, then I guess you've proved the point, no? > > Not quite. My question was not "where's the incentive for mobile and webapp support" but rather why put effort into adding this to the JFX platform when a competitor (i.e. webapp) already has it. Why not instead just move to that competitor and use your 'spare time' to add something even cooler on top of it. > > There's absolutely no doubt in my mind that the community not only wants, but has to have, both mobile and web support in their toolkit. If there is one toolkit that can offer both cleanly, allowing reuse between platforms, then that will be the one developers will turn to even if it has some other minor shortcomings. Web is nudging there already but it's crude. JavaFX could do it better but if it turns up too late for the party everyone will already be on the dance floor with Webapp. > > > I should hope there is a large amount of incentive, as others on this thread (and many more privately) have verified. You act as though nobody has adopted JavaFX, but we're seeing a broad swell of adoption, especially among existing Swing developers. > > I'd love to know more about the non-Swing developers adopting it. How many are there, why are they doing it, how are they finding it and what are they building with it. > > Convincing Swing developers to move to JFX is like convincing a kid to eat ice cream instead of sprouts. It's the other movements that are the indicators of long term mainstream success in my opinion. > > There are a lot of people who are developing for JavaFX commercially, and most of those people are not talking about it openly. Some very big customers in the lot. They love FX and are also committed to it. > > Get them talking. Get them making noise. They need a community as much as the community needs them. Silence gets no one anywhere in this game. Growth leads to growth, snowball, critical mass, momentum. > > Do we have a "JFX sightings" yet? If not, I'd say that would be useful. > > Oracle funds hundreds of salaries based on JavaFX & Java client. There is a huge, heavy investment from Oracle. JavaFX is here for a long time -- we've got paying customers and we've got support contracts. Look, we got beat up real bad for not having Mac and Linux support at 1.0, people questioned publicly whether we'd ever do it. > > On the Mac/Linux issue, it was pretty early on for my involvement so maybe I remember incorrectly but I thought you guys made a pretty public commitment to supporting these from the outset (just didn't specify dates). So the guys 'beating you up' just didn't trust Oracle and were unjustified in this. > > That's not the same as this situation is it? What we're seeing here is an open (if slightly vague) stance being taken to not support mobile and not care too much about web. We're hearing "Oracle won't do it but the community can if it wants". > > As ever with this stuff you're going to cop the brunt of it because you're the face of it all. I've seen enough of how you and your team work to know you guys want everything we want for this platform, and you're all working your guts out to make it happen. I'm sure you're probably pushing back on this just as hard as we're all pushing back on you. For me this isn't about lampooning any of the work here or kicking or screaming for the sake of it - it's about waving a flag at the train driver so we can pull out the map and check that we're on the right track (and if needs be get the union to march on HQ to get some new tracks laid). > > Truly sort out deployment and I am certain JFX can penetrate webapp (but only if it happens soon, html5 is winning the battle for hearts and minds). > > Support mobile and I am certain JFX will own this space quickly (easy win - it's such a mess). > > Either space would be enough to grow the community past tipping point (and from this everything else would flow). > > Supporting both spaces would make it the all round winner. > > Support neither and, in my opinion, JFX will be limited to the space currently owned by Swing. Sure it'll be around for a long time but it won't be a main player, and certainly won't achieve it's potential. > > From david.dehaven at oracle.com Thu Oct 11 08:31:42 2012 From: david.dehaven at oracle.com (David DeHaven) Date: Thu, 11 Oct 2012 08:31:42 -0700 Subject: reply list In-Reply-To: <50761C9D.5030207@oracle.com> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <5075C742.1090802@tbee.org> <5075D9E4.3000306@oracle.com> <50761C9D.5030207@oracle.com> Message-ID: <581602AB-3402-446E-88A6-77CC778EEB6F@oracle.com> It all boils down to RFC-2822 superseding RFC-822 and the new language states that reply-to is an originator field supplied by the author alone. The list software should inject list headers as outlined in RFC-2369, one such header is List-Post which provides an address to send responses to the list at, then it's up to the client to decide whether to use From, Reply-To or List-Post when composing a response. This list conforms to RFC-2369 and provides such a field: List-Post: If you want the default reply action to post to the list then you must configure your client to do so, there is nothing to be done on the list side. -DrD- > First, my comment was not any official position (as I said "I" prefer). > > A reply may not always be an answer. I'm implying no hide-and-seek here, but intentionally I may want to clarify something before I make an informed public response, or hash out some half-baked ideas in private before bringing them to list in a "more well baked" form. If I feel I am speaking from a position of knowledge then I will, quite instinctively, hit Reply-To-All and not even have to think about whether my message is reaching people. > > To avoid beating this issue any further - my general feelings are summarized well by resources found at the following page: > > http://marc.merlins.org/netrants/listreplyto.html > > which points primarily to this really well written message on the topic: > http://www.unicom.com/pw/reply-to-harmful.html > > (and also includes a pointer to a counter-point that he refutes as well in another link...) > > ...jim > > On 10/10/12 4:26 PM, Debasish Ray Chawdhuri wrote: >> Since the question was asked on the mailing list, other people >> following the mailing list should get the answers. There is no >> hide-and-seek here. Most of the time you should not contact the sender >> directly. Just in case you do (for whatever weird reason, is it too >> bad to be shared?), you can still copy address of the sender. >> >> You may be thinking of the mailing list as some kind of help forum, >> where you are the expert and and resolve people's problems, so you >> give an answer only to them. But that should not be the intention of >> the list. It is more made for a community discussion. When you give an >> answer, other people should be able to see that answer and ask more >> questions or possibly challenge your answer. This is how a community >> should work. >> >> Why do you want to deal with individuals? >> >> On Thu, Oct 11, 2012 at 1:56 AM, Jim Graham wrote: >>> Indeed I prefer it this way as I don't always want to burden the list with >>> my replies. >>> >>> This list gives the option, but "Reply-To-List" lists don't have any >>> convenient way to reply to just the sender... >>> >>> ...jim >>> >>> >>> On 10/10/12 12:06 PM, Tom Eugelink wrote: >>>> >>>> >>>>>> >>>>>> ps. why doesn't the list set the mailing list as the reply to? >>>>>> >>>>>> >>>>> Grrr. ;-) >>>> >>>> >>>> >>>> In Thunderbird I have a "reply" and "reply list" button, only for these >>>> mailinglist emails. >>>> >>>> Tom >>>> >>> >> >> >> From lehmann at media-interactive.de Thu Oct 11 09:02:13 2012 From: lehmann at media-interactive.de (Werner Lehmann) Date: Thu, 11 Oct 2012 18:02:13 +0200 Subject: reply list In-Reply-To: <581602AB-3402-446E-88A6-77CC778EEB6F@oracle.com> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <5075C742.1090802@tbee.org> <5075D9E4.3000306@oracle.com> <50761C9D.5030207@oracle.com> <581602AB-3402-446E-88A6-77CC778EEB6F@oracle.com> Message-ID: <5076ED85.8000301@media-interactive.de> In Thunderbird you will find this in the main menu, Message | Reply to List. This command can also be added to the toolbar. On 11.10.2012 17:31, David DeHaven wrote: > If you want the default reply action to post to the list then you > must configure your client to do so, there is nothing to be done on > the list side. From hang.vo at oracle.com Thu Oct 11 10:17:14 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 11 Oct 2012 17:17:14 +0000 Subject: hg: openjfx/8/controls/rt: Updated documentation to indicate contents draw over borders on regions. Message-ID: <20121011171720.0FBBA472C3@hg.openjdk.java.net> Changeset: 32ed56155a53 Author: rbair Date: 2012-10-11 10:10 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/32ed56155a53 Updated documentation to indicate contents draw over borders on regions. ! javafx-ui-common/src/javafx/scene/doc-files/cssref.html From hang.vo at oracle.com Thu Oct 11 13:02:44 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 11 Oct 2012 20:02:44 +0000 Subject: hg: openjfx/8/controls/rt: 3 new changesets Message-ID: <20121011200247.CACB0472CF@hg.openjdk.java.net> Changeset: 8d346510b927 Author: leifs Date: 2012-10-11 12:48 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/8d346510b927 Additional fix for RT-25049 to avoid label truncation. ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/MenuButtonSkinBase.java Changeset: 41cfd7b80910 Author: David Grieve Date: 2012-10-11 15:13 -0400 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/41cfd7b80910 RT-25016: calculated value not stored in cache when styles are recalculted. remove fastpath check and always cache calculated value. ensure inline styles are cached locally ! javafx-ui-common/src/com/sun/javafx/css/StyleHelper.java Changeset: ef37b66b00b0 Author: David Grieve Date: 2012-10-11 15:58 -0400 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/ef37b66b00b0 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/scrum/controls/jfx/rt From hang.vo at oracle.com Thu Oct 11 13:17:12 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 11 Oct 2012 20:17:12 +0000 Subject: hg: openjfx/8/controls/rt: Make VK_TYPE_NAMES array package private. Message-ID: <20121011201716.4E536472D5@hg.openjdk.java.net> Changeset: 09253f3afb0b Author: leifs Date: 2012-10-11 13:04 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/09253f3afb0b Make VK_TYPE_NAMES array package private. ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/FXVK.java From hang.vo at oracle.com Thu Oct 11 15:20:02 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 11 Oct 2012 22:20:02 +0000 Subject: hg: openjfx/8/master/rt: 9 new changesets Message-ID: <20121011222014.27870472F4@hg.openjdk.java.net> Changeset: c8deba0d0fb6 Author: Lubomir Nerad Date: 2012-10-09 12:12 +0200 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/c8deba0d0fb6 Fix for RT-24681: added javadocs ! javafx-ui-common/src/javafx/stage/DirectoryChooser.java ! javafx-ui-common/src/javafx/stage/FileChooser.java Changeset: b06b91a885a0 Author: jpgodine at JPGODINE-LAP.st-users.us.oracle.com Date: 2012-10-09 09:42 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/b06b91a885a0 Automated merge with ssh://jpgodine at jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx//rt Changeset: c15a91781139 Author: David Grieve Date: 2012-10-04 17:06 -0400 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/c15a91781139 RT-25118: replace code removed by bad merge, and other optimizations ! javafx-ui-common/src/com/sun/javafx/css/CascadingStyle.java ! javafx-ui-common/src/com/sun/javafx/css/CompoundSelector.java ! javafx-ui-common/src/com/sun/javafx/css/Match.java ! javafx-ui-common/src/com/sun/javafx/css/Rule.java ! javafx-ui-common/src/com/sun/javafx/css/Selector.java ! javafx-ui-common/src/com/sun/javafx/css/SimpleSelector.java ! javafx-ui-common/src/com/sun/javafx/css/StyleHelper.java ! javafx-ui-common/src/com/sun/javafx/css/StyleManager.java ! javafx-ui-common/src/javafx/scene/Node.java ! javafx-ui-common/src/javafx/scene/Parent.java ! javafx-ui-common/test/unit/com/sun/javafx/css/Node_cssStyleMap_Test.java ! javafx-ui-common/test/unit/com/sun/javafx/css/RuleTest.java ! javafx-ui-common/test/unit/com/sun/javafx/css/StyleablePropertyTest.java ! javafx-ui-common/test/unit/javafx/scene/CSSNode.java ! javafx-ui-controls/src/javafx/scene/control/Control.java ! javafx-ui-controls/src/javafx/scene/control/MultipleSelectionModelBase.java Changeset: bedd78e543a0 Author: David Grieve Date: 2012-10-04 17:06 -0400 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/bedd78e543a0 RT-25133: strip off package when comparing class name in css selector ! javafx-ui-common/src/com/sun/javafx/css/StyleHelper.java ! javafx-ui-controls/test/javafx/scene/control/PopupControlTest.java Changeset: 80b5d7e96fdb Author: David Grieve Date: 2012-10-05 14:24 -0400 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/80b5d7e96fdb RT-25370: upper four bits represent an index. When getting the index value, need to shift unsigned ! javafx-ui-common/src/com/sun/javafx/css/SimpleSelector.java Changeset: fe99329cd02e Author: rbair Date: 2012-10-08 12:32 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/fe99329cd02e Removed tests that are not doing anything. - javafx-ui-common/test/unit/javafx/scene/layout/BorderImageSlicesTest.java - javafx-ui-common/test/unit/javafx/scene/layout/BorderImageSlices_builder_Test.java Changeset: c0aff81b30ad Author: leifs Date: 2012-10-09 10:49 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/c0aff81b30ad Fixed RT-25479: [TextField] Text input starts from wrong position. Disable caret bias handling util it can be fully supported. ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/TextFieldSkin.java Changeset: ea00b638cdd6 Author: leifs Date: 2012-10-09 13:07 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/ea00b638cdd6 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/rt - javafx-ui-common/test/unit/javafx/scene/layout/BorderImageSlicesTest.java - javafx-ui-common/test/unit/javafx/scene/layout/BorderImageSlices_builder_Test.java Changeset: 7f6a99c842fd Author: hudson Date: 2012-10-11 14:22 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/7f6a99c842fd Added tag 8.0-b60 for changeset ea00b638cdd6 ! .hgtags From tbee at tbee.org Fri Oct 12 08:56:53 2012 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 12 Oct 2012 17:56:53 +0200 Subject: bold & italic Message-ID: <50783DC5.1050402@tbee.org> I've got two Text nodes in my layout; I can style them with -fx-font-weight: bold, but -fx-font-style: italic is ignored. Why? Tom From randahl at rockit.dk Fri Oct 12 09:04:02 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Fri, 12 Oct 2012 18:04:02 +0200 Subject: bold & italic In-Reply-To: <50783DC5.1050402@tbee.org> References: <50783DC5.1050402@tbee.org> Message-ID: Just a wild guess: Could it be that there is no italic version of the font chosen? You could verify this by choosing another font. R. On Oct 12, 2012, at 17:56 , Tom Eugelink wrote: > I've got two Text nodes in my layout; I can style them with -fx-font-weight: bold, but -fx-font-style: italic is ignored. Why? > > Tom > From tbee at tbee.org Fri Oct 12 09:08:55 2012 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 12 Oct 2012 18:08:55 +0200 Subject: bold & italic In-Reply-To: References: <50783DC5.1050402@tbee.org> Message-ID: <50784097.3080101@tbee.org> Hm. Could be. I'm using the default font. On 2012-10-12 18:04, Randahl Fink Isaksen wrote: > Just a wild guess: Could it be that there is no italic version of the font chosen? You could verify this by choosing another font. > > R. > > > On Oct 12, 2012, at 17:56 , Tom Eugelink wrote: > >> I've got two Text nodes in my layout; I can style them with -fx-font-weight: bold, but -fx-font-style: italic is ignored. Why? >> >> Tom >> From philip.race at oracle.com Fri Oct 12 10:01:17 2012 From: philip.race at oracle.com (Phil Race) Date: Fri, 12 Oct 2012 10:01:17 -0700 Subject: bold & italic In-Reply-To: <50784097.3080101@tbee.org> References: <50783DC5.1050402@tbee.org> <50784097.3080101@tbee.org> Message-ID: <50784CDD.10008@oracle.com> I thought the problem might be setting it via CSS but at least on Windows that works for me. So are you on OS X ? I think the default font there may not have italic styles. -phil. On 10/12/2012 9:08 AM, Tom Eugelink wrote: > Hm. Could be. I'm using the default font. > > > On 2012-10-12 18:04, Randahl Fink Isaksen wrote: >> Just a wild guess: Could it be that there is no italic version of the >> font chosen? You could verify this by choosing another font. >> >> R. >> >> >> On Oct 12, 2012, at 17:56 , Tom Eugelink wrote: >> >>> I've got two Text nodes in my layout; I can style them with >>> -fx-font-weight: bold, but -fx-font-style: italic is ignored. Why? >>> >>> Tom >>> > From tbee at tbee.org Fri Oct 12 10:05:11 2012 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 12 Oct 2012 19:05:11 +0200 Subject: bold & italic In-Reply-To: <50784CDD.10008@oracle.com> References: <50783DC5.1050402@tbee.org> <50784097.3080101@tbee.org> <50784CDD.10008@oracle.com> Message-ID: <50784DC7.2070108@tbee.org> I'm on windows xp. On 2012-10-12 19:01, Phil Race wrote: > I thought the problem might be setting it via CSS but at least on Windows that works for me. > > So are you on OS X ? I think the default font there may not have italic styles. > > -phil. > > On 10/12/2012 9:08 AM, Tom Eugelink wrote: >> Hm. Could be. I'm using the default font. >> >> >> On 2012-10-12 18:04, Randahl Fink Isaksen wrote: >>> Just a wild guess: Could it be that there is no italic version of the font chosen? You could verify this by choosing another font. >>> >>> R. >>> >>> >>> On Oct 12, 2012, at 17:56 , Tom Eugelink wrote: >>> >>>> I've got two Text nodes in my layout; I can style them with -fx-font-weight: bold, but -fx-font-style: italic is ignored. Why? >>>> >>>> Tom >>>> >> > From philip.race at oracle.com Fri Oct 12 10:21:15 2012 From: philip.race at oracle.com (Phil Race) Date: Fri, 12 Oct 2012 10:21:15 -0700 Subject: bold & italic In-Reply-To: <50784DC7.2070108@tbee.org> References: <50783DC5.1050402@tbee.org> <50784097.3080101@tbee.org> <50784CDD.10008@oracle.com> <50784DC7.2070108@tbee.org> Message-ID: <5078518B.1040907@oracle.com> Ah, then same issue. I'd forgotten that Tahoma lacks an italic style. -phil. On 10/12/2012 10:05 AM, Tom Eugelink wrote: > I'm on windows xp. > > > On 2012-10-12 19:01, Phil Race wrote: >> I thought the problem might be setting it via CSS but at least on >> Windows that works for me. >> >> So are you on OS X ? I think the default font there may not have >> italic styles. >> >> -phil. >> >> On 10/12/2012 9:08 AM, Tom Eugelink wrote: >>> Hm. Could be. I'm using the default font. >>> >>> >>> On 2012-10-12 18:04, Randahl Fink Isaksen wrote: >>>> Just a wild guess: Could it be that there is no italic version of >>>> the font chosen? You could verify this by choosing another font. >>>> >>>> R. >>>> >>>> >>>> On Oct 12, 2012, at 17:56 , Tom Eugelink wrote: >>>> >>>>> I've got two Text nodes in my layout; I can style them with >>>>> -fx-font-weight: bold, but -fx-font-style: italic is ignored. Why? >>>>> >>>>> Tom >>>>> >>> >> > From philip.race at oracle.com Fri Oct 12 10:33:00 2012 From: philip.race at oracle.com (Phil Race) Date: Fri, 12 Oct 2012 10:33:00 -0700 Subject: bold & italic In-Reply-To: <5078518B.1040907@oracle.com> References: <50783DC5.1050402@tbee.org> <50784097.3080101@tbee.org> <50784CDD.10008@oracle.com> <50784DC7.2070108@tbee.org> <5078518B.1040907@oracle.com> Message-ID: <5078544C.4070505@oracle.com> BTW .. in case it has escaped notice or not been mentioned, it looks unlikely that other than FX 2.2.X patch releases, that future releases : meaning JDK 8/ FX 8 etc, will support XP ... It'll get dropped because MS will be EOSLing XP anyway. -phil. On 10/12/2012 10:21 AM, Phil Race wrote: > Ah, then same issue. I'd forgotten that Tahoma lacks an italic style. > > -phil. > > On 10/12/2012 10:05 AM, Tom Eugelink wrote: >> I'm on windows xp. >> >> >> On 2012-10-12 19:01, Phil Race wrote: >>> I thought the problem might be setting it via CSS but at least on >>> Windows that works for me. >>> >>> So are you on OS X ? I think the default font there may not have >>> italic styles. >>> >>> -phil. >>> >>> On 10/12/2012 9:08 AM, Tom Eugelink wrote: >>>> Hm. Could be. I'm using the default font. >>>> >>>> >>>> On 2012-10-12 18:04, Randahl Fink Isaksen wrote: >>>>> Just a wild guess: Could it be that there is no italic version of >>>>> the font chosen? You could verify this by choosing another font. >>>>> >>>>> R. >>>>> >>>>> >>>>> On Oct 12, 2012, at 17:56 , Tom Eugelink wrote: >>>>> >>>>>> I've got two Text nodes in my layout; I can style them with >>>>>> -fx-font-weight: bold, but -fx-font-style: italic is ignored. Why? >>>>>> >>>>>> Tom >>>>>> >>>> >>> >> > From randahl at rockit.dk Fri Oct 12 10:46:22 2012 From: randahl at rockit.dk (Randahl Fink Isaksen) Date: Fri, 12 Oct 2012 19:46:22 +0200 Subject: bold & italic In-Reply-To: <5078544C.4070505@oracle.com> References: <50783DC5.1050402@tbee.org> <50784097.3080101@tbee.org> <50784CDD.10008@oracle.com> <50784DC7.2070108@tbee.org> <5078518B.1040907@oracle.com> <5078544C.4070505@oracle.com> Message-ID: No support for Windows XP? Well, it is also over a decade old, so perhaps the efforts of the JavaFX developers was better spent elsewhere. Randahl On Oct 12, 2012, at 19:33 , Phil Race wrote: > BTW .. in case it has escaped notice or not been mentioned, it > looks unlikely that other than FX 2.2.X patch releases, > that future releases : meaning JDK 8/ FX 8 etc, will support XP ... > It'll get dropped because MS will be EOSLing XP anyway. > > -phil. > > On 10/12/2012 10:21 AM, Phil Race wrote: >> Ah, then same issue. I'd forgotten that Tahoma lacks an italic style. >> >> -phil. >> >> On 10/12/2012 10:05 AM, Tom Eugelink wrote: >>> I'm on windows xp. >>> >>> >>> On 2012-10-12 19:01, Phil Race wrote: >>>> I thought the problem might be setting it via CSS but at least on Windows that works for me. >>>> >>>> So are you on OS X ? I think the default font there may not have italic styles. >>>> >>>> -phil. >>>> >>>> On 10/12/2012 9:08 AM, Tom Eugelink wrote: >>>>> Hm. Could be. I'm using the default font. >>>>> >>>>> >>>>> On 2012-10-12 18:04, Randahl Fink Isaksen wrote: >>>>>> Just a wild guess: Could it be that there is no italic version of the font chosen? You could verify this by choosing another font. >>>>>> >>>>>> R. >>>>>> >>>>>> >>>>>> On Oct 12, 2012, at 17:56 , Tom Eugelink wrote: >>>>>> >>>>>>> I've got two Text nodes in my layout; I can style them with -fx-font-weight: bold, but -fx-font-style: italic is ignored. Why? >>>>>>> >>>>>>> Tom >>>>>>> >>>>> >>>> >>> >> > From tbee at tbee.org Fri Oct 12 11:35:36 2012 From: tbee at tbee.org (Tom Eugelink) Date: Fri, 12 Oct 2012 20:35:36 +0200 Subject: bold & italic In-Reply-To: <5078544C.4070505@oracle.com> References: <50783DC5.1050402@tbee.org> <50784097.3080101@tbee.org> <50784CDD.10008@oracle.com> <50784DC7.2070108@tbee.org> <5078518B.1040907@oracle.com> <5078544C.4070505@oracle.com> Message-ID: <507862F8.6000109@tbee.org> I've got a VMWare image that clone whenever I start a new development project. And it's still WXP based. Maybe I should upgrade... Tom On 2012-10-12 19:33, Phil Race wrote: > BTW .. in case it has escaped notice or not been mentioned, it > looks unlikely that other than FX 2.2.X patch releases, > that future releases : meaning JDK 8/ FX 8 etc, will support XP ... > It'll get dropped because MS will be EOSLing XP anyway. > > -phil. From hang.vo at oracle.com Fri Oct 12 12:02:15 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 12 Oct 2012 19:02:15 +0000 Subject: hg: openjfx/8/controls/rt: 2 new changesets Message-ID: <20121012190218.646D447331@hg.openjdk.java.net> Changeset: 393c90eb52e0 Author: David Grieve Date: 2012-10-12 14:51 -0400 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/393c90eb52e0 RT-25225: default background color should be transparent per w3c spec ! javafx-ui-common/src/javafx/scene/layout/Background.java Changeset: 9352015d712d Author: David Grieve Date: 2012-10-12 14:51 -0400 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/9352015d712d RT-24784: ensure parent style manager is properly initialized ! javafx-ui-common/src/javafx/scene/Parent.java From hang.vo at oracle.com Fri Oct 12 18:03:19 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Sat, 13 Oct 2012 01:03:19 +0000 Subject: hg: openjfx/8/graphics/rt: 3 new changesets Message-ID: <20121013010325.988AA4734E@hg.openjdk.java.net> Changeset: 91c30a8859db Author: rbair Date: 2012-09-20 22:51 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/91c30a8859db Improved handling of thumb size, from previous patch 81cc13fe6f96 ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/VirtualFlow.java Changeset: 408ee6a41174 Author: David Hill Date: 2012-10-09 17:44 -0400 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/408ee6a41174 Automated merge with ssh://javafxsrc.us.oracle.com//javafx/8.0/scrum//graphics/jfx/rt Changeset: 19bdbf3b30ee Author: David Hill Date: 2012-10-12 11:01 -0400 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/19bdbf3b30ee Automated merge with ssh://javafxsrc.us.oracle.com//javafx/8.0/scrum//graphics/jfx/rt From Claus.Luethje at osys.ch Mon Oct 15 04:33:46 2012 From: Claus.Luethje at osys.ch (Claus Luethje) Date: Mon, 15 Oct 2012 11:33:46 +0000 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: Message-ID: <193FF4ED343AF14F8CDC65B4792C954D13296353@Jeri.osys.ch> I want to be working on mobile app based on JavaFX with my team. We have built skills (and still are) and interest, but how can we convince customers to invest in JavaFX? I see JavaFX as a very efficient way to build GUIs; it's fast, versatile and fun. It could be a perfect match for RIA, but time-to-market is important and JavaFX isn't there yet. Regards Claus -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Pedro Duque Vieira Sent: Mittwoch, 10. Oktober 2012 00:13 To: OpenJFX Mailing List Subject: Re: No JavaFX for iOS, Android or WP - why not? > > Richard and crew, is Oracle using JavaFX in commercial situations? If > so are you able to tell us how/where (ie what space) and to what > extent? Maybe knowing this will help us understand the reasons behind > all this and the direction Oracle sees this all going (and allow us to > decide if we want to help row that boat or jump out now). > Just as (possibility more) disappointing as the mobile stuff is this > vibe that Oracle does not see JFX having much of a role in the 'web' > space. It looks like a straight bow-out to HTML5. > I highly doubt any of this stuff is your, or your team's preference > and sentiment, but as great as that is, it doesn't help us. Oracle > holds the purse strings and that's what will control, and direct the platform. > Serious, non-rhetorical question: if you were a front-line developer > right now what sort of job would you say to your customer "the best > platform your needs here is JavaFX"? > The notion that once its all open source the community can do all the > extra work to bridge the short commings is a bit of a fantasy. > Firstly, it's going to take way too long to get there, established > platforms are snowballing ahead as JavaFX struggles to catch up. We'll > have > HTML6 by the time JFX gets open sourced AND then the community gets > round to adding features that needed to be in there 6 months ago to be > competitive. > Secondly, where's the incentive for the community to do this? Why not > invest our time in making something with a more complete base better > instead of plugging gaping holes in a niche, orphaned technology that > "has interesting potential". There's no critical mass to the community > yet, and another year or two of not being relevant in the major spaces > of web and mobile will only see this worsen. I've had to go to HTML5 > over the last few months because JFX just isn't ready. Another couple > of months and I'll be so heavily invested in HTML5 based solutions > that I won't be able to justify coming back. > Finally, if we didn't need a large corporation backing/financing the > main components of this thing then JFX would have been built by the > community years ago. If Oracle is only looking at this platform as > some sort of glorified 3D charting gimmick, then the community won't > get the under-swell of momentum it needs to get past the tipping point > where it just grows by itself. > The attitude needs to be "if you build it, they will come". Currently > it looks like "when they come they can then build it". Can anyone > actually see that working? > Without web and/or mobile you're fishing for a community without > having any bait. No community means no one to build the tools needed > to then grow it, no one pushing IDEs to support it, no one making > frameworks others can leverage. Which of course is a cyclic spiral into obscurity. > As I said I dont doubt your commitment to this platform but I do now > doubt Oracle's. I want to be wrong - tell us how and when JavaFX is > going to be relevant to any significant space or sector. +100 on Daniel Zwolenski comments. I wish JavaFX to be the platform of choice for RIA but right now with the current state of affairs I don't see that coming. -- Pedro Duque Vieira From Claus.Luethje at osys.ch Mon Oct 15 04:45:39 2012 From: Claus.Luethje at osys.ch (Claus Luethje) Date: Mon, 15 Oct 2012 11:45:39 +0000 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> Message-ID: <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> +1 for the maven support -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark Fortner Sent: Mittwoch, 10. Oktober 2012 17:28 To: openjfx-dev at openjdk.java.net Subject: Fwd: Re: No JavaFX for iOS, Android or WP - why not? Hi Peter, Comments below. > I am preferring to use Gradle these days. Nevertheless the issue of > putting JavaFX in a Maven Repository is an important. Because JavaFX > is not pure Java, the problem with linking with native library is a > major concern. > > Whatever JavaFX JAR you put in a artifact repository, whether SonaType > or Artifactory there has to be way to guarantee the code in the JAR > can always find the native libraries. Oracle have not come with a > scheme. I do not know of a safe way to do this portably that is cross > platform and work across all systems with causing a break if one or > the other dependencies are upgraded. The version, the native library > and the potential upgrades are the sticking problem. > > Then there is a licensing of the JavaFX Runtime and distribution of > Oracle's implementation. > Agreed. The assumption seems to be that if you use the Ant tasks to build, then you're OK. Everything else, you're on your own. Most of the organizations I've worked for left Ant behind 10 years ago. A mojo version of the Ant tasks would make deployment easier. A maven archetype for creating JavaFX projects would go a long way to making things easier. You simply run the archetype all of your dependencies, Eclipse/NetBeans project files, runtime environment variables are created for you. You could even add a starter application. > > > - *Webstart deployment *- this is still problematic. Currently > > when > you > > push new artifacts to your web server, it's not replacing the > existing JARs > > in the user's cache -- despite what the documentation says. The > "special" > > javafx tags aren't documented well enough and presume that you're > using the > > Ant tools to generate the JNLP. And getting shaded jars is next to > > impossible. > > I do not have an answer to this web start problem. I do assume you can > upgrade Java 7. > > I'm currently running Java 7. > > > - *Charts* - support for zooming and panning within the charts. > Support > > for drawing on top of charts. > > The controls and charts code is open source, go and implement your > chart component. > Start with a copy of the line chart and hack it. > > Not really looking to hack JavaFX classes to support basic functionality. I figure if I can do zooming and panning in Google Charts in a web browser, then I should be able to do the same with JavaFX. BTW, I tried hacking LineChart, and then quickly realized I would also have to hack NumberAxis because some fool made it final. The scope of my hacking quickly started to grow so I stopped before it got out of hand. > > > - *Support for Swing components within JavaFX. * If the goal is to > > replace Swing, then this is one of those essential capabilities > > that > needs > > to be in place. The current examples only demonstrate how to put > JavaFX > > components within Swing applications. Unfortunately, if you want > > to > reuse > > any existing components (like JFreeCharts for example) within > > your > project, > > you're SOL at the moment. > > They is not going to be 100% free ride on this extra third party > functionality. > > 1) Modify JFreeChart and port some of it or all of it to JavaFX > 2) Hack the existing Chart package until it gets you 80/20 of what you > want > Unfortunately, if they're positioning this as a replacement for Swing, then they're going to need to have some way of support Swing components. There are just too many Swing libraries out there that may never get ported over. If SWT can be supported, I don't see why Swing can't. Either the original owners don't want to port them, don't have the funds to do it (this is especially true with academic libraries used for scientific applications), or have abandoned the code base. When you're contracting, porting a library is typically not part of the scope, since it's assumed that whatever components you're using already support 80% of what you want, and you just need to add functionality specific to the problem domain you're working in. > > > - *Support for an EventBus.* Currently, there's a lot of point2point > > event code that you have to write to fire and listen to events. > > It > would > > make for a much more useable codebase if you could simply publish and > > subscribe to events at the application level. > > Why not write a JavaFX extension framework that maps JavaFX Event to a > MessageBus implementation. > I'm not saying I can't write this, I'm saying I shouldn't have to. The point2point event model breaks down after a while especially in a highly interactive application, and results in memory leaks when you can't or don't disengage your listeners. > > > - *Release the source.* It's a royal pain to have to download the > > source through mercurial rather than simply read it as you do with the > > Swing code or download it as you do with any Maven package. > > > > The source code is there as JavaFX 2.2 as openjfx already. > I think you meant make the source code also a downloadable distribution. > Actually, since it currently ships with Java 7, the source code should be included just as the source code for Swing is included. > > Hack the build.xml in the openjfx project, and contribute the Ant target. > > I also note that there should be a standalone JavaFX Doc as > distribution > Usually these are part of the standard Maven build -- so if they built with Maven they would get that for free. > > Ditto - hack the build.xml to javadoc and zip up the javadoc > > Contrib the patch back to the team > > > There's also some work that needs to be done to make it easier for > > people to participate. I have 3 accounts at the moment: one for > > this mailing list, one for the forums, and one for JIRA. Can we > > just boil that down > to > > one, and let me login with Facebook or Google credentials? > > > > Have you heard of the online services Google Onepass or LastPass or > Yahoo Super wallet? Not really looking for an alternative, merely the ability to sign on without having to create new accounts everywhere. One of the goals of the JavaFX project (described in Richard's quarterly report) is to increase community participation. Most of what I've mentioned are items that should lower those barriers to entry. Mark From tom.schindl at bestsolution.at Mon Oct 15 04:54:11 2012 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Mon, 15 Oct 2012 13:54:11 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> Message-ID: <507BF963.6080404@bestsolution.at> Well once javafx is on the bootclasspath this doesn't make any sense so time is better invested in pushing into the bootclasspath in 7u something which is the last info I got from Kevin (See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7166330) Tom Am 15.10.12 13:45, schrieb Claus Luethje: > +1 for the maven support > > -----Original Message----- > From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark Fortner > Sent: Mittwoch, 10. Oktober 2012 17:28 > To: openjfx-dev at openjdk.java.net > Subject: Fwd: Re: No JavaFX for iOS, Android or WP - why not? > > Hi Peter, > > Comments below. > > >> I am preferring to use Gradle these days. Nevertheless the issue of >> putting JavaFX in a Maven Repository is an important. Because JavaFX >> is not pure Java, the problem with linking with native library is a >> major concern. >> >> Whatever JavaFX JAR you put in a artifact repository, whether SonaType >> or Artifactory there has to be way to guarantee the code in the JAR >> can always find the native libraries. Oracle have not come with a >> scheme. I do not know of a safe way to do this portably that is cross >> platform and work across all systems with causing a break if one or >> the other dependencies are upgraded. The version, the native library >> and the potential upgrades are the sticking problem. >> >> Then there is a licensing of the JavaFX Runtime and distribution of >> Oracle's implementation. >> > > Agreed. The assumption seems to be that if you use the Ant tasks to build, then you're OK. Everything else, you're on your own. Most of the organizations I've worked for left Ant behind 10 years ago. A mojo version > of the Ant tasks would make deployment easier. A maven archetype for > creating JavaFX projects would go a long way to making things easier. You simply run the archetype all of your dependencies, Eclipse/NetBeans project files, runtime environment variables are created for you. You could even add a starter application. > > > >> >>> - *Webstart deployment *- this is still problematic. Currently >>> when >> you >>> push new artifacts to your web server, it's not replacing the >> existing JARs >>> in the user's cache -- despite what the documentation says. The >> "special" >>> javafx tags aren't documented well enough and presume that you're >> using the >>> Ant tools to generate the JNLP. And getting shaded jars is next to >>> impossible. >> >> I do not have an answer to this web start problem. I do assume you can >> upgrade Java 7. >> >> > > I'm currently running Java 7. > > > >> >>> - *Charts* - support for zooming and panning within the charts. >> Support >>> for drawing on top of charts. >> >> The controls and charts code is open source, go and implement your >> chart component. >> Start with a copy of the line chart and hack it. >> >> > Not really looking to hack JavaFX classes to support basic functionality. > I figure if I can do zooming and panning in Google Charts in a web browser, then I should be able to do the same with JavaFX. BTW, I tried hacking LineChart, and then quickly realized I would also have to hack NumberAxis because some fool made it final. The scope of my hacking quickly started to grow so I stopped before it got out of hand. > > > >> >>> - *Support for Swing components within JavaFX. * If the goal is to >>> replace Swing, then this is one of those essential capabilities >>> that >> needs >>> to be in place. The current examples only demonstrate how to put >> JavaFX >>> components within Swing applications. Unfortunately, if you want >>> to >> reuse >>> any existing components (like JFreeCharts for example) within >>> your >> project, >>> you're SOL at the moment. >> >> They is not going to be 100% free ride on this extra third party >> functionality. >> >> 1) Modify JFreeChart and port some of it or all of it to JavaFX >> 2) Hack the existing Chart package until it gets you 80/20 of what you >> want >> > > Unfortunately, if they're positioning this as a replacement for Swing, then they're going to need to have some way of support Swing components. There are just too many Swing libraries out there that may never get ported over. > If SWT can be supported, I don't see why Swing can't. Either the original owners don't want to port them, don't have the funds to do it (this is especially true with academic libraries used for scientific applications), or have abandoned the code base. > > When you're contracting, porting a library is typically not part of the scope, since it's assumed that whatever components you're using already support 80% of what you want, and you just need to add functionality specific to the problem domain you're working in. > > > >> >>> - *Support for an EventBus.* Currently, there's a lot of point2point >>> event code that you have to write to fire and listen to events. >>> It >> would >>> make for a much more useable codebase if you could simply publish and >>> subscribe to events at the application level. >> >> Why not write a JavaFX extension framework that maps JavaFX Event to a >> MessageBus implementation. >> > > I'm not saying I can't write this, I'm saying I shouldn't have to. The point2point event model breaks down after a while especially in a highly interactive application, and results in memory leaks when you can't or don't disengage your listeners. > > > > >> >>> - *Release the source.* It's a royal pain to have to download the >>> source through mercurial rather than simply read it as you do with the >>> Swing code or download it as you do with any Maven package. >>> >> >> The source code is there as JavaFX 2.2 as openjfx already. >> I think you meant make the source code also a downloadable distribution. >> > > Actually, since it currently ships with Java 7, the source code should be included just as the source code for Swing is included. > > >> >> Hack the build.xml in the openjfx project, and contribute the Ant target. >> >> I also note that there should be a standalone JavaFX Doc as >> distribution >> > > Usually these are part of the standard Maven build -- so if they built with Maven they would get that for free. > > >> >> Ditto - hack the build.xml to javadoc and zip up the javadoc >> >> Contrib the patch back to the team >> >>> There's also some work that needs to be done to make it easier for >>> people to participate. I have 3 accounts at the moment: one for >>> this mailing list, one for the forums, and one for JIRA. Can we >>> just boil that down >> to >>> one, and let me login with Facebook or Google credentials? >>> >> >> Have you heard of the online services Google Onepass or LastPass or >> Yahoo Super wallet? > > > Not really looking for an alternative, merely the ability to sign on without having to create new accounts everywhere. One of the goals of the JavaFX project (described in Richard's quarterly report) is to increase > community participation. Most of what I've mentioned are items that > should lower those barriers to entry. > > > Mark > -- B e s t S o l u t i o n . a t EDV Systemhaus GmbH ------------------------------------------------------------------------ tom schindl gesch?ftsf?hrer/CEO ------------------------------------------------------------------------ eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 http://www.BestSolution.at phone ++43 512 935834 From neugens.limasoftware at gmail.com Mon Oct 15 05:00:18 2012 From: neugens.limasoftware at gmail.com (Mario Torre) Date: Mon, 15 Oct 2012 14:00:18 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <193FF4ED343AF14F8CDC65B4792C954D13296353@Jeri.osys.ch> References: <193FF4ED343AF14F8CDC65B4792C954D13296353@Jeri.osys.ch> Message-ID: 2012/10/15 Claus Luethje : > I want to be working on mobile app based on JavaFX with my team. We have built skills (and still are) and interest, but how can we convince customers to invest in JavaFX? > I see JavaFX as a very efficient way to build GUIs; it's fast, versatile and fun. It could be a perfect match for RIA, but time-to-market is important and JavaFX isn't there yet. > Regards > Claus Hi Claus, I can share with you you my own experience on this. In the past, I've been part of a team who was delivering a stripped down j2se solution for the automotive market. It was a solution mostly targeting JavaTV/Xlet environments, the kind of things you find in high class cars today (with DVD readers and all the funny gadgets that I will never understand how people can ever use while driving :). Now, there are a number of good APIs that are part of this environment, most of the functionality of the most famous JSRs even found a way in some form into nowadays popular mobile platforms like Android and iOS (location services, OpenGL for mobile devices, camera services, etc...). This, however, wasn't enough. We then decided to port LWUIT to offer this framework as a base for the mobile UI work, since at the time LWUIT was only working on J2ME we wrote our own layer over the stripped down J2SE. The solution we were providing was not just about adding those tools and that's it, we were offering also all kind of frameworks to help integrate those things in a secure way (service on demand, class isolation, etc...) It was a good product in the end, because of this high level of integration, it offered a very good value added. Android and iOS are good choices because they offer this value added too, they have tools, good support and documentation, and lots of interesting APIs, and everything is well consolidated in a coherent environment. So the question you're asking "how can we convince customers to invest in JavaFX" is very simple to answer: help build this ecosystem around it and consolidate. The JavaFX community will take care of enabling this ecosystem, depending on the specific needs of the individuals, over multiple choices of platforms and operating systems, as soon as the whole thing goes Open Source, I'm very confident on this. Ultimately, the choice is yours, and it's most probably driven by current customers need, but in my opinion it's worth to build extra skills and code over this platform. [1] Cheers, Mario [1] Standard disclaimer apply: This is a personal opinion only, use at your own risk! I'm not affiliated in any way with Oracle, nor this opinion is necessarily shared by my employer or Oracle or anybody else, etc... -- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/ From Claus.Luethje at osys.ch Mon Oct 15 05:06:24 2012 From: Claus.Luethje at osys.ch (Claus Luethje) Date: Mon, 15 Oct 2012 12:06:24 +0000 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <507BF963.6080404@bestsolution.at> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> Message-ID: <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> Oh, I must have missed this info. In this case, let's hope JavaFX in soon pushed into the bootclasspath. Claus -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Tom Schindl Sent: Montag, 15. Oktober 2012 13:54 To: openjfx-dev at openjdk.java.net Subject: Re: No JavaFX for iOS, Android or WP - why not? Well once javafx is on the bootclasspath this doesn't make any sense so time is better invested in pushing into the bootclasspath in 7u something which is the last info I got from Kevin (See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7166330) Tom Am 15.10.12 13:45, schrieb Claus Luethje: > +1 for the maven support > > -----Original Message----- > From: openjfx-dev-bounces at openjdk.java.net > [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark > Fortner > Sent: Mittwoch, 10. Oktober 2012 17:28 > To: openjfx-dev at openjdk.java.net > Subject: Fwd: Re: No JavaFX for iOS, Android or WP - why not? > > Hi Peter, > > Comments below. > > >> I am preferring to use Gradle these days. Nevertheless the issue of >> putting JavaFX in a Maven Repository is an important. Because JavaFX >> is not pure Java, the problem with linking with native library is a >> major concern. >> >> Whatever JavaFX JAR you put in a artifact repository, whether >> SonaType or Artifactory there has to be way to guarantee the code in >> the JAR can always find the native libraries. Oracle have not come >> with a scheme. I do not know of a safe way to do this portably that >> is cross platform and work across all systems with causing a break if >> one or the other dependencies are upgraded. The version, the native >> library and the potential upgrades are the sticking problem. >> >> Then there is a licensing of the JavaFX Runtime and distribution of >> Oracle's implementation. >> > > Agreed. The assumption seems to be that if you use the Ant tasks to build, then you're OK. Everything else, you're on your own. Most of the organizations I've worked for left Ant behind 10 years ago. A mojo version > of the Ant tasks would make deployment easier. A maven archetype for > creating JavaFX projects would go a long way to making things easier. You simply run the archetype all of your dependencies, Eclipse/NetBeans project files, runtime environment variables are created for you. You could even add a starter application. > > > >> >>> - *Webstart deployment *- this is still problematic. Currently >>> when >> you >>> push new artifacts to your web server, it's not replacing the >> existing JARs >>> in the user's cache -- despite what the documentation says. The >> "special" >>> javafx tags aren't documented well enough and presume that you're >> using the >>> Ant tools to generate the JNLP. And getting shaded jars is next to >>> impossible. >> >> I do not have an answer to this web start problem. I do assume you >> can upgrade Java 7. >> >> > > I'm currently running Java 7. > > > >> >>> - *Charts* - support for zooming and panning within the charts. >> Support >>> for drawing on top of charts. >> >> The controls and charts code is open source, go and implement your >> chart component. >> Start with a copy of the line chart and hack it. >> >> > Not really looking to hack JavaFX classes to support basic functionality. > I figure if I can do zooming and panning in Google Charts in a web browser, then I should be able to do the same with JavaFX. BTW, I tried hacking LineChart, and then quickly realized I would also have to hack NumberAxis because some fool made it final. The scope of my hacking quickly started to grow so I stopped before it got out of hand. > > > >> >>> - *Support for Swing components within JavaFX. * If the goal is to >>> replace Swing, then this is one of those essential capabilities >>> that >> needs >>> to be in place. The current examples only demonstrate how to put >> JavaFX >>> components within Swing applications. Unfortunately, if you want >>> to >> reuse >>> any existing components (like JFreeCharts for example) within >>> your >> project, >>> you're SOL at the moment. >> >> They is not going to be 100% free ride on this extra third party >> functionality. >> >> 1) Modify JFreeChart and port some of it or all of it to JavaFX >> 2) Hack the existing Chart package until it gets you 80/20 of what >> you want >> > > Unfortunately, if they're positioning this as a replacement for Swing, then they're going to need to have some way of support Swing components. There are just too many Swing libraries out there that may never get ported over. > If SWT can be supported, I don't see why Swing can't. Either the original owners don't want to port them, don't have the funds to do it (this is especially true with academic libraries used for scientific applications), or have abandoned the code base. > > When you're contracting, porting a library is typically not part of the scope, since it's assumed that whatever components you're using already support 80% of what you want, and you just need to add functionality specific to the problem domain you're working in. > > > >> >>> - *Support for an EventBus.* Currently, there's a lot of point2point >>> event code that you have to write to fire and listen to events. >>> It >> would >>> make for a much more useable codebase if you could simply publish and >>> subscribe to events at the application level. >> >> Why not write a JavaFX extension framework that maps JavaFX Event to >> a MessageBus implementation. >> > > I'm not saying I can't write this, I'm saying I shouldn't have to. The point2point event model breaks down after a while especially in a highly interactive application, and results in memory leaks when you can't or don't disengage your listeners. > > > > >> >>> - *Release the source.* It's a royal pain to have to download the >>> source through mercurial rather than simply read it as you do with the >>> Swing code or download it as you do with any Maven package. >>> >> >> The source code is there as JavaFX 2.2 as openjfx already. >> I think you meant make the source code also a downloadable distribution. >> > > Actually, since it currently ships with Java 7, the source code should be included just as the source code for Swing is included. > > >> >> Hack the build.xml in the openjfx project, and contribute the Ant target. >> >> I also note that there should be a standalone JavaFX Doc as >> distribution >> > > Usually these are part of the standard Maven build -- so if they built with Maven they would get that for free. > > >> >> Ditto - hack the build.xml to javadoc and zip up the javadoc >> >> Contrib the patch back to the team >> >>> There's also some work that needs to be done to make it easier for >>> people to participate. I have 3 accounts at the moment: one for >>> this mailing list, one for the forums, and one for JIRA. Can we >>> just boil that down >> to >>> one, and let me login with Facebook or Google credentials? >>> >> >> Have you heard of the online services Google Onepass or LastPass or >> Yahoo Super wallet? > > > Not really looking for an alternative, merely the ability to sign on without having to create new accounts everywhere. One of the goals of the JavaFX project (described in Richard's quarterly report) is to increase > community participation. Most of what I've mentioned are items that > should lower those barriers to entry. > > > Mark > -- B e s t S o l u t i o n . a t EDV Systemhaus GmbH ------------------------------------------------------------------------ tom schindl gesch?ftsf?hrer/CEO ------------------------------------------------------------------------ eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 http://www.BestSolution.at phone ++43 512 935834 From zonski at gmail.com Mon Oct 15 05:39:39 2012 From: zonski at gmail.com (Daniel Zwolenski) Date: Mon, 15 Oct 2012 23:39:39 +1100 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> Message-ID: <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> Just for clarity, the bootclasspath addition will only solve the first part of the Maven issue, ie the jars will be available to *compile* against. For actual *packaging* for deployment, JFX has special ant tools, which creates bundles (for webstart, applet and native) and these bundles are quite magic so not trivial to assemble without the ant tools. As such these Ant tools would need to be ported (or wrapped by) a Maven plugin in order to have a clean JFX Maven build that is inline with what you would be accustomed to when building say a webapp with Maven. You could of course callout to the ant tasks but the build is far enough off a normal Maven build doing this that you'd likely be better off just using Ant (+ivy) as it would be simpler/cleaner. Or there's Gradle. If the bootclasspath thing happens it does at least partially resolve the long standing legal hurdles to Maven integration so the community *may* well be able to (finally) build this plugin. However I imagine the legal issue will still stand with regards to the Jars used by the packaging tools (as these likely won't be on the bootclasspath), which means the plugin probably legally won't be able to redistribute these tool jars making it harder to implement such a plugin. Any such Maven plugin and support will be the full responsibility of the community unless there was a change in current stance. The Oracle JFX team support ANT only, all other build platforms are left as an exercise for the reader. On 15/10/2012, at 11:06 PM, Claus Luethje wrote: > Oh, I must have missed this info. In this case, let's hope JavaFX in soon pushed into the bootclasspath. > Claus > > -----Original Message----- > From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Tom Schindl > Sent: Montag, 15. Oktober 2012 13:54 > To: openjfx-dev at openjdk.java.net > Subject: Re: No JavaFX for iOS, Android or WP - why not? > > Well once javafx is on the bootclasspath this doesn't make any sense so time is better invested in pushing into the bootclasspath in 7u something which is the last info I got from Kevin (See > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7166330) > > Tom > > Am 15.10.12 13:45, schrieb Claus Luethje: >> +1 for the maven support >> >> -----Original Message----- >> From: openjfx-dev-bounces at openjdk.java.net >> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark >> Fortner >> Sent: Mittwoch, 10. Oktober 2012 17:28 >> To: openjfx-dev at openjdk.java.net >> Subject: Fwd: Re: No JavaFX for iOS, Android or WP - why not? >> >> Hi Peter, >> >> Comments below. >> >> >>> I am preferring to use Gradle these days. Nevertheless the issue of >>> putting JavaFX in a Maven Repository is an important. Because JavaFX >>> is not pure Java, the problem with linking with native library is a >>> major concern. >>> >>> Whatever JavaFX JAR you put in a artifact repository, whether >>> SonaType or Artifactory there has to be way to guarantee the code in >>> the JAR can always find the native libraries. Oracle have not come >>> with a scheme. I do not know of a safe way to do this portably that >>> is cross platform and work across all systems with causing a break if >>> one or the other dependencies are upgraded. The version, the native >>> library and the potential upgrades are the sticking problem. >>> >>> Then there is a licensing of the JavaFX Runtime and distribution of >>> Oracle's implementation. >>> >> >> Agreed. The assumption seems to be that if you use the Ant tasks to build, then you're OK. Everything else, you're on your own. Most of the organizations I've worked for left Ant behind 10 years ago. A mojo version >> of the Ant tasks would make deployment easier. A maven archetype for >> creating JavaFX projects would go a long way to making things easier. You simply run the archetype all of your dependencies, Eclipse/NetBeans project files, runtime environment variables are created for you. You could even add a starter application. >> >> >> >>> >>>> - *Webstart deployment *- this is still problematic. Currently >>>> when >>> you >>>> push new artifacts to your web server, it's not replacing the >>> existing JARs >>>> in the user's cache -- despite what the documentation says. The >>> "special" >>>> javafx tags aren't documented well enough and presume that you're >>> using the >>>> Ant tools to generate the JNLP. And getting shaded jars is next to >>>> impossible. >>> >>> I do not have an answer to this web start problem. I do assume you >>> can upgrade Java 7. >>> >>> >> >> I'm currently running Java 7. >> >> >> >>> >>>> - *Charts* - support for zooming and panning within the charts. >>> Support >>>> for drawing on top of charts. >>> >>> The controls and charts code is open source, go and implement your >>> chart component. >>> Start with a copy of the line chart and hack it. >>> >>> >> Not really looking to hack JavaFX classes to support basic functionality. >> I figure if I can do zooming and panning in Google Charts in a web browser, then I should be able to do the same with JavaFX. BTW, I tried hacking LineChart, and then quickly realized I would also have to hack NumberAxis because some fool made it final. The scope of my hacking quickly started to grow so I stopped before it got out of hand. >> >> >> >>> >>>> - *Support for Swing components within JavaFX. * If the goal is to >>>> replace Swing, then this is one of those essential capabilities >>>> that >>> needs >>>> to be in place. The current examples only demonstrate how to put >>> JavaFX >>>> components within Swing applications. Unfortunately, if you want >>>> to >>> reuse >>>> any existing components (like JFreeCharts for example) within >>>> your >>> project, >>>> you're SOL at the moment. >>> >>> They is not going to be 100% free ride on this extra third party >>> functionality. >>> >>> 1) Modify JFreeChart and port some of it or all of it to JavaFX >>> 2) Hack the existing Chart package until it gets you 80/20 of what >>> you want >>> >> >> Unfortunately, if they're positioning this as a replacement for Swing, then they're going to need to have some way of support Swing components. There are just too many Swing libraries out there that may never get ported over. >> If SWT can be supported, I don't see why Swing can't. Either the original owners don't want to port them, don't have the funds to do it (this is especially true with academic libraries used for scientific applications), or have abandoned the code base. > >> >> When you're contracting, porting a library is typically not part of the scope, since it's assumed that whatever components you're using already support 80% of what you want, and you just need to add functionality specific to the problem domain you're working in. >> >> >> >>> >>>> - *Support for an EventBus.* Currently, there's a lot of point2point >>>> event code that you have to write to fire and listen to events. >>>> It >>> would >>>> make for a much more useable codebase if you could simply publish and >>>> subscribe to events at the application level. >>> >>> Why not write a JavaFX extension framework that maps JavaFX Event to >>> a MessageBus implementation. >>> >> >> I'm not saying I can't write this, I'm saying I shouldn't have to. The point2point event model breaks down after a while especially in a highly interactive application, and results in memory leaks when you can't or don't disengage your listeners. >> >> >> >> >>> >>>> - *Release the source.* It's a royal pain to have to download the >>>> source through mercurial rather than simply read it as you do with the >>>> Swing code or download it as you do with any Maven package. >>>> >>> >>> The source code is there as JavaFX 2.2 as openjfx already. >>> I think you meant make the source code also a downloadable distribution. >>> >> >> Actually, since it currently ships with Java 7, the source code should be included just as the source code for Swing is included. >> >> >>> >>> Hack the build.xml in the openjfx project, and contribute the Ant target. >>> >>> I also note that there should be a standalone JavaFX Doc as >>> distribution >>> >> >> Usually these are part of the standard Maven build -- so if they built with Maven they would get that for free. >> >> >>> >>> Ditto - hack the build.xml to javadoc and zip up the javadoc >>> >>> Contrib the patch back to the team >>> >>>> There's also some work that needs to be done to make it easier for >>>> people to participate. I have 3 accounts at the moment: one for >>>> this mailing list, one for the forums, and one for JIRA. Can we >>>> just boil that down >>> to >>>> one, and let me login with Facebook or Google credentials? >>>> >>> >>> Have you heard of the online services Google Onepass or LastPass or >>> Yahoo Super wallet? >> >> >> Not really looking for an alternative, merely the ability to sign on without having to create new accounts everywhere. One of the goals of the JavaFX project (described in Richard's quarterly report) is to increase >> community participation. Most of what I've mentioned are items that >> should lower those barriers to entry. >> >> >> Mark >> > > > -- > B e s t S o l u t i o n . a t EDV Systemhaus GmbH > ------------------------------------------------------------------------ > tom schindl gesch?ftsf?hrer/CEO > ------------------------------------------------------------------------ > eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 > http://www.BestSolution.at phone ++43 512 935834 From tom.schindl at bestsolution.at Mon Oct 15 05:49:39 2012 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Mon, 15 Oct 2012 14:49:39 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> Message-ID: <507C0663.2070606@bestsolution.at> [Please note I have no idea of all how maven works and how it does the classloading, ... .] Well if this stuff is found at a well defined place why does the plugin have to redistribute them? e.g. in e(fx)clipse I simply generate a ant-build script which uses the JDK-Location to find the fx-ant additions and the javafxrt.jar when compiling. Would the easiest thing for a maven build be that it generates an ant-file and then launches ant? Tom Am 15.10.12 14:39, schrieb Daniel Zwolenski: > Just for clarity, the bootclasspath addition will only solve the first part of the Maven issue, ie the jars will be available to *compile* against. > > For actual *packaging* for deployment, JFX has special ant tools, which creates bundles (for webstart, applet and native) and these bundles are quite magic so not trivial to assemble without the ant tools. As such these Ant tools would need to be ported (or wrapped by) a Maven plugin in order to have a clean JFX Maven build that is inline with what you would be accustomed to when building say a webapp with Maven. > > You could of course callout to the ant tasks but the build is far enough off a normal Maven build doing this that you'd likely be better off just using Ant (+ivy) as it would be simpler/cleaner. Or there's Gradle. > > If the bootclasspath thing happens it does at least partially resolve the long standing legal hurdles to Maven integration so the community *may* well be able to (finally) build this plugin. However I imagine the legal issue will still stand with regards to the Jars used by the packaging tools (as these likely won't be on the bootclasspath), which means the plugin probably legally won't be able to redistribute these tool jars making it harder to implement such a plugin. > > Any such Maven plugin and support will be the full responsibility of the community unless there was a change in current stance. The Oracle JFX team support ANT only, all other build platforms are left as an exercise for the reader. > > > > On 15/10/2012, at 11:06 PM, Claus Luethje wrote: > >> Oh, I must have missed this info. In this case, let's hope JavaFX in soon pushed into the bootclasspath. >> Claus >> >> -----Original Message----- >> From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Tom Schindl >> Sent: Montag, 15. Oktober 2012 13:54 >> To: openjfx-dev at openjdk.java.net >> Subject: Re: No JavaFX for iOS, Android or WP - why not? >> >> Well once javafx is on the bootclasspath this doesn't make any sense so time is better invested in pushing into the bootclasspath in 7u something which is the last info I got from Kevin (See >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7166330) >> >> Tom >> >> Am 15.10.12 13:45, schrieb Claus Luethje: >>> +1 for the maven support >>> >>> -----Original Message----- >>> From: openjfx-dev-bounces at openjdk.java.net >>> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark >>> Fortner >>> Sent: Mittwoch, 10. Oktober 2012 17:28 >>> To: openjfx-dev at openjdk.java.net >>> Subject: Fwd: Re: No JavaFX for iOS, Android or WP - why not? >>> >>> Hi Peter, >>> >>> Comments below. >>> >>> >>>> I am preferring to use Gradle these days. Nevertheless the issue of >>>> putting JavaFX in a Maven Repository is an important. Because JavaFX >>>> is not pure Java, the problem with linking with native library is a >>>> major concern. >>>> >>>> Whatever JavaFX JAR you put in a artifact repository, whether >>>> SonaType or Artifactory there has to be way to guarantee the code in >>>> the JAR can always find the native libraries. Oracle have not come >>>> with a scheme. I do not know of a safe way to do this portably that >>>> is cross platform and work across all systems with causing a break if >>>> one or the other dependencies are upgraded. The version, the native >>>> library and the potential upgrades are the sticking problem. >>>> >>>> Then there is a licensing of the JavaFX Runtime and distribution of >>>> Oracle's implementation. >>>> >>> >>> Agreed. The assumption seems to be that if you use the Ant tasks to build, then you're OK. Everything else, you're on your own. Most of the organizations I've worked for left Ant behind 10 years ago. A mojo version >>> of the Ant tasks would make deployment easier. A maven archetype for >>> creating JavaFX projects would go a long way to making things easier. You simply run the archetype all of your dependencies, Eclipse/NetBeans project files, runtime environment variables are created for you. You could even add a starter application. >>> >>> >>> >>>> >>>>> - *Webstart deployment *- this is still problematic. Currently >>>>> when >>>> you >>>>> push new artifacts to your web server, it's not replacing the >>>> existing JARs >>>>> in the user's cache -- despite what the documentation says. The >>>> "special" >>>>> javafx tags aren't documented well enough and presume that you're >>>> using the >>>>> Ant tools to generate the JNLP. And getting shaded jars is next to >>>>> impossible. >>>> >>>> I do not have an answer to this web start problem. I do assume you >>>> can upgrade Java 7. >>>> >>>> >>> >>> I'm currently running Java 7. >>> >>> >>> >>>> >>>>> - *Charts* - support for zooming and panning within the charts. >>>> Support >>>>> for drawing on top of charts. >>>> >>>> The controls and charts code is open source, go and implement your >>>> chart component. >>>> Start with a copy of the line chart and hack it. >>>> >>>> >>> Not really looking to hack JavaFX classes to support basic functionality. >>> I figure if I can do zooming and panning in Google Charts in a web browser, then I should be able to do the same with JavaFX. BTW, I tried hacking LineChart, and then quickly realized I would also have to hack NumberAxis because some fool made it final. The scope of my hacking quickly started to grow so I stopped before it got out of hand. >>> >>> >>> >>>> >>>>> - *Support for Swing components within JavaFX. * If the goal is to >>>>> replace Swing, then this is one of those essential capabilities >>>>> that >>>> needs >>>>> to be in place. The current examples only demonstrate how to put >>>> JavaFX >>>>> components within Swing applications. Unfortunately, if you want >>>>> to >>>> reuse >>>>> any existing components (like JFreeCharts for example) within >>>>> your >>>> project, >>>>> you're SOL at the moment. >>>> >>>> They is not going to be 100% free ride on this extra third party >>>> functionality. >>>> >>>> 1) Modify JFreeChart and port some of it or all of it to JavaFX >>>> 2) Hack the existing Chart package until it gets you 80/20 of what >>>> you want >>>> >>> >>> Unfortunately, if they're positioning this as a replacement for Swing, then they're going to need to have some way of support Swing components. There are just too many Swing libraries out there that may never get ported over. >>> If SWT can be supported, I don't see why Swing can't. Either the original owners don't want to port them, don't have the funds to do it (this is especially true with academic libraries used for scientific applications), or have abandoned the code base. >> >>> >>> When you're contracting, porting a library is typically not part of the scope, since it's assumed that whatever components you're using already support 80% of what you want, and you just need to add functionality specific to the problem domain you're working in. >>> >>> >>> >>>> >>>>> - *Support for an EventBus.* Currently, there's a lot of point2point >>>>> event code that you have to write to fire and listen to events. >>>>> It >>>> would >>>>> make for a much more useable codebase if you could simply publish and >>>>> subscribe to events at the application level. >>>> >>>> Why not write a JavaFX extension framework that maps JavaFX Event to >>>> a MessageBus implementation. >>>> >>> >>> I'm not saying I can't write this, I'm saying I shouldn't have to. The point2point event model breaks down after a while especially in a highly interactive application, and results in memory leaks when you can't or don't disengage your listeners. >>> >>> >>> >>> >>>> >>>>> - *Release the source.* It's a royal pain to have to download the >>>>> source through mercurial rather than simply read it as you do with the >>>>> Swing code or download it as you do with any Maven package. >>>>> >>>> >>>> The source code is there as JavaFX 2.2 as openjfx already. >>>> I think you meant make the source code also a downloadable distribution. >>>> >>> >>> Actually, since it currently ships with Java 7, the source code should be included just as the source code for Swing is included. >>> >>> >>>> >>>> Hack the build.xml in the openjfx project, and contribute the Ant target. >>>> >>>> I also note that there should be a standalone JavaFX Doc as >>>> distribution >>>> >>> >>> Usually these are part of the standard Maven build -- so if they built with Maven they would get that for free. >>> >>> >>>> >>>> Ditto - hack the build.xml to javadoc and zip up the javadoc >>>> >>>> Contrib the patch back to the team >>>> >>>>> There's also some work that needs to be done to make it easier for >>>>> people to participate. I have 3 accounts at the moment: one for >>>>> this mailing list, one for the forums, and one for JIRA. Can we >>>>> just boil that down >>>> to >>>>> one, and let me login with Facebook or Google credentials? >>>>> >>>> >>>> Have you heard of the online services Google Onepass or LastPass or >>>> Yahoo Super wallet? >>> >>> >>> Not really looking for an alternative, merely the ability to sign on without having to create new accounts everywhere. One of the goals of the JavaFX project (described in Richard's quarterly report) is to increase >>> community participation. Most of what I've mentioned are items that >>> should lower those barriers to entry. >>> >>> >>> Mark >>> >> >> >> -- >> B e s t S o l u t i o n . a t EDV Systemhaus GmbH >> ------------------------------------------------------------------------ >> tom schindl gesch?ftsf?hrer/CEO >> ------------------------------------------------------------------------ >> eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 >> http://www.BestSolution.at phone ++43 512 935834 -- B e s t S o l u t i o n . a t EDV Systemhaus GmbH ------------------------------------------------------------------------ tom schindl gesch?ftsf?hrer/CEO ------------------------------------------------------------------------ eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 http://www.BestSolution.at phone ++43 512 935834 From zonski at gmail.com Mon Oct 15 06:59:27 2012 From: zonski at gmail.com (Daniel Zwolenski) Date: Tue, 16 Oct 2012 00:59:27 +1100 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <507C0663.2070606@bestsolution.at> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> <507C0663.2070606@bestsolution.at> Message-ID: On 15/10/2012, at 11:49 PM, Tom Schindl wrote: > [Please note I have no idea of all how maven works and how it does the > classloading, ... .] > > Well if this stuff is found at a well defined place why does the plugin > have to redistribute them? > > e.g. in e(fx)clipse I simply generate a ant-build script which uses the > JDK-Location to find the fx-ant additions and the javafxrt.jar when > compiling. Yes this an option. If someone wants to build this plugin they will likely want to go down that road if they can't legally bundle the tools in their own code. This isn't an option for the actual rt.jar though as you can't hijack the compile path in the same way as you can the assembly tool path. Ie this will only be a practical option after the rt is on the bootclasspath as originally discussed. Which is why this plugin hasn't been written by the community yet - waiting on oracle. > > Would the easiest thing for a maven build be that it generates an > ant-file and then launches ant? No, Maven can call ant tasks so there is no need to generate an ant file. Maven users would not be overly happy with doing this though. Maven uses convention, ant uses configuration. Maven users will not be happy configuring a whole lot of ant tasks. The plugin would work out all the ant settings from the structure of the project. A maven user would expect to setup a build for their maven project by simply specifying the plugin reference and one or two lines of config (eg jnlp vs applet). The rest would all just happen magically. It's all pretty moot at this stage till the bootclasspath issue is fixed anyway. I was just pointing out that there would be more work and more challenges after this, whereas I think there might be a conception that this will be resolved (several maven requests were already marked incorrectly as resolved even before the bootclasspath fix has been done). Maven users won't be super impressed about having to manually install something like wix to do native builds too. Maven users are spoilt and used to most things just magically happening. This one would probably rate as just an annoyance though whereas the lack of plugin above would be a real deterrent for most. > > Tom > > Am 15.10.12 14:39, schrieb Daniel Zwolenski: >> Just for clarity, the bootclasspath addition will only solve the first part of the Maven issue, ie the jars will be available to *compile* against. >> >> For actual *packaging* for deployment, JFX has special ant tools, which creates bundles (for webstart, applet and native) and these bundles are quite magic so not trivial to assemble without the ant tools. As such these Ant tools would need to be ported (or wrapped by) a Maven plugin in order to have a clean JFX Maven build that is inline with what you would be accustomed to when building say a webapp with Maven. >> >> You could of course callout to the ant tasks but the build is far enough off a normal Maven build doing this that you'd likely be better off just using Ant (+ivy) as it would be simpler/cleaner. Or there's Gradle. >> >> If the bootclasspath thing happens it does at least partially resolve the long standing legal hurdles to Maven integration so the community *may* well be able to (finally) build this plugin. However I imagine the legal issue will still stand with regards to the Jars used by the packaging tools (as these likely won't be on the bootclasspath), which means the plugin probably legally won't be able to redistribute these tool jars making it harder to implement such a plugin. >> >> Any such Maven plugin and support will be the full responsibility of the community unless there was a change in current stance. The Oracle JFX team support ANT only, all other build platforms are left as an exercise for the reader. >> >> >> >> On 15/10/2012, at 11:06 PM, Claus Luethje wrote: >> >>> Oh, I must have missed this info. In this case, let's hope JavaFX in soon pushed into the bootclasspath. >>> Claus >>> >>> -----Original Message----- >>> From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Tom Schindl >>> Sent: Montag, 15. Oktober 2012 13:54 >>> To: openjfx-dev at openjdk.java.net >>> Subject: Re: No JavaFX for iOS, Android or WP - why not? >>> >>> Well once javafx is on the bootclasspath this doesn't make any sense so time is better invested in pushing into the bootclasspath in 7u something which is the last info I got from Kevin (See >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7166330) >>> >>> Tom >>> >>> Am 15.10.12 13:45, schrieb Claus Luethje: >>>> +1 for the maven support >>>> >>>> -----Original Message----- >>>> From: openjfx-dev-bounces at openjdk.java.net >>>> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark >>>> Fortner >>>> Sent: Mittwoch, 10. Oktober 2012 17:28 >>>> To: openjfx-dev at openjdk.java.net >>>> Subject: Fwd: Re: No JavaFX for iOS, Android or WP - why not? >>>> >>>> Hi Peter, >>>> >>>> Comments below. >>>> >>>> >>>>> I am preferring to use Gradle these days. Nevertheless the issue of >>>>> putting JavaFX in a Maven Repository is an important. Because JavaFX >>>>> is not pure Java, the problem with linking with native library is a >>>>> major concern. >>>>> >>>>> Whatever JavaFX JAR you put in a artifact repository, whether >>>>> SonaType or Artifactory there has to be way to guarantee the code in >>>>> the JAR can always find the native libraries. Oracle have not come >>>>> with a scheme. I do not know of a safe way to do this portably that >>>>> is cross platform and work across all systems with causing a break if >>>>> one or the other dependencies are upgraded. The version, the native >>>>> library and the potential upgrades are the sticking problem. >>>>> >>>>> Then there is a licensing of the JavaFX Runtime and distribution of >>>>> Oracle's implementation. >>>>> >>>> >>>> Agreed. The assumption seems to be that if you use the Ant tasks to build, then you're OK. Everything else, you're on your own. Most of the organizations I've worked for left Ant behind 10 years ago. A mojo version >>>> of the Ant tasks would make deployment easier. A maven archetype for >>>> creating JavaFX projects would go a long way to making things easier. You simply run the archetype all of your dependencies, Eclipse/NetBeans project files, runtime environment variables are created for you. You could even add a starter application. >>>> >>>> >>>> >>>>> >>>>>> - *Webstart deployment *- this is still problematic. Currently >>>>>> when >>>>> you >>>>>> push new artifacts to your web server, it's not replacing the >>>>> existing JARs >>>>>> in the user's cache -- despite what the documentation says. The >>>>> "special" >>>>>> javafx tags aren't documented well enough and presume that you're >>>>> using the >>>>>> Ant tools to generate the JNLP. And getting shaded jars is next to >>>>>> impossible. >>>>> >>>>> I do not have an answer to this web start problem. I do assume you >>>>> can upgrade Java 7. >>>>> >>>>> >>>> >>>> I'm currently running Java 7. >>>> >>>> >>>> >>>>> >>>>>> - *Charts* - support for zooming and panning within the charts. >>>>> Support >>>>>> for drawing on top of charts. >>>>> >>>>> The controls and charts code is open source, go and implement your >>>>> chart component. >>>>> Start with a copy of the line chart and hack it. >>>>> >>>>> >>>> Not really looking to hack JavaFX classes to support basic functionality. >>>> I figure if I can do zooming and panning in Google Charts in a web browser, then I should be able to do the same with JavaFX. BTW, I tried hacking LineChart, and then quickly realized I would also have to hack NumberAxis because some fool made it final. The scope of my hacking quickly started to grow so I stopped before it got out of hand. >>>> >>>> >>>> >>>>> >>>>>> - *Support for Swing components within JavaFX. * If the goal is to >>>>>> replace Swing, then this is one of those essential capabilities >>>>>> that >>>>> needs >>>>>> to be in place. The current examples only demonstrate how to put >>>>> JavaFX >>>>>> components within Swing applications. Unfortunately, if you want >>>>>> to >>>>> reuse >>>>>> any existing components (like JFreeCharts for example) within >>>>>> your >>>>> project, >>>>>> you're SOL at the moment. >>>>> >>>>> They is not going to be 100% free ride on this extra third party >>>>> functionality. >>>>> >>>>> 1) Modify JFreeChart and port some of it or all of it to JavaFX >>>>> 2) Hack the existing Chart package until it gets you 80/20 of what >>>>> you want >>>>> >>>> >>>> Unfortunately, if they're positioning this as a replacement for Swing, then they're going to need to have some way of support Swing components. There are just too many Swing libraries out there that may never get ported over. >>>> If SWT can be supported, I don't see why Swing can't. Either the original owners don't want to port them, don't have the funds to do it (this is especially true with academic libraries used for scientific applications), or have abandoned the code base. >>> >>>> >>>> When you're contracting, porting a library is typically not part of the scope, since it's assumed that whatever components you're using already support 80% of what you want, and you just need to add functionality specific to the problem domain you're working in. >>>> >>>> >>>> >>>>> >>>>>> - *Support for an EventBus.* Currently, there's a lot of point2point >>>>>> event code that you have to write to fire and listen to events. >>>>>> It >>>>> would >>>>>> make for a much more useable codebase if you could simply publish and >>>>>> subscribe to events at the application level. >>>>> >>>>> Why not write a JavaFX extension framework that maps JavaFX Event to >>>>> a MessageBus implementation. >>>>> >>>> >>>> I'm not saying I can't write this, I'm saying I shouldn't have to. The point2point event model breaks down after a while especially in a highly interactive application, and results in memory leaks when you can't or don't disengage your listeners. >>>> >>>> >>>> >>>> >>>>> >>>>>> - *Release the source.* It's a royal pain to have to download the >>>>>> source through mercurial rather than simply read it as you do with the >>>>>> Swing code or download it as you do with any Maven package. >>>>>> >>>>> >>>>> The source code is there as JavaFX 2.2 as openjfx already. >>>>> I think you meant make the source code also a downloadable distribution. >>>>> >>>> >>>> Actually, since it currently ships with Java 7, the source code should be included just as the source code for Swing is included. >>>> >>>> >>>>> >>>>> Hack the build.xml in the openjfx project, and contribute the Ant target. >>>>> >>>>> I also note that there should be a standalone JavaFX Doc as >>>>> distribution >>>>> >>>> >>>> Usually these are part of the standard Maven build -- so if they built with Maven they would get that for free. >>>> >>>> >>>>> >>>>> Ditto - hack the build.xml to javadoc and zip up the javadoc >>>>> >>>>> Contrib the patch back to the team >>>>> >>>>>> There's also some work that needs to be done to make it easier for >>>>>> people to participate. I have 3 accounts at the moment: one for >>>>>> this mailing list, one for the forums, and one for JIRA. Can we >>>>>> just boil that down >>>>> to >>>>>> one, and let me login with Facebook or Google credentials? >>>>>> >>>>> >>>>> Have you heard of the online services Google Onepass or LastPass or >>>>> Yahoo Super wallet? >>>> >>>> >>>> Not really looking for an alternative, merely the ability to sign on without having to create new accounts everywhere. One of the goals of the JavaFX project (described in Richard's quarterly report) is to increase >>>> community participation. Most of what I've mentioned are items that >>>> should lower those barriers to entry. >>>> >>>> >>>> Mark >>>> >>> >>> >>> -- >>> B e s t S o l u t i o n . a t EDV Systemhaus GmbH >>> ------------------------------------------------------------------------ >>> tom schindl gesch?ftsf?hrer/CEO >>> ------------------------------------------------------------------------ >>> eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 >>> http://www.BestSolution.at phone ++43 512 935834 > > > -- > B e s t S o l u t i o n . a t EDV Systemhaus GmbH > ------------------------------------------------------------------------ > tom schindl gesch?ftsf?hrer/CEO > ------------------------------------------------------------------------ > eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 > http://www.BestSolution.at phone ++43 512 935834 From swpalmer at gmail.com Mon Oct 15 11:03:23 2012 From: swpalmer at gmail.com (Scott Palmer) Date: Mon, 15 Oct 2012 14:03:23 -0400 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> Message-ID: <4FD97512-47B3-40FC-9BF9-3AED0E2FB18E@gmail.com> The bootclasspath will solve all issues for me, as I'm not using or interested in the magic packaging for deployment. I have to make a custom installer anyway, no magic installer will install all the rest of my non-java dependencies. Though I am using WiX, I don't expect there is any hook to provide my own WiX source files to customize the automatically generated installer. So far we have used some hackery to force the JFX runtime onto the classpath and put a copy of the JFX runtime into our local Maven repo to shut it up. It does some ugly reflection things (setAccessible(true)) but it works. I think it is okay to defer the Maven plugin, as Maven's ability to package up a standard .jar file should be enough make a working JavaFX application. The ability to run the jfxpackager from the command line (with it's new abilities) allows for access to some of the fancier features just be using Maven's exec plugin. The classpath issue is the big blocker. Scott On 2012-10-15, at 8:39 AM, Daniel Zwolenski wrote: > Just for clarity, the bootclasspath addition will only solve the first part of the Maven issue, ie the jars will be available to *compile* against. > > For actual *packaging* for deployment, JFX has special ant tools, which creates bundles (for webstart, applet and native) and these bundles are quite magic so not trivial to assemble without the ant tools. As such these Ant tools would need to be ported (or wrapped by) a Maven plugin in order to have a clean JFX Maven build that is inline with what you would be accustomed to when building say a webapp with Maven. > > You could of course callout to the ant tasks but the build is far enough off a normal Maven build doing this that you'd likely be better off just using Ant (+ivy) as it would be simpler/cleaner. Or there's Gradle. > > If the bootclasspath thing happens it does at least partially resolve the long standing legal hurdles to Maven integration so the community *may* well be able to (finally) build this plugin. However I imagine the legal issue will still stand with regards to the Jars used by the packaging tools (as these likely won't be on the bootclasspath), which means the plugin probably legally won't be able to redistribute these tool jars making it harder to implement such a plugin. > > Any such Maven plugin and support will be the full responsibility of the community unless there was a change in current stance. The Oracle JFX team support ANT only, all other build platforms are left as an exercise for the reader. > > > > On 15/10/2012, at 11:06 PM, Claus Luethje wrote: > >> Oh, I must have missed this info. In this case, let's hope JavaFX in soon pushed into the bootclasspath. >> Claus >> >> -----Original Message----- >> From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Tom Schindl >> Sent: Montag, 15. Oktober 2012 13:54 >> To: openjfx-dev at openjdk.java.net >> Subject: Re: No JavaFX for iOS, Android or WP - why not? >> >> Well once javafx is on the bootclasspath this doesn't make any sense so time is better invested in pushing into the bootclasspath in 7u something which is the last info I got from Kevin (See >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7166330) >> >> Tom >> >> Am 15.10.12 13:45, schrieb Claus Luethje: >>> +1 for the maven support >>> >>> -----Original Message----- >>> From: openjfx-dev-bounces at openjdk.java.net >>> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark >>> Fortner >>> Sent: Mittwoch, 10. Oktober 2012 17:28 >>> To: openjfx-dev at openjdk.java.net >>> Subject: Fwd: Re: No JavaFX for iOS, Android or WP - why not? >>> >>> Hi Peter, >>> >>> Comments below. >>> >>> >>>> I am preferring to use Gradle these days. Nevertheless the issue of >>>> putting JavaFX in a Maven Repository is an important. Because JavaFX >>>> is not pure Java, the problem with linking with native library is a >>>> major concern. >>>> >>>> Whatever JavaFX JAR you put in a artifact repository, whether >>>> SonaType or Artifactory there has to be way to guarantee the code in >>>> the JAR can always find the native libraries. Oracle have not come >>>> with a scheme. I do not know of a safe way to do this portably that >>>> is cross platform and work across all systems with causing a break if >>>> one or the other dependencies are upgraded. The version, the native >>>> library and the potential upgrades are the sticking problem. >>>> >>>> Then there is a licensing of the JavaFX Runtime and distribution of >>>> Oracle's implementation. >>>> >>> >>> Agreed. The assumption seems to be that if you use the Ant tasks to build, then you're OK. Everything else, you're on your own. Most of the organizations I've worked for left Ant behind 10 years ago. A mojo version >>> of the Ant tasks would make deployment easier. A maven archetype for >>> creating JavaFX projects would go a long way to making things easier. You simply run the archetype all of your dependencies, Eclipse/NetBeans project files, runtime environment variables are created for you. You could even add a starter application. >>> >>> >>> >>>> >>>>> - *Webstart deployment *- this is still problematic. Currently >>>>> when >>>> you >>>>> push new artifacts to your web server, it's not replacing the >>>> existing JARs >>>>> in the user's cache -- despite what the documentation says. The >>>> "special" >>>>> javafx tags aren't documented well enough and presume that you're >>>> using the >>>>> Ant tools to generate the JNLP. And getting shaded jars is next to >>>>> impossible. >>>> >>>> I do not have an answer to this web start problem. I do assume you >>>> can upgrade Java 7. >>>> >>>> >>> >>> I'm currently running Java 7. >>> >>> >>> >>>> >>>>> - *Charts* - support for zooming and panning within the charts. >>>> Support >>>>> for drawing on top of charts. >>>> >>>> The controls and charts code is open source, go and implement your >>>> chart component. >>>> Start with a copy of the line chart and hack it. >>>> >>>> >>> Not really looking to hack JavaFX classes to support basic functionality. >>> I figure if I can do zooming and panning in Google Charts in a web browser, then I should be able to do the same with JavaFX. BTW, I tried hacking LineChart, and then quickly realized I would also have to hack NumberAxis because some fool made it final. The scope of my hacking quickly started to grow so I stopped before it got out of hand. >>> >>> >>> >>>> >>>>> - *Support for Swing components within JavaFX. * If the goal is to >>>>> replace Swing, then this is one of those essential capabilities >>>>> that >>>> needs >>>>> to be in place. The current examples only demonstrate how to put >>>> JavaFX >>>>> components within Swing applications. Unfortunately, if you want >>>>> to >>>> reuse >>>>> any existing components (like JFreeCharts for example) within >>>>> your >>>> project, >>>>> you're SOL at the moment. >>>> >>>> They is not going to be 100% free ride on this extra third party >>>> functionality. >>>> >>>> 1) Modify JFreeChart and port some of it or all of it to JavaFX >>>> 2) Hack the existing Chart package until it gets you 80/20 of what >>>> you want >>>> >>> >>> Unfortunately, if they're positioning this as a replacement for Swing, then they're going to need to have some way of support Swing components. There are just too many Swing libraries out there that may never get ported over. >>> If SWT can be supported, I don't see why Swing can't. Either the original owners don't want to port them, don't have the funds to do it (this is especially true with academic libraries used for scientific applications), or have abandoned the code base. >> >>> >>> When you're contracting, porting a library is typically not part of the scope, since it's assumed that whatever components you're using already support 80% of what you want, and you just need to add functionality specific to the problem domain you're working in. >>> >>> >>> >>>> >>>>> - *Support for an EventBus.* Currently, there's a lot of point2point >>>>> event code that you have to write to fire and listen to events. >>>>> It >>>> would >>>>> make for a much more useable codebase if you could simply publish and >>>>> subscribe to events at the application level. >>>> >>>> Why not write a JavaFX extension framework that maps JavaFX Event to >>>> a MessageBus implementation. >>>> >>> >>> I'm not saying I can't write this, I'm saying I shouldn't have to. The point2point event model breaks down after a while especially in a highly interactive application, and results in memory leaks when you can't or don't disengage your listeners. >>> >>> >>> >>> >>>> >>>>> - *Release the source.* It's a royal pain to have to download the >>>>> source through mercurial rather than simply read it as you do with the >>>>> Swing code or download it as you do with any Maven package. >>>>> >>>> >>>> The source code is there as JavaFX 2.2 as openjfx already. >>>> I think you meant make the source code also a downloadable distribution. >>>> >>> >>> Actually, since it currently ships with Java 7, the source code should be included just as the source code for Swing is included. >>> >>> >>>> >>>> Hack the build.xml in the openjfx project, and contribute the Ant target. >>>> >>>> I also note that there should be a standalone JavaFX Doc as >>>> distribution >>>> >>> >>> Usually these are part of the standard Maven build -- so if they built with Maven they would get that for free. >>> >>> >>>> >>>> Ditto - hack the build.xml to javadoc and zip up the javadoc >>>> >>>> Contrib the patch back to the team >>>> >>>>> There's also some work that needs to be done to make it easier for >>>>> people to participate. I have 3 accounts at the moment: one for >>>>> this mailing list, one for the forums, and one for JIRA. Can we >>>>> just boil that down >>>> to >>>>> one, and let me login with Facebook or Google credentials? >>>>> >>>> >>>> Have you heard of the online services Google Onepass or LastPass or >>>> Yahoo Super wallet? >>> >>> >>> Not really looking for an alternative, merely the ability to sign on without having to create new accounts everywhere. One of the goals of the JavaFX project (described in Richard's quarterly report) is to increase >>> community participation. Most of what I've mentioned are items that >>> should lower those barriers to entry. >>> >>> >>> Mark >>> >> >> >> -- >> B e s t S o l u t i o n . a t EDV Systemhaus GmbH >> ------------------------------------------------------------------------ >> tom schindl gesch?ftsf?hrer/CEO >> ------------------------------------------------------------------------ >> eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 >> http://www.BestSolution.at phone ++43 512 935834 From igor.nekrestyanov at oracle.com Mon Oct 15 11:20:27 2012 From: igor.nekrestyanov at oracle.com (Igor Nekrestyanov) Date: Mon, 15 Oct 2012 11:20:27 -0700 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <4FD97512-47B3-40FC-9BF9-3AED0E2FB18E@gmail.com> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> <4FD97512-47B3-40FC-9BF9-3AED0E2FB18E@gmail.com> Message-ID: <507C53EB.7020006@oracle.com> > Though I am using WiX, I don't expect there is any hook to provide my own WiX source files to customize the automatically generated installer. You can certainly overwrite wix config file with custom version. See http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm#BCGICFDB -igor From mp at jugs.org Mon Oct 15 11:29:25 2012 From: mp at jugs.org (Dr. Michael Paus) Date: Mon, 15 Oct 2012 20:29:25 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <507C53EB.7020006@oracle.com> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> <4FD97512-47B3-40FC-9BF9-3AED0E2FB18E@gmail.com> <507C53EB.7020006@oracle.com> Message-ID: <507C5605.8000502@jugs.org> Aren't we drifting away a little bit from the original topic of this thread :-? Am 15.10.2012 20:20, schrieb Igor Nekrestyanov: > > Though I am using WiX, I don't expect there is any hook to provide > my own WiX source files to customize the automatically generated > installer. > > You can certainly overwrite wix config file with custom version. See > http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm#BCGICFDB > > -igor > -- -------------------------------------------------------------------------------------- Dr. Michael Paus, Chairman of the Java User Group Stuttgart e.V. (JUGS). For more information visit www.jugs.de. From zonski at gmail.com Mon Oct 15 13:11:31 2012 From: zonski at gmail.com (Daniel Zwolenski) Date: Tue, 16 Oct 2012 07:11:31 +1100 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <507C5605.8000502@jugs.org> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> <4FD97512-47B3-40FC-9BF9-3AED0E2FB18E@gmail.com> <507C53EB.7020006@oracle.com> <507C5605.8000502@jugs.org> Message-ID: <957CDC6E-B8AB-461A-B9D3-B2E3D1117725@gmail.com> Yea, we should have changed the subject, my bad. On the other hand the original conversation has continued slightly at: https://forums.oracle.com/forums/message.jspa?messageID=10633435#10633435 But nothing new really from oracle on supporting either the mobile or the webapp spaces. On 16/10/2012, at 5:29 AM, "Dr. Michael Paus" wrote: > Aren't we drifting away a little bit from the original topic of this thread :-? > > Am 15.10.2012 20:20, schrieb Igor Nekrestyanov: >> > Though I am using WiX, I don't expect there is any hook to provide my own WiX source files to customize the automatically generated installer. >> >> You can certainly overwrite wix config file with custom version. See >> http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm#BCGICFDB >> >> -igor >> > > > -- > -------------------------------------------------------------------------------------- > Dr. Michael Paus, Chairman of the Java User Group Stuttgart e.V. (JUGS). > For more information visit www.jugs.de. > From phidias51 at gmail.com Mon Oct 15 13:55:02 2012 From: phidias51 at gmail.com (Mark Fortner) Date: Mon, 15 Oct 2012 13:55:02 -0700 Subject: Maven support Message-ID: There have been several discussions in the past six months about Maven support in JavaFX and I wanted to re-open the topic and perhaps get a comprehensive and current must-have list before filing an issue on it. Here's my list: - Create a Maven archetype to generate a JavaFX project skeleton. The archetype would: - Generate the appropriate folder structure including a folder for distribution resources like the splashscreen. - Generate a POM file with the appropriate dependencies. - Generate Maven goals for creating: - JNLP - Double-clickable JAR - Windows executable - Linux RPM and Deb files http://mojo.codehaus.org/rpm-maven-plugin/, http://mojo.codehaus.org/deb-maven-plugin/ - Mac DMG file: http://mojo.codehaus.org/osxappbundle-maven-plugin/ - Handle signing of the JARs (including dependencies). - Generate the source, and javadoc artifacts and install them in a public repository. Even though the JavaFX binaries are being distributed, the source and the JavaDoc are not, which makes debugging a pain. The POM should have no native dependencies. Development shops typically have a build machine (usually Linux) that runs automated builds, and the machine should be able to build any platform-specific executable. The POM shouldn't rely on Ant calls. The Maven plugin should be self-contained and easily configurable. Once the basics are sorted out, it would be good to re-examine how developing JavaFX apps could be made even easier with Maven. For example, it might be nice to autogenerate these "Observable" POJOs from POJOs that already exist and are being used on the server. Imagine having the JavaFX version of Spring ROO or Grails where the forms and controllers you need are automatically generated. This would make it easier the prospect of transitioning to a new toolkit less daunting, and make it possible to build on the infrastructure and services that you already have in place. Mark From david.dehaven at oracle.com Mon Oct 15 14:20:23 2012 From: david.dehaven at oracle.com (David DeHaven) Date: Mon, 15 Oct 2012 14:20:23 -0700 Subject: Proposed changes to media Track and children Message-ID: To support multi-track movies (primarily for alternate languages and subtitles/captioning), we need to make some changes to the existing public media API. Other changes will be discussed separately... I have two (and a half) options at the moment and I thought I'd throw it out to you guys to help decide which direction to go. Option 1> Make the following changes to Track and it's subclasses: Changes to Track: - Add public final Locale getLocale(), returns a Locale if one is provided by the container or null if not - Add public final long getTrackId(), returns a unique numeric track ID that will be used by the stack to identify this specific track - Add public final Map getMetadata(), returns any metadata specific to this Track (returned Map is an UnmodifiableMap for security) Changes to AudioTrack: - getLanguage(): deprecate, "use Track.getLocale() instead." Which is all that method does now anyways. Option 2> - Deprecate Track, AudioTrack, VideoTrack and the Media.tracks property - Add a "tracks" value to the Media metadata Map (retrieved by Media.getMetadata()). This would essentially be a Map>. The outer Map would contain one entry per track, keyed to the tracks unique ID (what would be returned by getTrackID() above) and it's Map would be the metadata associated with that track, including all the fields currently contained in the Track classes. Option 1.5, a compromise between Option 1 and Option 2> - Deprecate AudioTrack and VideoTrack, leave Track and Media.tracks property - Add a track type property (yet another enum?) and reflect the type in the track metadata (textually, using names like "video" and "audio") - Include the other changes to Track in option 1 - The properties of Audio/VideoTrack would be accessed from the track metadata Reasoning (read: my lousy attempt at kicking off a discussion): The Track classes are pure metadata (I've no intention of ever changing that?) and at the moment we have kind of a duality of metadata representation for Media, provided as a Map via the Media metadata property and also represented by an assortment of properties in Media and the Track classes. Option 1 basically sticks with the current split model, extending it to allow more flexibility moving forward. Of particular importance is the unique track ID which will be required to select which tracks are active in the future. Option 2 reduces classes in the API and treats tracks purely as metadata, but it also ends up embedding Maps three levels deep which seems a bit ugly to me. Option 1.5 is a bit of a compromise between the two, leaving the tracks property that can be listened to (which is handy for UI purposes and might be handy for streaming, if it's supported) but still moving information into a metadata table instead of cluttering the classes up with a bunch of properties for data that may or may not exist. I've opened a JIRA issue to track this: http://javafx-jira.kenai.com/browse/RT-25678 -DrD- From zonski at gmail.com Mon Oct 15 15:29:53 2012 From: zonski at gmail.com (Daniel Zwolenski) Date: Tue, 16 Oct 2012 09:29:53 +1100 Subject: Maven support In-Reply-To: References: Message-ID: Hi Mark, You have summed up the Maven requirements perfectly. A few comments inline below. On Tue, Oct 16, 2012 at 7:55 AM, Mark Fortner wrote: > There have been several discussions in the past six months about Maven > support in JavaFX and I wanted to re-open the topic and perhaps get a > comprehensive and current must-have list before filing an issue on it. > Great to have this comprehensive list, however be aware that numerous issues exist in JIRA already (search for Maven) and there have been several energetic attempts to get some movement here. Several of the issues have been closed previously by the JFX team with some key ones as "Won't fix". In general the Oracle guys are officially "hands off" on Maven (and all non-ANT build tools). On the flip side the community has been unable to progress this because of some of the issues. You will likely find that the Maven+JFX advocates have either given up or are waiting for true co-bundling or total open sourcing before doing anything further. > Here's my list: > > - Create a Maven archetype to generate a JavaFX project skeleton. The > archetype would: > - Generate the appropriate folder structure including a folder for > distribution resources like the splashscreen. > - Generate a POM file with the appropriate dependencies. > - Generate Maven goals for creating: > - JNLP > - Double-clickable JAR > - Windows executable > - Linux RPM and Deb files > http://mojo.codehaus.org/rpm-maven-plugin/, > http://mojo.codehaus.org/deb-maven-plugin/ > - Mac DMG file: > http://mojo.codehaus.org/osxappbundle-maven-plugin/ > - Handle signing of the JARs (including dependencies). > Yes to all. For those not used to Maven, this is effectively the 'plugin' side of it that I was talking about in my previous email. i.e. the bit that needs doing *after* the bootclasspath issue is finally resolved. - Generate the source, and javadoc artifacts and install them in a > public repository. Even though the JavaFX binaries are being > distributed, > the source and the JavaDoc are not, which makes debugging a pain. > There may be some Issues with version management on this one (i.e. the Maven plugin having a different version to the runtime). Since JFX is "part of Java" (or trying to be), JFX should do whatever Java does in this space in my opinion. > The POM should have no native dependencies. Development shops typically > have a build machine (usually Linux) that runs automated builds, and the > machine should be able to build any platform-specific executable. > This is definitely the ideal, and one of the major drawbacks/show-stoppers to cross-platform JFX at the moment (i.e. the current native build process is only slightly better than say a C++ native build). This issue applies equally to the ANT tasks. I created this issue a while ago: http://javafx-jira.kenai.com/browse/RT-22994 This is currently not possible for native installers. Some very major work would need to be done on the way the native builds work and there's not been any public discussions indicating this is something the JFX team is looking into. > The POM shouldn't rely on Ant calls. The Maven plugin should be > self-contained and easily configurable. > I started work on this plugin (maybe a year ago or so). The ANT tasks call onto the 'packager' library and the Maven plugin could/should do the same. The packager code is quite clean and abstracted away from ANT. There is definitely no *technical* need for either the developer or the plugin to call out to ANT as an intermediary. The actual implementation of the plugin is actually quite straight forward (though time consuming). I abandoned my plugin development due to two hurdles: 1) Oracle legal restrictions against putting the JARs in a public repo and 2) The native DLL loading of JFX is not Maven friendly (so even if you put the JARs in yourself it's still very messy) There was no movement from Oracle in addressing either of the above. The move to co-bundling (which will only be complete when the bootclasspath issue is resolved) will render both of these issues irrelevant so Maven+JFX users have been waiting (and waiting) for this before doing anything further on it. > Once the basics are sorted out, it would be good to re-examine how > developing JavaFX apps could be made even easier with Maven. For example, it might be nice to autogenerate these "Observable" POJOs from POJOs that > already exist and are being used on the server. Imagine having the JavaFX > version of Spring ROO or Grails where the forms and controllers you need > are automatically generated. This would make it easier the prospect of > transitioning to a new toolkit less daunting, and make it possible to build > on the infrastructure and services that you already have in place. Some RAD tools would be awesome. I don't think this is Maven's space though but definitely within the ROO and Grails space. SceneBuilder is the 'RAD' tool of the JFX platform but it is basically an FXML WYSIWYG editor. All of the above would aid adoption of JFX but all of the above has been discussed at length before without much actual progress. From swpalmer at gmail.com Mon Oct 15 15:31:00 2012 From: swpalmer at gmail.com (Scott Palmer) Date: Mon, 15 Oct 2012 18:31:00 -0400 Subject: Proposed changes to media Track and children In-Reply-To: References: Message-ID: <2466471E-6DF6-4C52-8CC8-CDBCB7C40CED@gmail.com> I think I like option 1. Do you need to make a new method to get the locale or can it simply be included as metadata in the map? Scott On 2012-10-15, at 5:20 PM, David DeHaven wrote: > > To support multi-track movies (primarily for alternate languages and subtitles/captioning), we need to make some changes to the existing public media API. Other changes will be discussed separately... > > I have two (and a half) options at the moment and I thought I'd throw it out to you guys to help decide which direction to go. > > Option 1> > Make the following changes to Track and it's subclasses: > Changes to Track: > - Add public final Locale getLocale(), returns a Locale if one is provided by the container or null if not > - Add public final long getTrackId(), returns a unique numeric track ID that will be used by the stack to identify this specific track > - Add public final Map getMetadata(), returns any metadata specific to this Track (returned Map is an UnmodifiableMap for security) > > Changes to AudioTrack: > - getLanguage(): deprecate, "use Track.getLocale() instead." Which is all that method does now anyways. > > > Option 2> > - Deprecate Track, AudioTrack, VideoTrack and the Media.tracks property > - Add a "tracks" value to the Media metadata Map (retrieved by Media.getMetadata()). This would essentially be a Map>. The outer Map would contain one entry per track, keyed to the tracks unique ID (what would be returned by getTrackID() above) and it's Map would be the metadata associated with that track, including all the fields currently contained in the Track classes. > > > Option 1.5, a compromise between Option 1 and Option 2> > - Deprecate AudioTrack and VideoTrack, leave Track and Media.tracks property > - Add a track type property (yet another enum?) and reflect the type in the track metadata (textually, using names like "video" and "audio") > - Include the other changes to Track in option 1 > - The properties of Audio/VideoTrack would be accessed from the track metadata > > > Reasoning (read: my lousy attempt at kicking off a discussion): > > The Track classes are pure metadata (I've no intention of ever changing that?) and at the moment we have kind of a duality of metadata representation for Media, provided as a Map via the Media metadata property and also represented by an assortment of properties in Media and the Track classes. Option 1 basically sticks with the current split model, extending it to allow more flexibility moving forward. Of particular importance is the unique track ID which will be required to select which tracks are active in the future. Option 2 reduces classes in the API and treats tracks purely as metadata, but it also ends up embedding Maps three levels deep which seems a bit ugly to me. Option 1.5 is a bit of a compromise between the two, leaving the tracks property that can be listened to (which is handy for UI purposes and might be handy for streaming, if it's supported) but still moving information into a metadata table instead of cluttering the classes up with a bunch of properties for data that may or may not exist. > > > I've opened a JIRA issue to track this: > http://javafx-jira.kenai.com/browse/RT-25678 > > -DrD- > From phidias51 at gmail.com Mon Oct 15 15:39:57 2012 From: phidias51 at gmail.com (Mark Fortner) Date: Mon, 15 Oct 2012 15:39:57 -0700 Subject: Maven support In-Reply-To: References: Message-ID: Hi Dan, Along the lines of "things that I'd like to see, but not necessarily Maven related", it would be really useful if data and service binding were easier/possible. I'd like to be able to click on a combobox and point to the JSON service that supplies the data for the combobox. And then point the onSelect event handler to the service responsible for persisting the selection. When Rave came out this was one of the features that really caught developers eyes and made them reconsider JSF. Admittedly people have backtracked on that decision, but it's definitely something that would speed up the development process. Cheers, Mark On Mon, Oct 15, 2012 at 3:29 PM, Daniel Zwolenski wrote: > Hi Mark, > > You have summed up the Maven requirements perfectly. A few comments inline > below. > > On Tue, Oct 16, 2012 at 7:55 AM, Mark Fortner wrote: > >> There have been several discussions in the past six months about Maven >> support in JavaFX and I wanted to re-open the topic and perhaps get a >> comprehensive and current must-have list before filing an issue on it. >> > > Great to have this comprehensive list, however be aware that numerous > issues exist in JIRA already (search for Maven) and there have been several > energetic attempts to get some movement here. Several of the issues have > been closed previously by the JFX team with some key ones as "Won't fix". > > In general the Oracle guys are officially "hands off" on Maven (and all > non-ANT build tools). On the flip side the community has been unable to > progress this because of some of the issues. You will likely find that the > Maven+JFX advocates have either given up or are waiting for true > co-bundling or total open sourcing before doing anything further. > > > >> Here's my list: >> >> - Create a Maven archetype to generate a JavaFX project skeleton. The >> archetype would: >> - Generate the appropriate folder structure including a folder for >> >> distribution resources like the splashscreen. >> - Generate a POM file with the appropriate dependencies. >> - Generate Maven goals for creating: >> - JNLP >> - Double-clickable JAR >> - Windows executable >> - Linux RPM and Deb files >> http://mojo.codehaus.org/rpm-maven-plugin/, >> http://mojo.codehaus.org/deb-maven-plugin/ >> - Mac DMG file: >> http://mojo.codehaus.org/osxappbundle-maven-plugin/ >> - Handle signing of the JARs (including dependencies). >> > > Yes to all. > > For those not used to Maven, this is effectively the 'plugin' side of it > that I was talking about in my previous email. i.e. the bit that needs > doing *after* the bootclasspath issue is finally resolved. > > - Generate the source, and javadoc artifacts and install them in a >> >> public repository. Even though the JavaFX binaries are being >> distributed, >> the source and the JavaDoc are not, which makes debugging a pain. >> > > There may be some Issues with version management on this one (i.e. the > Maven plugin having a different version to the runtime). > > Since JFX is "part of Java" (or trying to be), JFX should do whatever Java > does in this space in my opinion. > > >> The POM should have no native dependencies. Development shops typically >> have a build machine (usually Linux) that runs automated builds, and the >> machine should be able to build any platform-specific executable. >> > > This is definitely the ideal, and one of the major drawbacks/show-stoppers > to cross-platform JFX at the moment (i.e. the current native build process > is only slightly better than say a C++ native build). > > This issue applies equally to the ANT tasks. I created this issue a while > ago: http://javafx-jira.kenai.com/browse/RT-22994 > > This is currently not possible for native installers. Some very major work > would need to be done on the way the native builds work and there's not > been any public discussions indicating this is something the JFX team is > looking into. > > > >> The POM shouldn't rely on Ant calls. The Maven plugin should be >> self-contained and easily configurable. >> > > I started work on this plugin (maybe a year ago or so). The ANT tasks call > onto the 'packager' library and the Maven plugin could/should do the same. > The packager code is quite clean and abstracted away from ANT. There is > definitely no *technical* need for either the developer or the plugin to > call out to ANT as an intermediary. > > The actual implementation of the plugin is actually quite straight forward > (though time consuming). I abandoned my plugin development due to two > hurdles: > > 1) Oracle legal restrictions against putting the JARs in a public repo and > 2) The native DLL loading of JFX is not Maven friendly (so even if you put > the JARs in yourself it's still very messy) > > There was no movement from Oracle in addressing either of the above. > > The move to co-bundling (which will only be complete when the > bootclasspath issue is resolved) will render both of these issues > irrelevant so Maven+JFX users have been waiting (and waiting) for this > before doing anything further on it. > > > >> Once the basics are sorted out, it would be good to re-examine how >> developing JavaFX apps could be made even easier with Maven. For example, > > it might be nice to autogenerate these "Observable" POJOs from POJOs that >> already exist and are being used on the server. Imagine having the JavaFX >> version of Spring ROO or Grails where the forms and controllers you need >> are automatically generated. This would make it easier the prospect of >> transitioning to a new toolkit less daunting, and make it possible to >> build >> on the infrastructure and services that you already have in place. > > > Some RAD tools would be awesome. I don't think this is Maven's space > though but definitely within the ROO and Grails space. SceneBuilder is the > 'RAD' tool of the JFX platform but it is basically an FXML WYSIWYG editor. > > All of the above would aid adoption of JFX but all of the above has been > discussed at length before without much actual progress. > > From david.dehaven at oracle.com Mon Oct 15 16:59:41 2012 From: david.dehaven at oracle.com (David DeHaven) Date: Mon, 15 Oct 2012 16:59:41 -0700 Subject: Proposed changes to media Track and children In-Reply-To: <2466471E-6DF6-4C52-8CC8-CDBCB7C40CED@gmail.com> References: <2466471E-6DF6-4C52-8CC8-CDBCB7C40CED@gmail.com> Message-ID: <2584B236-897A-488B-901D-5AE637190B58@oracle.com> Track.getLocale() is meant to replace AudioTrack.getLanguage() but for all Tracks and in a form that's (potentially) less ambiguous than a String. You're correct in that it's a convenience accessor, you'd be able to get the same Locale by calling Track.getMetadata().get("locale"). As far as need goes.. well, that was kind of my point for Option 2 :) It's all in the metadata. My personal feeling on this is if we stick with Option 1 or 1.5 then it falls under the case of "most commonly used" properties, so it should probably get an accessor. -DrD- > I think I like option 1. Do you need to make a new method to get the locale or can it simply be included as metadata in the map? > > Scott > > On 2012-10-15, at 5:20 PM, David DeHaven wrote: > >> >> To support multi-track movies (primarily for alternate languages and subtitles/captioning), we need to make some changes to the existing public media API. Other changes will be discussed separately... >> >> I have two (and a half) options at the moment and I thought I'd throw it out to you guys to help decide which direction to go. >> >> Option 1> >> Make the following changes to Track and it's subclasses: >> Changes to Track: >> - Add public final Locale getLocale(), returns a Locale if one is provided by the container or null if not >> - Add public final long getTrackId(), returns a unique numeric track ID that will be used by the stack to identify this specific track >> - Add public final Map getMetadata(), returns any metadata specific to this Track (returned Map is an UnmodifiableMap for security) >> >> Changes to AudioTrack: >> - getLanguage(): deprecate, "use Track.getLocale() instead." Which is all that method does now anyways. >> >> >> Option 2> >> - Deprecate Track, AudioTrack, VideoTrack and the Media.tracks property >> - Add a "tracks" value to the Media metadata Map (retrieved by Media.getMetadata()). This would essentially be a Map>. The outer Map would contain one entry per track, keyed to the tracks unique ID (what would be returned by getTrackID() above) and it's Map would be the metadata associated with that track, including all the fields currently contained in the Track classes. >> >> >> Option 1.5, a compromise between Option 1 and Option 2> >> - Deprecate AudioTrack and VideoTrack, leave Track and Media.tracks property >> - Add a track type property (yet another enum?) and reflect the type in the track metadata (textually, using names like "video" and "audio") >> - Include the other changes to Track in option 1 >> - The properties of Audio/VideoTrack would be accessed from the track metadata >> >> >> Reasoning (read: my lousy attempt at kicking off a discussion): >> >> The Track classes are pure metadata (I've no intention of ever changing that?) and at the moment we have kind of a duality of metadata representation for Media, provided as a Map via the Media metadata property and also represented by an assortment of properties in Media and the Track classes. Option 1 basically sticks with the current split model, extending it to allow more flexibility moving forward. Of particular importance is the unique track ID which will be required to select which tracks are active in the future. Option 2 reduces classes in the API and treats tracks purely as metadata, but it also ends up embedding Maps three levels deep which seems a bit ugly to me. Option 1.5 is a bit of a compromise between the two, leaving the tracks property that can be listened to (which is handy for UI purposes and might be handy for streaming, if it's supported) but still moving information into a metadata table instead of cluttering the classes up with a bunch of properties for data that may or may not exist. >> >> >> I've opened a JIRA issue to track this: >> http://javafx-jira.kenai.com/browse/RT-25678 >> >> -DrD- >> From tobi at ultramixer.com Mon Oct 15 22:59:41 2012 From: tobi at ultramixer.com (Tobias Bley) Date: Tue, 16 Oct 2012 07:59:41 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: <957CDC6E-B8AB-461A-B9D3-B2E3D1117725@gmail.com> References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> <4FD97512-47B3-40FC-9BF9-3AED0E2FB18E@gmail.com> <507C53EB.7020006@oracle.com> <507C5605.8000502@jugs.org> <957CDC6E-B8AB-461A-B9D3-B2E3D1117725@gmail.com> Message-ID: We should not change the topic, we should continue on discussing this topic. Because it's much more important than any Maven support! (feel free to start a new discussion about that). So now there are 48 posts concerning "No JavaFX on iOS, Android...."... It's the most important topic in the official JavaFX2 forum! So Oracle, do you think really there is no relevance??? Do you think really there is no demand for JavaFX? Do you think really there is any choice for JavaFX2 on mobile? No, there is no choice. 48posts from the community - 0 official posts from Oracle. What should it tell us? Oracle don't speak to their community - if they don't like. That's not what we need. We, the community need a strong leader with clear positions and statements. Please say YES or NO to JavaFX2 on mobile. Otherwise you can stop your investments in that great technology. There are so many so good JavaFX guys from Oracle, like Jasper, Richard, Nicolas, to name just a few. Oracle management, It's not fair to leave them alone. Best regards, Tobi Am 15.10.2012 um 22:11 schrieb Daniel Zwolenski : > Yea, we should have changed the subject, my bad. > > On the other hand the original conversation has continued slightly at: > https://forums.oracle.com/forums/message.jspa?messageID=10633435#10633435 > > But nothing new really from oracle on supporting either the mobile or the webapp spaces. > > > On 16/10/2012, at 5:29 AM, "Dr. Michael Paus" wrote: > >> Aren't we drifting away a little bit from the original topic of this thread :-? >> >> Am 15.10.2012 20:20, schrieb Igor Nekrestyanov: >>>> Though I am using WiX, I don't expect there is any hook to provide my own WiX source files to customize the automatically generated installer. >>> >>> You can certainly overwrite wix config file with custom version. See >>> http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm#BCGICFDB >>> >>> -igor >>> >> >> >> -- >> -------------------------------------------------------------------------------------- >> Dr. Michael Paus, Chairman of the Java User Group Stuttgart e.V. (JUGS). >> For more information visit www.jugs.de. >> From John_Smith at symantec.com Tue Oct 16 04:53:24 2012 From: John_Smith at symantec.com (John Smith) Date: Tue, 16 Oct 2012 04:53:24 -0700 Subject: Maven support In-Reply-To: References: Message-ID: <411E73D23DEC4C46BA48F2B6D8BF3D221601DAFC39@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> For those interested in Maven: See http://javafx-jira.kenai.com/browse/RT-25282 "Create a Maven plugin for JavaFX" -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark Fortner Sent: Monday, October 15, 2012 1:55 PM To: openjfx-dev at openjdk.java.net Subject: Maven support There have been several discussions in the past six months about Maven support in JavaFX and I wanted to re-open the topic and perhaps get a comprehensive and current must-have list before filing an issue on it. Here's my list: - Create a Maven archetype to generate a JavaFX project skeleton. The archetype would: - Generate the appropriate folder structure including a folder for distribution resources like the splashscreen. - Generate a POM file with the appropriate dependencies. - Generate Maven goals for creating: - JNLP - Double-clickable JAR - Windows executable - Linux RPM and Deb files http://mojo.codehaus.org/rpm-maven-plugin/, http://mojo.codehaus.org/deb-maven-plugin/ - Mac DMG file: http://mojo.codehaus.org/osxappbundle-maven-plugin/ - Handle signing of the JARs (including dependencies). - Generate the source, and javadoc artifacts and install them in a public repository. Even though the JavaFX binaries are being distributed, the source and the JavaDoc are not, which makes debugging a pain. The POM should have no native dependencies. Development shops typically have a build machine (usually Linux) that runs automated builds, and the machine should be able to build any platform-specific executable. The POM shouldn't rely on Ant calls. The Maven plugin should be self-contained and easily configurable. Once the basics are sorted out, it would be good to re-examine how developing JavaFX apps could be made even easier with Maven. For example, it might be nice to autogenerate these "Observable" POJOs from POJOs that already exist and are being used on the server. Imagine having the JavaFX version of Spring ROO or Grails where the forms and controllers you need are automatically generated. This would make it easier the prospect of transitioning to a new toolkit less daunting, and make it possible to build on the infrastructure and services that you already have in place. Mark From java.whoover at gmail.com Tue Oct 16 05:28:03 2012 From: java.whoover at gmail.com (Will Hoover) Date: Tue, 16 Oct 2012 08:28:03 -0400 Subject: Maven support In-Reply-To: References: Message-ID: <507d52d4.0f37650a.5f92.400a@mx.google.com> If your JSON service has a backing POJO model you can use something like this: http://wp.me/p2rLDc-1c -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark Fortner Sent: Monday, October 15, 2012 6:40 PM To: openjfx-dev at openjdk.java.net Subject: Re: Maven support Hi Dan, Along the lines of "things that I'd like to see, but not necessarily Maven related", it would be really useful if data and service binding were easier/possible. I'd like to be able to click on a combobox and point to the JSON service that supplies the data for the combobox. And then point the onSelect event handler to the service responsible for persisting the selection. When Rave came out this was one of the features that really caught developers eyes and made them reconsider JSF. Admittedly people have backtracked on that decision, but it's definitely something that would speed up the development process. Cheers, Mark On Mon, Oct 15, 2012 at 3:29 PM, Daniel Zwolenski wrote: > Hi Mark, > > You have summed up the Maven requirements perfectly. A few comments > inline below. > > On Tue, Oct 16, 2012 at 7:55 AM, Mark Fortner wrote: > >> There have been several discussions in the past six months about >> Maven support in JavaFX and I wanted to re-open the topic and perhaps >> get a comprehensive and current must-have list before filing an issue on it. >> > > Great to have this comprehensive list, however be aware that numerous > issues exist in JIRA already (search for Maven) and there have been > several energetic attempts to get some movement here. Several of the > issues have been closed previously by the JFX team with some key ones as "Won't fix". > > In general the Oracle guys are officially "hands off" on Maven (and > all non-ANT build tools). On the flip side the community has been > unable to progress this because of some of the issues. You will likely > find that the > Maven+JFX advocates have either given up or are waiting for true > co-bundling or total open sourcing before doing anything further. > > > >> Here's my list: >> >> - Create a Maven archetype to generate a JavaFX project skeleton. The >> archetype would: >> - Generate the appropriate folder structure including a folder >> for >> >> distribution resources like the splashscreen. >> - Generate a POM file with the appropriate dependencies. >> - Generate Maven goals for creating: >> - JNLP >> - Double-clickable JAR >> - Windows executable >> - Linux RPM and Deb files >> http://mojo.codehaus.org/rpm-maven-plugin/, >> http://mojo.codehaus.org/deb-maven-plugin/ >> - Mac DMG file: >> http://mojo.codehaus.org/osxappbundle-maven-plugin/ >> - Handle signing of the JARs (including dependencies). >> > > Yes to all. > > For those not used to Maven, this is effectively the 'plugin' side of > it that I was talking about in my previous email. i.e. the bit that > needs doing *after* the bootclasspath issue is finally resolved. > > - Generate the source, and javadoc artifacts and install them in a >> >> public repository. Even though the JavaFX binaries are being >> distributed, >> the source and the JavaDoc are not, which makes debugging a pain. >> > > There may be some Issues with version management on this one (i.e. the > Maven plugin having a different version to the runtime). > > Since JFX is "part of Java" (or trying to be), JFX should do whatever > Java does in this space in my opinion. > > >> The POM should have no native dependencies. Development shops >> typically have a build machine (usually Linux) that runs automated >> builds, and the machine should be able to build any platform-specific executable. >> > > This is definitely the ideal, and one of the major > drawbacks/show-stoppers to cross-platform JFX at the moment (i.e. the > current native build process is only slightly better than say a C++ native build). > > This issue applies equally to the ANT tasks. I created this issue a > while > ago: http://javafx-jira.kenai.com/browse/RT-22994 > > This is currently not possible for native installers. Some very major > work would need to be done on the way the native builds work and > there's not been any public discussions indicating this is something > the JFX team is looking into. > > > >> The POM shouldn't rely on Ant calls. The Maven plugin should be >> self-contained and easily configurable. >> > > I started work on this plugin (maybe a year ago or so). The ANT tasks > call onto the 'packager' library and the Maven plugin could/should do the same. > The packager code is quite clean and abstracted away from ANT. There > is definitely no *technical* need for either the developer or the > plugin to call out to ANT as an intermediary. > > The actual implementation of the plugin is actually quite straight > forward (though time consuming). I abandoned my plugin development due > to two > hurdles: > > 1) Oracle legal restrictions against putting the JARs in a public repo > and > 2) The native DLL loading of JFX is not Maven friendly (so even if you > put the JARs in yourself it's still very messy) > > There was no movement from Oracle in addressing either of the above. > > The move to co-bundling (which will only be complete when the > bootclasspath issue is resolved) will render both of these issues > irrelevant so Maven+JFX users have been waiting (and waiting) for this > before doing anything further on it. > > > >> Once the basics are sorted out, it would be good to re-examine how >> developing JavaFX apps could be made even easier with Maven. For >> example, > > it might be nice to autogenerate these "Observable" POJOs from POJOs > that >> already exist and are being used on the server. Imagine having the >> JavaFX version of Spring ROO or Grails where the forms and >> controllers you need are automatically generated. This would make it >> easier the prospect of transitioning to a new toolkit less daunting, >> and make it possible to build on the infrastructure and services that >> you already have in place. > > > Some RAD tools would be awesome. I don't think this is Maven's space > though but definitely within the ROO and Grails space. SceneBuilder is > the 'RAD' tool of the JFX platform but it is basically an FXML WYSIWYG editor. > > All of the above would aid adoption of JFX but all of the above has > been discussed at length before without much actual progress. > > From hang.vo at oracle.com Tue Oct 16 05:48:41 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 16 Oct 2012 12:48:41 +0000 Subject: hg: openjfx/8/graphics/rt: 3 new changesets Message-ID: <20121016124847.7D4A2473A1@hg.openjdk.java.net> Changeset: 7831b4f4de86 Author: Martin Sladecek Date: 2012-10-16 14:37 +0200 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/7831b4f4de86 RT-25147 [FindBugs] GradientUtils$Point - A mutable static field could be changed by malicious code or by accident from another package. ! javafx-ui-common/src/com/sun/javafx/scene/paint/GradientUtils.java Changeset: bae4dedcad85 Author: Martin Sladecek Date: 2012-10-16 14:39 +0200 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/bae4dedcad85 merge Changeset: 4dd0ce0f750e Author: Lubomir Nerad Date: 2012-10-16 14:41 +0200 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/4dd0ce0f750e Fix for RT-25148: [FindBugs] Toolkit.java - A mutable static field could be changed by malicious code or by accident from another package. ! javafx-ui-common/src/com/sun/javafx/tk/Toolkit.java From hang.vo at oracle.com Tue Oct 16 06:18:18 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 16 Oct 2012 13:18:18 +0000 Subject: hg: openjfx/8/controls/rt: RT-20786 : Focus couldn't be received or traversed. Message-ID: <20121016131821.F2F42473A2@hg.openjdk.java.net> Changeset: c731a926c171 Author: mickf Date: 2012-10-16 14:13 +0100 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/c731a926c171 RT-20786 : Focus couldn't be received or traversed. ! javafx-ui-common/src/com/sun/javafx/scene/KeyboardShortcutsHandler.java ! javafx-ui-common/src/javafx/scene/Scene.java From danno.ferrin at shemnon.com Tue Oct 16 09:05:14 2012 From: danno.ferrin at shemnon.com (Danno Ferrin) Date: Tue, 16 Oct 2012 10:05:14 -0600 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> <4FD97512-47B3-40FC-9BF9-3AED0E2FB18E@gmail.com> <507C53EB.7020006@oracle.com> <507C5605.8000502@jugs.org> <957CDC6E-B8AB-461A-B9D3-B2E3D1117725@gmail.com> Message-ID: On Mon, Oct 15, 2012 at 11:59 PM, Tobias Bley wrote: > [SNIP] > 48posts from the community - 0 official posts from Oracle. What should it > tell us? Oracle don't speak to their community - if they don't like. That's > not what we need. We, the community need a strong leader with clear > positions and statements. > [SNIP] Did you completely miss the part where Richard Bair participated in this thread? In the context of his job? To me that constitutes Oracle speaking to their community. --Danno From danno.ferrin at shemnon.com Tue Oct 16 09:09:59 2012 From: danno.ferrin at shemnon.com (Danno Ferrin) Date: Tue, 16 Oct 2012 10:09:59 -0600 Subject: Maven support In-Reply-To: References: Message-ID: On Mon, Oct 15, 2012 at 4:29 PM, Daniel Zwolenski wrote: > > Once the basics are sorted out, it would be good to re-examine how > > developing JavaFX apps could be made even easier with Maven. For > example, > > it might be nice to autogenerate these "Observable" POJOs from POJOs that > > already exist and are being used on the server. Imagine having the > JavaFX > > version of Spring ROO or Grails where the forms and controllers you need > > are automatically generated. This would make it easier the prospect of > > transitioning to a new toolkit less daunting, and make it possible to > build > > on the infrastructure and services that you already have in place. > > > Some RAD tools would be awesome. I don't think this is Maven's space though > but definitely within the ROO and Grails space. SceneBuilder is the 'RAD' > tool of the JFX platform but it is basically an FXML WYSIWYG editor. > > The JavaFX version of Grails is called Griffon. -- http://griffon-framework.org/ It is substantially derived from Grails (i.e. the first 0.0 release had large poritons cut and pasted, I would know). -- There is nothing that will hold me back. I know who I am.... I remember wher I came from, and I feel stronger for knowing. Zane, Ninja of Ice. Ninjago S01E07 From phidias51 at gmail.com Tue Oct 16 09:44:11 2012 From: phidias51 at gmail.com (Mark Fortner) Date: Tue, 16 Oct 2012 09:44:11 -0700 Subject: Maven support In-Reply-To: References: Message-ID: Thanks for the link Will. The idea behind baking in JSON support is to make it easy for people with existing "libraries" of RESTful services to be able to quickly wire up a JavaFX GUI, and make a potential transition from HTML/HTML5 to JavaFX as easy as possible. It's a powerful when you can take an HTML UI and quickly put together the JavaFX equivalent and reuse as much of your existing codebase as possible. Cheers, Mark On Tue, Oct 16, 2012 at 9:09 AM, Danno Ferrin wrote: > > > On Mon, Oct 15, 2012 at 4:29 PM, Daniel Zwolenski wrote: > >> > Once the basics are sorted out, it would be good to re-examine how >> > developing JavaFX apps could be made even easier with Maven. For >> example, >> >> it might be nice to autogenerate these "Observable" POJOs from POJOs that >> > already exist and are being used on the server. Imagine having the >> JavaFX >> > version of Spring ROO or Grails where the forms and controllers you need >> > are automatically generated. This would make it easier the prospect of >> > transitioning to a new toolkit less daunting, and make it possible to >> build >> > on the infrastructure and services that you already have in place. >> >> >> Some RAD tools would be awesome. I don't think this is Maven's space >> though >> but definitely within the ROO and Grails space. SceneBuilder is the 'RAD' >> tool of the JFX platform but it is basically an FXML WYSIWYG editor. >> >> > The JavaFX version of Grails is called Griffon. -- > http://griffon-framework.org/ > It is substantially derived from Grails (i.e. the first 0.0 release had > large poritons cut and pasted, I would know). > > -- > There is nothing that will hold me back. I know who I am.... > I remember wher I came from, and I feel stronger for knowing. > Zane, Ninja of Ice. Ninjago S01E07 > > From hang.vo at oracle.com Tue Oct 16 09:48:20 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 16 Oct 2012 16:48:20 +0000 Subject: hg: openjfx/8/graphics/rt: 2 new changesets Message-ID: <20121016164824.DEB68473AB@hg.openjdk.java.net> Changeset: 7f6a99c842fd Author: hudson Date: 2012-10-11 14:22 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/7f6a99c842fd Added tag 8.0-b60 for changeset ea00b638cdd6 ! .hgtags Changeset: a49900764c1d Author: jpgodine at JPGODINE-LAP.st-users.us.oracle.com Date: 2012-10-16 09:40 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/a49900764c1d Automated merge with ssh://jpgodine at jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx//rt From hang.vo at oracle.com Tue Oct 16 13:48:45 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Tue, 16 Oct 2012 20:48:45 +0000 Subject: hg: openjfx/8/controls/rt: 9 new changesets Message-ID: <20121016204855.D798C473CD@hg.openjdk.java.net> Changeset: 7f6a99c842fd Author: hudson Date: 2012-10-11 14:22 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/7f6a99c842fd Added tag 8.0-b60 for changeset ea00b638cdd6 ! .hgtags Changeset: 91c30a8859db Author: rbair Date: 2012-09-20 22:51 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/91c30a8859db Improved handling of thumb size, from previous patch 81cc13fe6f96 ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/VirtualFlow.java Changeset: 408ee6a41174 Author: David Hill Date: 2012-10-09 17:44 -0400 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/408ee6a41174 Automated merge with ssh://javafxsrc.us.oracle.com//javafx/8.0/scrum//graphics/jfx/rt Changeset: 19bdbf3b30ee Author: David Hill Date: 2012-10-12 11:01 -0400 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/19bdbf3b30ee Automated merge with ssh://javafxsrc.us.oracle.com//javafx/8.0/scrum//graphics/jfx/rt Changeset: 7831b4f4de86 Author: Martin Sladecek Date: 2012-10-16 14:37 +0200 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/7831b4f4de86 RT-25147 [FindBugs] GradientUtils$Point - A mutable static field could be changed by malicious code or by accident from another package. ! javafx-ui-common/src/com/sun/javafx/scene/paint/GradientUtils.java Changeset: bae4dedcad85 Author: Martin Sladecek Date: 2012-10-16 14:39 +0200 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/bae4dedcad85 merge Changeset: 4dd0ce0f750e Author: Lubomir Nerad Date: 2012-10-16 14:41 +0200 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/4dd0ce0f750e Fix for RT-25148: [FindBugs] Toolkit.java - A mutable static field could be changed by malicious code or by accident from another package. ! javafx-ui-common/src/com/sun/javafx/tk/Toolkit.java Changeset: a49900764c1d Author: jpgodine at JPGODINE-LAP.st-users.us.oracle.com Date: 2012-10-16 09:40 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/a49900764c1d Automated merge with ssh://jpgodine at jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx//rt Changeset: 97d1312344e8 Author: leifs Date: 2012-10-16 13:34 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/97d1312344e8 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/rt From tobi at ultramixer.com Tue Oct 16 23:39:02 2012 From: tobi at ultramixer.com (Tobias Bley) Date: Wed, 17 Oct 2012 08:39:02 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> <4FD97512-47B3-40FC-9BF9-3AED0E2FB18E@gmail.com> <507C53EB.7020006@oracle.com> <507C5605.8000502@jugs.org> <957CDC6E-B8AB-461A-B9D3-B2E3D1117725@gmail.com> Message-ID: Hi Danno, maybe I was missing something... or do you really mean the two sentences of Richard: "I've been watching this thread, of course pleased . To make a positive impact, anybody who has a commercial interest in this (beyond "I'm a Java developer and I think it would be cool", but really money on the line), please send me an email (richard dot bair at oracle dot com)." Tobi Am 16.10.2012 um 18:05 schrieb Danno Ferrin : > On Mon, Oct 15, 2012 at 11:59 PM, Tobias Bley wrote: > [SNIP] > 48posts from the community - 0 official posts from Oracle. What should it tell us? Oracle don't speak to their community - if they don't like. That's not what we need. We, the community need a strong leader with clear positions and statements. > [SNIP] > > Did you completely miss the part where Richard Bair participated in this thread? In the context of his job? To me that constitutes Oracle speaking to their community. > > --Danno From zonski at gmail.com Wed Oct 17 00:49:38 2012 From: zonski at gmail.com (Daniel Zwolenski) Date: Wed, 17 Oct 2012 18:49:38 +1100 Subject: JavaFX for the Enterprise - Working Group Message-ID: So Oracle as an organization doesn't think JavaFX can be a player in the web/enterprise space and is backing HTML5. I don't agree, JavaFX has the * potential* to be better. But it's a long way behind and gotten off to a rocky start; there's a hell of a lot of work to be done and the current rate, strategy and direction are not going to be nearly enough. Oracle is a big corporation with many different divisions. The left arm doesn't know what the right is doing. So let's put aside 'oracle' for a moment. I want to know: what does the JavaFX team think? Do you want to go up against HTML5 for the client space, or just settle for a spot on the fringe? Below is what I propose. This proposal needs the full backing of the JavaFX team and management. Specifically it needs: 1. Belief that JavaFX can and should be the *number one* client development platform for enterprise. 2. Recognition that the current strategy will not make that happen. 3. Resources (aka people) allocated to the working group outlined below. These people must have enough influence in the JFX platform to legitimately be able to influence the direction as needed. 4. Commitment to supporting this working group fully and implementing the strategies and recommendations that come out of it as a high priority 5. A sense of urgency, and a proactive pursuit of achieving these goals with a well defined timeline (i.e. "resources will be allocated by November 2012" not "we're working on it"). In my opinion, all of these must be met 100%. Otherwise there is no point starting at all and better to let it go and leave the enterprise space to other players like HTML5 as 'Oracle' is suggesting. This is your call. I believe JavaFX can be the best platform for client-side enterprise application development, capitalising-on, and adding-to Java's dominance in server side enterprise development. Do you? *Proposal to form a working group for JavaFX in the enterprise* Mission: - to position JavaFX as *the* dominant client-side development platform for enterprise/business applications Members: - a combination of paid Oracle JavaFX team members, and community participants. The Oracle members must have the ability to access senior JavaFX management and technical decision makers, and as such influence the road map and direction of the JavaFX platform. Community members will be those with a background and experience in the enterprise space and who are committed to making JavaFX the platform of choice in this space. Responsibilities: - Continuously identify improvements to the JavaFX platform that are needed to ensure adoption by enterprise; drive the inclusion of these into the JavaFX platform. - Continuously identify and monitor trends and developments within the enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's long term viability for their needs. - Provide best practices, community/forum support, documentation, examples, tool add-ons, frameworks and other aids for integrating JavaFX into popular enterprise technology stacks - Provide advocacy, publicity and drive general engagement and outreach programs for the adoption of JavaFX in the enterprise. Objectives: Objectives will be determined by the working group once formed, however initial objectives will likely include the following: - Review the current deployment/distribution options for JavaFX and determine ways to improve this to make it competitive with other popular enterprise client platforms (e.g. HTML+JavaScript) for primary enterprise OS' and platforms - Identify the most popular enterprise build and development tools and determine a strategy for making JavaFX integrate into these - Review popular trends and toolkits within competitive platforms and define the ideal frameworks and add-on tools needed by an enterprise client (e.g. form validation). Use this list of high-level requirements to determine the low-level JavaFX enhancements needed (e.g. allow field markers so that a 3rd party validation framework could leverage these). - Create a demonstration enterprise application (along the lines of PetClinic) demonstrating best practice for integrating JavaFX in a full, end-to-end JEE stack. Longer term objectives may include: - Develop (or foster community development of) the high-level frameworks that have been identified as necessary for JavaFX in the enterprise. These will likely be developed as third-party modules external to the JavaFX core framework (i.e. built on top of the features provided by the core JavaFX team). - Provide integration with existing or new Rapid Application Development (RAD) tools popular within the enterprise Java space (e.g. ROO, etc). From knut.arne.vedaa at broadpark.no Wed Oct 17 03:12:41 2012 From: knut.arne.vedaa at broadpark.no (Knut Arne Vedaa) Date: Wed, 17 Oct 2012 12:12:41 +0200 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: <507E8499.7060802@broadpark.no> +1 on the initiative. Knut Arne Vedaa On 17.10.2012 09:49, Daniel Zwolenski wrote: > So Oracle as an organization doesn't think JavaFX can be a player in the > web/enterprise space and is backing HTML5. I don't agree, JavaFX has the * > potential* to be better. But it's a long way behind and gotten off to a > rocky start; there's a hell of a lot of work to be done and the current > rate, strategy and direction are not going to be nearly enough. > > Oracle is a big corporation with many different divisions. The left arm > doesn't know what the right is doing. So let's put aside 'oracle' for a > moment. I want to know: what does the JavaFX team think? Do you want to go > up against HTML5 for the client space, or just settle for a spot on the > fringe? > > Below is what I propose. > > This proposal needs the full backing of the JavaFX team and management. > Specifically it needs: > > 1. Belief that JavaFX can and should be the *number one* client > development platform for enterprise. > 2. Recognition that the current strategy will not make that happen. > 3. Resources (aka people) allocated to the working group outlined below. > These people must have enough influence in the JFX platform to legitimately > be able to influence the direction as needed. > 4. Commitment to supporting this working group fully and implementing > the strategies and recommendations that come out of it as a high priority > 5. A sense of urgency, and a proactive pursuit of achieving these goals > with a well defined timeline (i.e. "resources will be allocated by November > 2012" not "we're working on it"). > > In my opinion, all of these must be met 100%. Otherwise there is no point > starting at all and better to let it go and leave the enterprise space to > other players like HTML5 as 'Oracle' is suggesting. This is your call. > > I believe JavaFX can be the best platform for client-side enterprise > application development, capitalising-on, and adding-to Java's dominance in > server side enterprise development. > > Do you? > > > *Proposal to form a working group for JavaFX in the enterprise* > > Mission: > > - to position JavaFX as *the* dominant client-side development platform > for enterprise/business applications > > > Members: > > - a combination of paid Oracle JavaFX team members, and community > participants. The Oracle members must have the ability to access senior > JavaFX management and technical decision makers, and as such influence the > road map and direction of the JavaFX platform. Community members will be > those with a background and experience in the enterprise space and who are > committed to making JavaFX the platform of choice in this space. > > > Responsibilities: > > - Continuously identify improvements to the JavaFX platform that are > needed to ensure adoption by enterprise; drive the inclusion of these into > the JavaFX platform. > > - Continuously identify and monitor trends and developments within the > enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and > ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's > long term viability for their needs. > > - Provide best practices, community/forum support, documentation, > examples, tool add-ons, frameworks and other aids for integrating JavaFX > into popular enterprise technology stacks > > - Provide advocacy, publicity and drive general engagement and outreach > programs for the adoption of JavaFX in the enterprise. > > > Objectives: > > Objectives will be determined by the working group once formed, however > initial objectives will likely include the following: > > - Review the current deployment/distribution options for JavaFX and > determine ways to improve this to make it competitive with other popular > enterprise client platforms (e.g. HTML+JavaScript) for primary enterprise > OS' and platforms > > - Identify the most popular enterprise build and development tools and > determine a strategy for making JavaFX integrate into these > > - Review popular trends and toolkits within competitive platforms and > define the ideal frameworks and add-on tools needed by an enterprise client > (e.g. form validation). Use this list of high-level requirements to > determine the low-level JavaFX enhancements needed (e.g. allow field > markers so that a 3rd party validation framework could leverage these). > > - Create a demonstration enterprise application (along the lines of > PetClinic) demonstrating best practice for integrating JavaFX in a full, > end-to-end JEE stack. > > > Longer term objectives may include: > > - Develop (or foster community development of) the high-level frameworks > that have been identified as necessary for JavaFX in the enterprise. These > will likely be developed as third-party modules external to the JavaFX core > framework (i.e. built on top of the features provided by the core JavaFX > team). > > - Provide integration with existing or new Rapid Application Development > (RAD) tools popular within the enterprise Java space (e.g. ROO, etc). > From johan at lodgon.com Wed Oct 17 04:53:15 2012 From: johan at lodgon.com (Johan Vos) Date: Wed, 17 Oct 2012 13:53:15 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> Message-ID: Richard, all, My 2 cents on this: 1. Once the code for the native libraries is open-sourced, I expect the community to jump on it. Without source code, we are complete dependent on what Oracle decides. 2. I hear the message that you want customers, not (only) developers asking for JavaFX on mobile. I understand the motivations behind this. Unfortunately, I'm not a big Oracle customer (I don't even own an Exalogic ;)), so I can't be of much help here. But I doubt there will be many end-customers asking for JavaFX on mobile. I'm active in a number of projects where the customer (and some of them are rather big, like some the biggest media companies in Belgium) require a Desktop application and a Mobile/Tablet application. If the desktop application is targeted towards millions of users, it is hard to convince the customer to do this in something else than HTML. When talking about a limited group of users, JavaFX is absolutely in the picture. For the mobile, the situation is completely different. The mobile/tablet counterpart of a project is often seen as fancy, very important for marketing, should be extremely intuitive,... and most customers I am talking too prefer a native application over a mobile web application. However, at least the people I talk to don't care if it is a JavaFX app, a native iOS app, a native Android app,... As long as the application can be downloaded using the respective appstores (which implicitly indicates the app adheres to some standards), it's all good. So they won't be knocking on Oracle's door easily, I'm afraid. As a developer, I do care about the underlying technology. I want to write a single application and run it on every platform. Speed of development, bug fixing, maintenance, operational cost, abstraction of changes in underlying OS,... those are areas that are very important to me as a developer. As a matter of fact, it makes a HUGE difference for a developer, but a minor difference for the customer. In the end, it will be cheaper for the customer, since development cost will be lower. This will become more important in the future, I believe. But at this relative early stage of "app development" and the premature stage of "JavaFX app development", it is hard to measure the impact of development cost on the willing of customers to talk to Oracle about supporting JavaFX on mobile/tablet. - Johan 2012/10/9 Richard Bair > > > It's blatantly clear that Java developers *crave* JavaFX on mobiles and > yet > > Oracle are waiting for clear commercial interest to justify such support? > > As has been pointed out several times, JavaFX cannot be considered a > success > > if it is limited to the scope of the desktop and perhaps some embedded > > devices. Many predict that the PC in its current form will largely > > disappear in the next 5 years so where would that leave JavaFX? > > > > Java developers are largely passionate about their language and do not > want > > to learn Objective C or C# or whatever language is required on each > device. > > > > In my opinion, being able to code in Java and deploy to Windows, Linux, > > MacOS, iOS, Android, Metro etc. could propel JavaFX to amazing heights as > > the best platform for client side software development on the planet. > > Please Oracle, don't miss this enormous opportunity! What do we have to > do > > to convince you that this REALLY IS A GOOD IDEA? > > The anger and passion exhibited on this thread is very gratifying and very > helpful. > Even more helpful would be to funnel as many developers to me as you find > that > have a demand for FX on smartphones and tablets. You'll not find more > passionate > partisans for JavaFX than here in the Java group. Being able to demonstrate > industry demand and commitment is what we need. Of course, when JavaFX is > open sourced (as Hasan announced at JavaOne we will complete shortly), then > of course anybody could do a port to iOS / Android. The question isn't > about whether > or not JavaFX will be on smart phones -- it will be. The question is who > is funding > it and who is supporting it. Of course many of us feel that supporting iOS > and > Android is at least as important as Windows and Mac. However, it is hard > to fault > the guys paying the bills for asking for some evidence of that viewpoint. > Customers > beating on our doors demanding support for FX on these devices is exactly > that > evidence. > > But in any case, this is an open source project, and regardless of whether > Oracle > foots the bill, I have no doubt that FX will be on iOS, Android, and > Windows Metro. > If you'd like to help, funnel your demands and use cases to me (and they > have all > the more weight when there is a real commercial demand behind them)! > > Richard From danno.ferrin at shemnon.com Wed Oct 17 05:33:07 2012 From: danno.ferrin at shemnon.com (Danno Ferrin) Date: Wed, 17 Oct 2012 06:33:07 -0600 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> <4FD97512-47B3-40FC-9BF9-3AED0E2FB18E@gmail.com> <507C53EB.7020006@oracle.com> <507C5605.8000502@jugs.org> <957CDC6E-B8AB-461A-B9D3-B2E3D1117725@gmail.com> Message-ID: On Wed, Oct 17, 2012 at 12:39 AM, Tobias Bley wrote: > Hi Danno, > > maybe I was missing something... or do you really mean the two sentences > of Richard: "I've been watching this thread, of course pleased . To make a > positive impact, anybody who has a commercial interest in this (beyond "I'm > a Java developer and I think it would be cool", but really money on the > line), please send me an email (richard dot bair at oracle dot com)." > > > You did miss something, like the four other responses from Richard in this thread, two of them quite lengthy. Including one with this line: > The anger and passion exhibited on this thread is very gratifying and very helpful. --Danno From tobi at ultramixer.com Wed Oct 17 06:38:27 2012 From: tobi at ultramixer.com (Tobias Bley) Date: Wed, 17 Oct 2012 15:38:27 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> <4FD97512-47B3-40FC-9BF9-3AED0E2FB18E@gmail.com> <507C53EB.7020006@oracle.com> <507C5605.8000502@jugs.org> <957CDC6E-B8AB-461A-B9D3-B2E3D1117725@gmail.com> Message-ID: <625A9516-F83F-4D63-BF4A-6D5BEB4FCBD5@ultramixer.com> Yes ok, you are right. But all what Richard said is 1. "JavaFX on iOS, ..." comes true when JavaFX is open sourced and the community build the port 2. Oracle needs use cases, customers, real demand .... to make a good decision.... So where is the real statement / position? When do you make a descision, Oracle? What is your opinion about "the success of JavaFX without supporting mobile platforms" Oracle??? Tobi Am 17.10.2012 um 14:33 schrieb Danno Ferrin : > > > On Wed, Oct 17, 2012 at 12:39 AM, Tobias Bley wrote: > Hi Danno, > > maybe I was missing something... or do you really mean the two sentences of Richard: "I've been watching this thread, of course pleased . To make a positive impact, anybody who has a commercial interest in this (beyond "I'm a Java developer and I think it would be cool", but really money on the line), please send me an email (richard dot bair at oracle dot com)." > > > > You did miss something, like the four other responses from Richard in this thread, two of them quite lengthy. Including one with this line: > > > The anger and passion exhibited on this thread is very gratifying and very helpful. > > --Danno From omurata at ga2.so-net.ne.jp Wed Oct 17 07:03:50 2012 From: omurata at ga2.so-net.ne.jp (Tadashi Ohmura) Date: Wed, 17 Oct 2012 23:03:50 +0900 Subject: JavaFX for Enterprise use case In-Reply-To: References: Message-ID: <507EBAC6.5060706@ga2.so-net.ne.jp> Hello evaryone (2012/10/17 16:49), Daniel Zwolenski wrote: > This proposal needs the full backing of the JavaFX team and management. > Specifically it needs: > > 1. Belief that JavaFX can and should be the *number one* client > development platform for enterprise. > I agree that JavaFX can and should be the *number one* client development platform for enterprise. I and StellaCorporation heve been developping CAD/CAM system with Java SWing/java2D Plese look at http://www.stellacorp.co.jp/en/products/soft/java/index.htm Now I pay attention to JavaFX for CAD/CAM system platform. Best regards Tadashi Ohmura From tobi at ultramixer.com Wed Oct 17 07:06:34 2012 From: tobi at ultramixer.com (Tobias Bley) Date: Wed, 17 Oct 2012 16:06:34 +0200 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <50746021.1090404@media-interactive.de> <135960.15603.48905-10536-470314817-1349805207@seznam.cz> <193FF4ED343AF14F8CDC65B4792C954D13296583@Jeri.osys.ch> <507BF963.6080404@bestsolution.at> <193FF4ED343AF14F8CDC65B4792C954D132966D9@Jeri.osys.ch> <6FA1F1FC-7ADF-447D-B071-C89D3C21B5AE@gmail.com> <4FD97512-47B3-40FC-9BF9-3AED0E2FB18E@gmail.com> <507C53EB.7020006@oracle.com> <507C5605.8000502@jugs.org> <957CDC6E-B8AB-461A-B9D3-B2E3D1117725@gmail.com> <625A9516-F83F-4D63-BF4A-6D5BEB4FCBD5@ultramixer.com> Message-ID: <467C5248-E5DA-47E8-9603-7DD9824BD80E@ultramixer.com> Ok, then Oracle please release a commercial JavaFX for mobile and I pay for that. Am 17.10.2012 um 16:03 schrieb Danno Ferrin : > Oracle needs paying customers. This isn't Sun anymore where they will throw stuff out and hope it sticks. And when Oracle ships they want evidence that 4 years of continuing support won't be a total money drain. The decision has been made, when customers come with cash it will be released and worked on. > > On Wed, Oct 17, 2012 at 7:38 AM, Tobias Bley wrote: > Yes ok, you are right. > > But all what Richard said is > > 1. "JavaFX on iOS, ..." comes true when JavaFX is open sourced and the community build the port > 2. Oracle needs use cases, customers, real demand .... to make a good decision.... > > So where is the real statement / position? When do you make a descision, Oracle? What is your opinion about "the success of JavaFX without supporting mobile platforms" Oracle??? > > > Tobi > > > > > Am 17.10.2012 um 14:33 schrieb Danno Ferrin : > >> >> >> On Wed, Oct 17, 2012 at 12:39 AM, Tobias Bley wrote: >> Hi Danno, >> >> maybe I was missing something... or do you really mean the two sentences of Richard: "I've been watching this thread, of course pleased . To make a positive impact, anybody who has a commercial interest in this (beyond "I'm a Java developer and I think it would be cool", but really money on the line), please send me an email (richard dot bair at oracle dot com)." >> >> >> >> You did miss something, like the four other responses from Richard in this thread, two of them quite lengthy. Including one with this line: >> >> > The anger and passion exhibited on this thread is very gratifying and very helpful. >> >> --Danno > > > > > -- > There is nothing that will hold me back. I know who I am.... > I remember wher I came from, and I feel stronger for knowing. > Zane, Ninja of Ice. Ninjago S01E07 > From peter.pilgrim at gmail.com Wed Oct 17 07:20:49 2012 From: peter.pilgrim at gmail.com (Peter Pilgrim) Date: Wed, 17 Oct 2012 15:20:49 +0100 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: <7830944087914512700@unknownmsgid> Hi These proposals some of the item read like demands. Normally, one invites people to discuss proposals. :-) Sent from my iPhone 4S On 17 Oct 2012, at 08:49, Daniel Zwolenski wrote: > So Oracle as an organization doesn't think JavaFX can be a player in the > web/enterprise space and is backing HTML5. I don't agree, JavaFX has the * > potential* to be better. But it's a long way behind and gotten off to a > rocky start; there's a hell of a lot of work to be done and the current > rate, strategy and direction are not going to be nearly enough. > > Oracle is a big corporation with many different divisions. The left arm > doesn't know what the right is doing. So let's put aside 'oracle' for a > moment. I want to know: what does the JavaFX team think? Do you want to go > up against HTML5 for the client space, or just settle for a spot on the > fringe? > > Below is what I propose. > > This proposal needs the full backing of the JavaFX team and management. > Specifically it needs: > > 1. Belief that JavaFX can and should be the *number one* client > development platform for enterprise. > 2. Recognition that the current strategy will not make that happen. > 3. Resources (aka people) allocated to the working group outlined below. > These people must have enough influence in the JFX platform to legitimately > be able to influence the direction as needed. > 4. Commitment to supporting this working group fully and implementing > the strategies and recommendations that come out of it as a high priority > 5. A sense of urgency, and a proactive pursuit of achieving these goals > with a well defined timeline (i.e. "resources will be allocated by November > 2012" not "we're working on it"). > > In my opinion, all of these must be met 100%. Otherwise there is no point > starting at all and better to let it go and leave the enterprise space to > other players like HTML5 as 'Oracle' is suggesting. This is your call. > > I believe JavaFX can be the best platform for client-side enterprise > application development, capitalising-on, and adding-to Java's dominance in > server side enterprise development. > > Do you? > > > *Proposal to form a working group for JavaFX in the enterprise* > > Mission: > > - to position JavaFX as *the* dominant client-side development platform > for enterprise/business applications > > > Members: > > - a combination of paid Oracle JavaFX team members, and community > participants. The Oracle members must have the ability to access senior > JavaFX management and technical decision makers, and as such influence the > road map and direction of the JavaFX platform. Community members will be > those with a background and experience in the enterprise space and who are > committed to making JavaFX the platform of choice in this space. > > > Responsibilities: > > - Continuously identify improvements to the JavaFX platform that are > needed to ensure adoption by enterprise; drive the inclusion of these into > the JavaFX platform. > > - Continuously identify and monitor trends and developments within the > enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and > ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's > long term viability for their needs. > > - Provide best practices, community/forum support, documentation, > examples, tool add-ons, frameworks and other aids for integrating JavaFX > into popular enterprise technology stacks > > - Provide advocacy, publicity and drive general engagement and outreach > programs for the adoption of JavaFX in the enterprise. > > > Objectives: > > Objectives will be determined by the working group once formed, however > initial objectives will likely include the following: > > - Review the current deployment/distribution options for JavaFX and > determine ways to improve this to make it competitive with other popular > enterprise client platforms (e.g. HTML+JavaScript) for primary enterprise > OS' and platforms > > - Identify the most popular enterprise build and development tools and > determine a strategy for making JavaFX integrate into these > > - Review popular trends and toolkits within competitive platforms and > define the ideal frameworks and add-on tools needed by an enterprise client > (e.g. form validation). Use this list of high-level requirements to > determine the low-level JavaFX enhancements needed (e.g. allow field > markers so that a 3rd party validation framework could leverage these). > > - Create a demonstration enterprise application (along the lines of > PetClinic) demonstrating best practice for integrating JavaFX in a full, > end-to-end JEE stack. > > > Longer term objectives may include: > > - Develop (or foster community development of) the high-level frameworks > that have been identified as necessary for JavaFX in the enterprise. These > will likely be developed as third-party modules external to the JavaFX core > framework (i.e. built on top of the features provided by the core JavaFX > team). > > - Provide integration with existing or new Rapid Application Development > (RAD) tools popular within the enterprise Java space (e.g. ROO, etc). From richard.bair at oracle.com Wed Oct 17 07:23:00 2012 From: richard.bair at oracle.com (Richard Bair) Date: Wed, 17 Oct 2012 07:23:00 -0700 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: We are already doing everything on your list (which was pretty void of specifics). Please list specific work projects, linked to specific JIRA issues, and vote for them and for goodness sake contribute! On Oct 17, 2012, at 12:49 AM, Daniel Zwolenski wrote: > So Oracle as an organization doesn't think JavaFX can be a player in the > web/enterprise space and is backing HTML5. I don't agree, JavaFX has the * > potential* to be better. But it's a long way behind and gotten off to a > rocky start; there's a hell of a lot of work to be done and the current > rate, strategy and direction are not going to be nearly enough. > > Oracle is a big corporation with many different divisions. The left arm > doesn't know what the right is doing. So let's put aside 'oracle' for a > moment. I want to know: what does the JavaFX team think? Do you want to go > up against HTML5 for the client space, or just settle for a spot on the > fringe? > > Below is what I propose. > > This proposal needs the full backing of the JavaFX team and management. > Specifically it needs: > > 1. Belief that JavaFX can and should be the *number one* client > development platform for enterprise. > 2. Recognition that the current strategy will not make that happen. > 3. Resources (aka people) allocated to the working group outlined below. > These people must have enough influence in the JFX platform to legitimately > be able to influence the direction as needed. > 4. Commitment to supporting this working group fully and implementing > the strategies and recommendations that come out of it as a high priority > 5. A sense of urgency, and a proactive pursuit of achieving these goals > with a well defined timeline (i.e. "resources will be allocated by November > 2012" not "we're working on it"). > > In my opinion, all of these must be met 100%. Otherwise there is no point > starting at all and better to let it go and leave the enterprise space to > other players like HTML5 as 'Oracle' is suggesting. This is your call. > > I believe JavaFX can be the best platform for client-side enterprise > application development, capitalising-on, and adding-to Java's dominance in > server side enterprise development. > > Do you? > > > *Proposal to form a working group for JavaFX in the enterprise* > > Mission: > > - to position JavaFX as *the* dominant client-side development platform > for enterprise/business applications > > > Members: > > - a combination of paid Oracle JavaFX team members, and community > participants. The Oracle members must have the ability to access senior > JavaFX management and technical decision makers, and as such influence the > road map and direction of the JavaFX platform. Community members will be > those with a background and experience in the enterprise space and who are > committed to making JavaFX the platform of choice in this space. > > > Responsibilities: > > - Continuously identify improvements to the JavaFX platform that are > needed to ensure adoption by enterprise; drive the inclusion of these into > the JavaFX platform. > > - Continuously identify and monitor trends and developments within the > enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and > ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's > long term viability for their needs. > > - Provide best practices, community/forum support, documentation, > examples, tool add-ons, frameworks and other aids for integrating JavaFX > into popular enterprise technology stacks > > - Provide advocacy, publicity and drive general engagement and outreach > programs for the adoption of JavaFX in the enterprise. > > > Objectives: > > Objectives will be determined by the working group once formed, however > initial objectives will likely include the following: > > - Review the current deployment/distribution options for JavaFX and > determine ways to improve this to make it competitive with other popular > enterprise client platforms (e.g. HTML+JavaScript) for primary enterprise > OS' and platforms > > - Identify the most popular enterprise build and development tools and > determine a strategy for making JavaFX integrate into these > > - Review popular trends and toolkits within competitive platforms and > define the ideal frameworks and add-on tools needed by an enterprise client > (e.g. form validation). Use this list of high-level requirements to > determine the low-level JavaFX enhancements needed (e.g. allow field > markers so that a 3rd party validation framework could leverage these). > > - Create a demonstration enterprise application (along the lines of > PetClinic) demonstrating best practice for integrating JavaFX in a full, > end-to-end JEE stack. > > > Longer term objectives may include: > > - Develop (or foster community development of) the high-level frameworks > that have been identified as necessary for JavaFX in the enterprise. These > will likely be developed as third-party modules external to the JavaFX core > framework (i.e. built on top of the features provided by the core JavaFX > team). > > - Provide integration with existing or new Rapid Application Development > (RAD) tools popular within the enterprise Java space (e.g. ROO, etc). From roman at kennke.org Wed Oct 17 07:33:06 2012 From: roman at kennke.org (Roman Kennke) Date: Wed, 17 Oct 2012 16:33:06 +0200 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: <1350484386.2097.56.camel@mercury> Am Mittwoch, den 17.10.2012, 07:23 -0700 schrieb Richard Bair: > We are already doing everything on your list (which was pretty void of > specifics). Please list specific work projects, linked to specific > JIRA issues, and vote for them and for goodness sake contribute! I was a little puzzled by the proposal. While I generally agree with the points, it reads a little much like 'demands'. I also agree with your sentiment, especially with 'for goodness sake contribute!'. The takeaway from all this is that the number one thing Oracle could do to accelerate JavaFX (both adoption AND contribution) is to open source it. This would make it easier (or feasible at all) to contribute and it would also help developers adopt it and use it for their own projects & products. But I know you know all this already so who am I telling this? ;-) Cheers, Roman From richard.bair at oracle.com Wed Oct 17 07:31:36 2012 From: richard.bair at oracle.com (Richard Bair) Date: Wed, 17 Oct 2012 07:31:36 -0700 Subject: No JavaFX for iOS, Android or WP - why not? In-Reply-To: References: <005101cda5e6$c6d7b960$54872c20$@com.au> <5116F84B-FB3B-493A-B09C-711FE0CC4608@ultramixer.com> <006501cda5f6$9d1ffeb0$d75ffc10$@com.au> Message-ID: <2DC23C11-C1CC-49E9-9D73-C368A691E384@oracle.com> You *definitely* qualify as a customer :-). You don't need to be a name brand, the fact that you are using JavaFX commercially is all that matters for this iOS / Android exercise. On Oct 17, 2012, at 4:53 AM, Johan Vos wrote: > Richard, all, > > My 2 cents on this: > 1. Once the code for the native libraries is open-sourced, I expect the community to jump on it. Without source code, we are complete dependent on what Oracle decides. > 2. I hear the message that you want customers, not (only) developers asking for JavaFX on mobile. I understand the motivations behind this. Unfortunately, I'm not a big Oracle customer (I don't even own an Exalogic ;)), so I can't be of much help here. > > But I doubt there will be many end-customers asking for JavaFX on mobile. I'm active in a number of projects where the customer (and some of them are rather big, like some the biggest media companies in Belgium) require a Desktop application and a Mobile/Tablet application. If the desktop application is targeted towards millions of users, it is hard to convince the customer to do this in something else than HTML. When talking about a limited group of users, JavaFX is absolutely in the picture. > > For the mobile, the situation is completely different. The mobile/tablet counterpart of a project is often seen as fancy, very important for marketing, should be extremely intuitive,... and most customers I am talking too prefer a native application over a mobile web application. However, at least the people I talk to don't care if it is a JavaFX app, a native iOS app, a native Android app,... As long as the application can be downloaded using the respective appstores (which implicitly indicates the app adheres to some standards), it's all good. So they won't be knocking on Oracle's door easily, I'm afraid. > > As a developer, I do care about the underlying technology. I want to write a single application and run it on every platform. Speed of development, bug fixing, maintenance, operational cost, abstraction of changes in underlying OS,... those are areas that are very important to me as a developer. As a matter of fact, it makes a HUGE difference for a developer, but a minor difference for the customer. In the end, it will be cheaper for the customer, since development cost will be lower. This will become more important in the future, I believe. But at this relative early stage of "app development" and the premature stage of "JavaFX app development", it is hard to measure the impact of development cost on the willing of customers to talk to Oracle about supporting JavaFX on mobile/tablet. > > - Johan > > > 2012/10/9 Richard Bair > > > It's blatantly clear that Java developers *crave* JavaFX on mobiles and yet > > Oracle are waiting for clear commercial interest to justify such support? > > As has been pointed out several times, JavaFX cannot be considered a success > > if it is limited to the scope of the desktop and perhaps some embedded > > devices. Many predict that the PC in its current form will largely > > disappear in the next 5 years so where would that leave JavaFX? > > > > Java developers are largely passionate about their language and do not want > > to learn Objective C or C# or whatever language is required on each device. > > > > In my opinion, being able to code in Java and deploy to Windows, Linux, > > MacOS, iOS, Android, Metro etc. could propel JavaFX to amazing heights as > > the best platform for client side software development on the planet. > > Please Oracle, don't miss this enormous opportunity! What do we have to do > > to convince you that this REALLY IS A GOOD IDEA? > > The anger and passion exhibited on this thread is very gratifying and very helpful. > Even more helpful would be to funnel as many developers to me as you find that > have a demand for FX on smartphones and tablets. You'll not find more passionate > partisans for JavaFX than here in the Java group. Being able to demonstrate > industry demand and commitment is what we need. Of course, when JavaFX is > open sourced (as Hasan announced at JavaOne we will complete shortly), then > of course anybody could do a port to iOS / Android. The question isn't about whether > or not JavaFX will be on smart phones -- it will be. The question is who is funding > it and who is supporting it. Of course many of us feel that supporting iOS and > Android is at least as important as Windows and Mac. However, it is hard to fault > the guys paying the bills for asking for some evidence of that viewpoint. Customers > beating on our doors demanding support for FX on these devices is exactly that > evidence. > > But in any case, this is an open source project, and regardless of whether Oracle > foots the bill, I have no doubt that FX will be on iOS, Android, and Windows Metro. > If you'd like to help, funnel your demands and use cases to me (and they have all > the more weight when there is a real commercial demand behind them)! > > Richard > From goddard at seznam.cz Wed Oct 17 07:36:33 2012 From: goddard at seznam.cz (goddard at seznam.cz) Date: Wed, 17 Oct 2012 16:36:33 +0200 (CEST) Subject: =?us-ascii?Q?Re=3A=20Re=3A=20No=20JavaFX=20for=20iOS=2C=20Android=20or=20WP=20=2D=20why=20not=3F?= In-Reply-To: <625A9516-F83F-4D63-BF4A-6D5BEB4FCBD5@ultramixer.com> Message-ID: <136416.15008.49794-25498-1763940548-1350484593@seznam.cz> This seems to be endless :) Why doesn't just everyone pick up a tablet / device that can actually run Oracle Java / JavaFX, like WeTab, and starts pushing it forward? I can already hear something about market shares, but in reality, applications are what makes the platform attractive. I also bet that there're some people who are working on linux distros for smartphones. That's a great opportunity :) Regards, Jiri ------------ P?vodn? zpr?va ------------ Od: Tobias Bley P?edm?t: Re: No JavaFX for iOS, Android or WP - why not? Datum: 17.10.2012 15:41:37 ---------------------------------------- Yes ok, you are right. But all what Richard said is 1. "JavaFX on iOS, ..." comes true when JavaFX is open sourced and the community build the port 2. Oracle needs use cases, customers, real demand .... to make a good decision.... So where is the real statement / position? When do you make a descision, Oracle? What is your opinion about "the success of JavaFX without supporting mobile platforms" Oracle??? Tobi Am 17.10.2012 um 14:33 schrieb Danno Ferrin : > > > On Wed, Oct 17, 2012 at 12:39 AM, Tobias Bley wrote: > Hi Danno, > > maybe I was missing something... or do you really mean the two sentences of Richard: "I've been watching this thread, of course pleased . To make a positive impact, anybody who has a commercial interest in this (beyond "I'm a Java developer and I think it would be cool", but really money on the line), please send me an email (richard dot bair at oracle dot com)." > > > > You did miss something, like the four other responses from Richard in this thread, two of them quite lengthy. Including one with this line: > > > The anger and passion exhibited on this thread is very gratifying and very helpful. > > --Danno From neugens.limasoftware at gmail.com Wed Oct 17 07:39:54 2012 From: neugens.limasoftware at gmail.com (Mario Torre) Date: Wed, 17 Oct 2012 16:39:54 +0200 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: 2012/10/17 Daniel Zwolenski : > So Oracle as an organization doesn't think JavaFX can be a player in the > web/enterprise space and is backing HTML5. I don't agree, JavaFX has the * > potential* to be better. But it's a long way behind and gotten off to a > rocky start; there's a hell of a lot of work to be done and the current > rate, strategy and direction are not going to be nearly enough. > > Oracle is a big corporation with many different divisions. The left arm > doesn't know what the right is doing. So let's put aside 'oracle' for a > moment. I want to know: what does the JavaFX team think? Do you want to go > up against HTML5 for the client space, or just settle for a spot on the > fringe? Well, you know, somehow there is people that think HTML 5 has a market and other people that think JavaFX is the future, perhaps those both have a market and a future? It makes a lot of sense to support one product *and* the other, and it especially makes sense to support one over the other in some context at times: if you think rationally there are limited resources even in huge corporations like Oracle; I can see why some management folks make decision like this, they probably go where they think there is money, and I can also see how they piss everybody else off by doing this ;) There is only one solution for this, once the code is out, put your own time in it to get it where nobody else has before. No, really. Seriously. When Richard ask you to contribute, he really means it. And it's not about Oracle being crazy here, every Open Source project works the same way, really. People do choices, somebody doesn't agree, then just grab the code and fix what's wrong... Whoops... now I hear you say it! Where's the code? This is really a question for Richard then :) But really, this is the only thing to worry about and that we need to keep asking aloud, all the rest will come by. [1] Cheers, Mario [1] And to be honest, I love this thread even if I think the questions are all the other way around, because it shows there's a community out there that really wants this code to be out sooner. -- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/ From markclaassenx at gmail.com Wed Oct 17 07:40:17 2012 From: markclaassenx at gmail.com (Mark Claassen) Date: Wed, 17 Oct 2012 10:40:17 -0400 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: I joined this list a few days ago because I wanted to start contributing So far, I am not sure it is quite where I should be. I would like to discuss more about the components (table, list boxes, ...). I am not exactly sure where to do that. However, I will add here that I started (a very short-lived) thread on the netbeans user list along these lines. Basically what I was saying was that Netbeans is a wonderful UI built on Swing. Could this same project be done in JavaFX? Maybe not yet, but could it be in the future? It seems like the JavaFX team could get a lot of advice and requirements from the netbeans team. http://forums.netbeans.org/topic51717.html Some of the main data structures, like the ObservableList, make me cringe. I created a similar structure 10 years ago and have since learned the error of my ways. Granted, the JavaFX team has a lot more resources and experience than I did all those years ago, but from my point of view, there are dangerous waters ahead. On Wed, Oct 17, 2012 at 10:23 AM, Richard Bair wrote: > We are already doing everything on your list (which was pretty void of > specifics). Please list specific work projects, linked to specific JIRA > issues, and vote for them and for goodness sake contribute! > > > > > On Oct 17, 2012, at 12:49 AM, Daniel Zwolenski wrote: > > > So Oracle as an organization doesn't think JavaFX can be a player in the > > web/enterprise space and is backing HTML5. I don't agree, JavaFX has the > * > > potential* to be better. But it's a long way behind and gotten off to a > > rocky start; there's a hell of a lot of work to be done and the current > > rate, strategy and direction are not going to be nearly enough. > > > > Oracle is a big corporation with many different divisions. The left arm > > doesn't know what the right is doing. So let's put aside 'oracle' for a > > moment. I want to know: what does the JavaFX team think? Do you want to > go > > up against HTML5 for the client space, or just settle for a spot on the > > fringe? > > > > Below is what I propose. > > > > This proposal needs the full backing of the JavaFX team and management. > > Specifically it needs: > > > > 1. Belief that JavaFX can and should be the *number one* client > > development platform for enterprise. > > 2. Recognition that the current strategy will not make that happen. > > 3. Resources (aka people) allocated to the working group outlined > below. > > These people must have enough influence in the JFX platform to > legitimately > > be able to influence the direction as needed. > > 4. Commitment to supporting this working group fully and implementing > > the strategies and recommendations that come out of it as a high > priority > > 5. A sense of urgency, and a proactive pursuit of achieving these goals > > with a well defined timeline (i.e. "resources will be allocated by > November > > 2012" not "we're working on it"). > > > > In my opinion, all of these must be met 100%. Otherwise there is no point > > starting at all and better to let it go and leave the enterprise space to > > other players like HTML5 as 'Oracle' is suggesting. This is your call. > > > > I believe JavaFX can be the best platform for client-side enterprise > > application development, capitalising-on, and adding-to Java's dominance > in > > server side enterprise development. > > > > Do you? > > > > > > *Proposal to form a working group for JavaFX in the enterprise* > > > > Mission: > > > > - to position JavaFX as *the* dominant client-side development platform > > for enterprise/business applications > > > > > > Members: > > > > - a combination of paid Oracle JavaFX team members, and community > > participants. The Oracle members must have the ability to access senior > > JavaFX management and technical decision makers, and as such influence > the > > road map and direction of the JavaFX platform. Community members will > be > > those with a background and experience in the enterprise space and who > are > > committed to making JavaFX the platform of choice in this space. > > > > > > Responsibilities: > > > > - Continuously identify improvements to the JavaFX platform that are > > needed to ensure adoption by enterprise; drive the inclusion of these > into > > the JavaFX platform. > > > > - Continuously identify and monitor trends and developments within the > > enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and > > ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's > > long term viability for their needs. > > > > - Provide best practices, community/forum support, documentation, > > examples, tool add-ons, frameworks and other aids for integrating > JavaFX > > into popular enterprise technology stacks > > > > - Provide advocacy, publicity and drive general engagement and outreach > > programs for the adoption of JavaFX in the enterprise. > > > > > > Objectives: > > > > Objectives will be determined by the working group once formed, however > > initial objectives will likely include the following: > > > > - Review the current deployment/distribution options for JavaFX and > > determine ways to improve this to make it competitive with other > popular > > enterprise client platforms (e.g. HTML+JavaScript) for primary > enterprise > > OS' and platforms > > > > - Identify the most popular enterprise build and development tools and > > determine a strategy for making JavaFX integrate into these > > > > - Review popular trends and toolkits within competitive platforms and > > define the ideal frameworks and add-on tools needed by an enterprise > client > > (e.g. form validation). Use this list of high-level requirements to > > determine the low-level JavaFX enhancements needed (e.g. allow field > > markers so that a 3rd party validation framework could leverage these). > > > > - Create a demonstration enterprise application (along the lines of > > PetClinic) demonstrating best practice for integrating JavaFX in a > full, > > end-to-end JEE stack. > > > > > > Longer term objectives may include: > > > > - Develop (or foster community development of) the high-level > frameworks > > that have been identified as necessary for JavaFX in the enterprise. > These > > will likely be developed as third-party modules external to the JavaFX > core > > framework (i.e. built on top of the features provided by the core > JavaFX > > team). > > > > - Provide integration with existing or new Rapid Application > Development > > (RAD) tools popular within the enterprise Java space (e.g. ROO, etc). > From neugens.limasoftware at gmail.com Wed Oct 17 07:55:58 2012 From: neugens.limasoftware at gmail.com (Mario Torre) Date: Wed, 17 Oct 2012 16:55:58 +0200 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: 2012/10/17 Mark Claassen : > I joined this list a few days ago because I wanted to start contributing > So far, I am not sure it is quite where I should be. I would like to > discuss more about the components (table, list boxes, ...). I am not > exactly sure where to do that. You just unfortunately ended up subscribing to this list in the middle of a storm :) But this list has been used in the past to discuss components and details of the implementation, so this is definitely the right place to start discussing those things. @Richard: Perhaps it would be more fun to simply have a list dedicated to flaming Oracle for supporting HTML 5 rather than JavaFX :) > However, I will add here that I started (a very short-lived) thread on the > netbeans user list along these lines. Basically what I was saying was that > Netbeans is a wonderful UI built on Swing. Could this same project be done > in JavaFX? Maybe not yet, but could it be in the future? It seems like > the JavaFX team could get a lot of advice and requirements from the > netbeans team. > > http://forums.netbeans.org/topic51717.html This thread is interesting. I've seen at J1 some tools using JavaFX with the SWT bridge. The Swing one will also work equally well. We also have (we need to put some love to make it work on 2.2 The big trouble is #2, this will only work if: 1. Netbeans can ship JavaFX 2. JavaFX is included in any major OpenJDK/JDK releases (that means, including distribution related IcedTea builds). For both options, JavaFX needs to be fully Open Sourced, or even NetBeans will fall back into non free bits, so I agree with them. > Some of the main data structures, like the ObservableList, make me cringe. > I created a similar structure 10 years ago and have since learned the error > of my ways. Granted, the JavaFX team has a lot more resources and > experience than I did all those years ago, but from my point of view, there > are dangerous waters ahead. I'm sure this is the kind of discussion mostly welcomed on this list, after all, this is what makes it a community project. Cheers, Mario -- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/ From neugens.limasoftware at gmail.com Wed Oct 17 08:21:08 2012 From: neugens.limasoftware at gmail.com (Mario Torre) Date: Wed, 17 Oct 2012 17:21:08 +0200 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: """ This thread is interesting. I've seen at J1 some tools using JavaFX with the SWT bridge. The Swing one will also work equally well. We also have (we need to put some love to make it work on 2.2 """ Somehow this got cut, I meant: This thread is interesting. I've seen at J1 some tools using JavaFX with the SWT bridge. The Swing one will also work equally well. We also have (we need to put some love to make it work on 2.2) that can be used to embed Swing on top of JavaFX (the other way around). Cheers, Mario 2012/10/17 Mario Torre : > 2012/10/17 Mark Claassen : >> I joined this list a few days ago because I wanted to start contributing >> So far, I am not sure it is quite where I should be. I would like to >> discuss more about the components (table, list boxes, ...). I am not >> exactly sure where to do that. > > You just unfortunately ended up subscribing to this list in the middle > of a storm :) > > But this list has been used in the past to discuss components and > details of the implementation, so this is definitely the right place > to start discussing those things. > > @Richard: Perhaps it would be more fun to simply have a list dedicated > to flaming Oracle for supporting HTML 5 rather than JavaFX :) > >> However, I will add here that I started (a very short-lived) thread on the >> netbeans user list along these lines. Basically what I was saying was that >> Netbeans is a wonderful UI built on Swing. Could this same project be done >> in JavaFX? Maybe not yet, but could it be in the future? It seems like >> the JavaFX team could get a lot of advice and requirements from the >> netbeans team. >> >> http://forums.netbeans.org/topic51717.html > > This thread is interesting. I've seen at J1 some tools using JavaFX > with the SWT bridge. The Swing one will also work equally well. We > also have (we need to put some love to make it work on 2.2 > > The big trouble is #2, this will only work if: > > 1. Netbeans can ship JavaFX > 2. JavaFX is included in any major OpenJDK/JDK releases (that means, > including distribution related IcedTea builds). > > For both options, JavaFX needs to be fully Open Sourced, or even > NetBeans will fall back into non free bits, so I agree with them. > >> Some of the main data structures, like the ObservableList, make me cringe. >> I created a similar structure 10 years ago and have since learned the error >> of my ways. Granted, the JavaFX team has a lot more resources and >> experience than I did all those years ago, but from my point of view, there >> are dangerous waters ahead. > > I'm sure this is the kind of discussion mostly welcomed on this list, > after all, this is what makes it a community project. > > Cheers, > Mario > -- > pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF > Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF > > IcedRobot: www.icedrobot.org > Proud GNU Classpath developer: http://www.classpath.org/ > Read About us at: http://planet.classpath.org > OpenJDK: http://openjdk.java.net/projects/caciocavallo/ > > Please, support open standards: > http://endsoftpatents.org/ -- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/ From tom.schindl at bestsolution.at Wed Oct 17 08:32:16 2012 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Wed, 17 Oct 2012 17:32:16 +0200 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: <507ECF80.2010500@bestsolution.at> Well at J1 I showed an "IDE" (well its really a very very simple one so IDE is not the correct word) which is not using SWT nor Swing. It is built upon various eclipse technologies although: * equinox -> component model (=OSGi) * e4 -> application framework (=DI, Command, docking, ...) * jdt-core -> java dev tooling (=compiler, error reporting, auto-complete) * orion -> editor written in JavaScript You can see those in action in this video http://tomsondev.bestsolution.at/2012/10/04/eclipse-techs-on-steroids/ all sources are available as opensource (EPL) from my github repository at https://github.com/tomsontom/fx-ide. The only thing JavaFX misses at the moment to write an IDE is a rich text component which Eclipse (StyledText-Widget) and Netbeans have. Tom Am 17.10.12 17:21, schrieb Mario Torre: > """ > This thread is interesting. I've seen at J1 some tools using JavaFX > with the SWT bridge. The Swing one will also work equally well. We > also have (we need to put some love to make it work on 2.2 > """ > > Somehow this got cut, I meant: > > This thread is interesting. I've seen at J1 some tools using JavaFX > with the SWT bridge. The Swing one will also work equally well. We > also have (we need to put some love to make it work on 2.2) that > can be used to embed Swing on top of JavaFX (the other way around). > > Cheers, > Mario > > 2012/10/17 Mario Torre : >> 2012/10/17 Mark Claassen : >>> I joined this list a few days ago because I wanted to start contributing >>> So far, I am not sure it is quite where I should be. I would like to >>> discuss more about the components (table, list boxes, ...). I am not >>> exactly sure where to do that. >> >> You just unfortunately ended up subscribing to this list in the middle >> of a storm :) >> >> But this list has been used in the past to discuss components and >> details of the implementation, so this is definitely the right place >> to start discussing those things. >> >> @Richard: Perhaps it would be more fun to simply have a list dedicated >> to flaming Oracle for supporting HTML 5 rather than JavaFX :) >> >>> However, I will add here that I started (a very short-lived) thread on the >>> netbeans user list along these lines. Basically what I was saying was that >>> Netbeans is a wonderful UI built on Swing. Could this same project be done >>> in JavaFX? Maybe not yet, but could it be in the future? It seems like >>> the JavaFX team could get a lot of advice and requirements from the >>> netbeans team. >>> >>> http://forums.netbeans.org/topic51717.html >> >> This thread is interesting. I've seen at J1 some tools using JavaFX >> with the SWT bridge. The Swing one will also work equally well. We >> also have (we need to put some love to make it work on 2.2 >> >> The big trouble is #2, this will only work if: >> >> 1. Netbeans can ship JavaFX >> 2. JavaFX is included in any major OpenJDK/JDK releases (that means, >> including distribution related IcedTea builds). >> >> For both options, JavaFX needs to be fully Open Sourced, or even >> NetBeans will fall back into non free bits, so I agree with them. >> >>> Some of the main data structures, like the ObservableList, make me cringe. >>> I created a similar structure 10 years ago and have since learned the error >>> of my ways. Granted, the JavaFX team has a lot more resources and >>> experience than I did all those years ago, but from my point of view, there >>> are dangerous waters ahead. >> >> I'm sure this is the kind of discussion mostly welcomed on this list, >> after all, this is what makes it a community project. >> >> Cheers, >> Mario >> -- >> pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF >> Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF >> >> IcedRobot: www.icedrobot.org >> Proud GNU Classpath developer: http://www.classpath.org/ >> Read About us at: http://planet.classpath.org >> OpenJDK: http://openjdk.java.net/projects/caciocavallo/ >> >> Please, support open standards: >> http://endsoftpatents.org/ > > > -- B e s t S o l u t i o n . a t EDV Systemhaus GmbH ------------------------------------------------------------------------ tom schindl gesch?ftsf?hrer/CEO ------------------------------------------------------------------------ eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 http://www.BestSolution.at phone ++43 512 935834 From markclaassenx at gmail.com Wed Oct 17 08:34:58 2012 From: markclaassenx at gmail.com (Mark Claassen) Date: Wed, 17 Oct 2012 11:34:58 -0400 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: I am not as concerned in the "bridge" as I am in the framework. Although I agree a bridge is necessary, and would like it to work well. My comment is more about being on a track to where someone could (eventually) build Netbeans from scratch using only JavaFX. The customized window behavior, the Drag and Drop, the little tooltip-like popup windows used in the tree renderers to show the text that is not visible because of the visible bounds of the tree, ... all of it. What about the document model? The Swing javax.swing.text.Document interface is pretty powerful. The way it seems implemented in JavaFX does not seem nearly as powerful, or as pluggable. Mark On Wed, Oct 17, 2012 at 11:21 AM, Mario Torre < neugens.limasoftware at gmail.com> wrote: > """ > This thread is interesting. I've seen at J1 some tools using JavaFX > with the SWT bridge. The Swing one will also work equally well. We > also have (we need to put some love to make it work on 2.2 > """ > > Somehow this got cut, I meant: > > This thread is interesting. I've seen at J1 some tools using JavaFX > with the SWT bridge. The Swing one will also work equally well. We > also have (we need to put some love to make it work on 2.2) that > can be used to embed Swing on top of JavaFX (the other way around). > > Cheers, > Mario > > 2012/10/17 Mario Torre : > > 2012/10/17 Mark Claassen : > >> I joined this list a few days ago because I wanted to start contributing > >> So far, I am not sure it is quite where I should be. I would like to > >> discuss more about the components (table, list boxes, ...). I am not > >> exactly sure where to do that. > > > > You just unfortunately ended up subscribing to this list in the middle > > of a storm :) > > > > But this list has been used in the past to discuss components and > > details of the implementation, so this is definitely the right place > > to start discussing those things. > > > > @Richard: Perhaps it would be more fun to simply have a list dedicated > > to flaming Oracle for supporting HTML 5 rather than JavaFX :) > > > >> However, I will add here that I started (a very short-lived) thread on > the > >> netbeans user list along these lines. Basically what I was saying was > that > >> Netbeans is a wonderful UI built on Swing. Could this same project be > done > >> in JavaFX? Maybe not yet, but could it be in the future? It seems like > >> the JavaFX team could get a lot of advice and requirements from the > >> netbeans team. > >> > >> http://forums.netbeans.org/topic51717.html > > > > This thread is interesting. I've seen at J1 some tools using JavaFX > > with the SWT bridge. The Swing one will also work equally well. We > > also have (we need to put some love to make it work on 2.2 > > > > The big trouble is #2, this will only work if: > > > > 1. Netbeans can ship JavaFX > > 2. JavaFX is included in any major OpenJDK/JDK releases (that means, > > including distribution related IcedTea builds). > > > > For both options, JavaFX needs to be fully Open Sourced, or even > > NetBeans will fall back into non free bits, so I agree with them. > > > >> Some of the main data structures, like the ObservableList, make me > cringe. > >> I created a similar structure 10 years ago and have since learned the > error > >> of my ways. Granted, the JavaFX team has a lot more resources and > >> experience than I did all those years ago, but from my point of view, > there > >> are dangerous waters ahead. > > > > I'm sure this is the kind of discussion mostly welcomed on this list, > > after all, this is what makes it a community project. > > > > Cheers, > > Mario > > -- > > pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF > > Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF > > > > IcedRobot: www.icedrobot.org > > Proud GNU Classpath developer: http://www.classpath.org/ > > Read About us at: http://planet.classpath.org > > OpenJDK: http://openjdk.java.net/projects/caciocavallo/ > > > > Please, support open standards: > > http://endsoftpatents.org/ > > > > -- > pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF > Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF > > IcedRobot: www.icedrobot.org > Proud GNU Classpath developer: http://www.classpath.org/ > Read About us at: http://planet.classpath.org > OpenJDK: http://openjdk.java.net/projects/caciocavallo/ > > Please, support open standards: > http://endsoftpatents.org/ > From tobi at ultramixer.com Wed Oct 17 08:35:07 2012 From: tobi at ultramixer.com (Tobias Bley) Date: Wed, 17 Oct 2012 17:35:07 +0200 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: Why should we reinvent the wheel? Oracle has shown demos for JavaFX on iOS, Android and Windows two years ago on JavaOne 2011. So there seams to be already a solution there! Where are the guys here who created these demos n JavaOne 2011? Best regards, Tobi Am 17.10.2012 um 16:39 schrieb Mario Torre : > 2012/10/17 Daniel Zwolenski : >> So Oracle as an organization doesn't think JavaFX can be a player in the >> web/enterprise space and is backing HTML5. I don't agree, JavaFX has the * >> potential* to be better. But it's a long way behind and gotten off to a >> rocky start; there's a hell of a lot of work to be done and the current >> rate, strategy and direction are not going to be nearly enough. >> >> Oracle is a big corporation with many different divisions. The left arm >> doesn't know what the right is doing. So let's put aside 'oracle' for a >> moment. I want to know: what does the JavaFX team think? Do you want to go >> up against HTML5 for the client space, or just settle for a spot on the >> fringe? > > Well, you know, somehow there is people that think HTML 5 has a market > and other people that think JavaFX is the future, perhaps those both > have a market and a future? > > It makes a lot of sense to support one product *and* the other, and it > especially makes sense to support one over the other in some context > at times: if you think rationally there are limited resources even in > huge corporations like Oracle; I can see why some management folks > make decision like this, they probably go where they think there is > money, and I can also see how they piss everybody else off by doing > this ;) > > There is only one solution for this, once the code is out, put your > own time in it to get it where nobody else has before. No, really. > Seriously. When Richard ask you to contribute, he really means it. > > And it's not about Oracle being crazy here, every Open Source project > works the same way, really. People do choices, somebody doesn't agree, > then just grab the code and fix what's wrong... > > Whoops... now I hear you say it! Where's the code? This is really a > question for Richard then :) > > But really, this is the only thing to worry about and that we need to > keep asking aloud, all the rest will come by. [1] > > Cheers, > Mario > > [1] And to be honest, I love this thread even if I think the questions > are all the other way around, because it shows there's a community out > there that really wants this code to be out sooner. > -- > pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF > Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF > > IcedRobot: www.icedrobot.org > Proud GNU Classpath developer: http://www.classpath.org/ > Read About us at: http://planet.classpath.org > OpenJDK: http://openjdk.java.net/projects/caciocavallo/ > > Please, support open standards: > http://endsoftpatents.org/ From peter.pilgrim at gmail.com Wed Oct 17 09:01:36 2012 From: peter.pilgrim at gmail.com (Peter Pilgrim) Date: Wed, 17 Oct 2012 17:01:36 +0100 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: <5983853290558174241@unknownmsgid> Richard Bair gave a presentation on rich text components vis-a-vis TextPane and TextFlow at JavaOne Supporting styles, bidirectional flow, Arabic /Hebrew maybe Chinese?, proper text wrapping and flowing around a defined area. So in affect we should be all able to write IDE in JavaFX If Kim is lurking about still on this list, he will definite understand the verbosity of the old Swing style text document Apis , I expect better with the new FX text Apis in Fx8 Sent from my iPhone 4S On 17 Oct 2012, at 16:34, Mark Claassen wrote: > I am not as concerned in the "bridge" as I am in the framework. Although I > agree a bridge is necessary, and would like it to work well. > > My comment is more about being on a track to where someone could > (eventually) build Netbeans from scratch using only JavaFX. The customized > window behavior, the Drag and Drop, the little tooltip-like popup windows > used in the tree renderers to show the text that is not visible because of > the visible bounds of the tree, ... all of it. > > What about the document model? The Swing javax.swing.text.Document > interface is pretty powerful. The way it seems implemented in JavaFX does > not seem nearly as powerful, or as pluggable. > > Mark > > On Wed, Oct 17, 2012 at 11:21 AM, Mario Torre < > neugens.limasoftware at gmail.com> wrote: > >> """ >> This thread is interesting. I've seen at J1 some tools using JavaFX >> with the SWT bridge. The Swing one will also work equally well. We >> also have (we need to put some love to make it work on 2.2 >> """ >> >> Somehow this got cut, I meant: >> >> This thread is interesting. I've seen at J1 some tools using JavaFX >> with the SWT bridge. The Swing one will also work equally well. We >> also have (we need to put some love to make it work on 2.2) that >> can be used to embed Swing on top of JavaFX (the other way around). >> >> Cheers, >> Mario >> >> 2012/10/17 Mario Torre : >>> 2012/10/17 Mark Claassen : >>>> I joined this list a few days ago because I wanted to start contributing >>>> So far, I am not sure it is quite where I should be. I would like to >>>> discuss more about the components (table, list boxes, ...). I am not >>>> exactly sure where to do that. >>> >>> You just unfortunately ended up subscribing to this list in the middle >>> of a storm :) >>> >>> But this list has been used in the past to discuss components and >>> details of the implementation, so this is definitely the right place >>> to start discussing those things. >>> >>> @Richard: Perhaps it would be more fun to simply have a list dedicated >>> to flaming Oracle for supporting HTML 5 rather than JavaFX :) >>> >>>> However, I will add here that I started (a very short-lived) thread on >> the >>>> netbeans user list along these lines. Basically what I was saying was >> that >>>> Netbeans is a wonderful UI built on Swing. Could this same project be >> done >>>> in JavaFX? Maybe not yet, but could it be in the future? It seems like >>>> the JavaFX team could get a lot of advice and requirements from the >>>> netbeans team. >>>> >>>> http://forums.netbeans.org/topic51717.html >>> >>> This thread is interesting. I've seen at J1 some tools using JavaFX >>> with the SWT bridge. The Swing one will also work equally well. We >>> also have (we need to put some love to make it work on 2.2 >>> >>> The big trouble is #2, this will only work if: >>> >>> 1. Netbeans can ship JavaFX >>> 2. JavaFX is included in any major OpenJDK/JDK releases (that means, >>> including distribution related IcedTea builds). >>> >>> For both options, JavaFX needs to be fully Open Sourced, or even >>> NetBeans will fall back into non free bits, so I agree with them. >>> >>>> Some of the main data structures, like the ObservableList, make me >> cringe. >>>> I created a similar structure 10 years ago and have since learned the >> error >>>> of my ways. Granted, the JavaFX team has a lot more resources and >>>> experience than I did all those years ago, but from my point of view, >> there >>>> are dangerous waters ahead. >>> >>> I'm sure this is the kind of discussion mostly welcomed on this list, >>> after all, this is what makes it a community project. >>> >>> Cheers, >>> Mario >>> -- >>> pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF >>> Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF >>> >>> IcedRobot: www.icedrobot.org >>> Proud GNU Classpath developer: http://www.classpath.org/ >>> Read About us at: http://planet.classpath.org >>> OpenJDK: http://openjdk.java.net/projects/caciocavallo/ >>> >>> Please, support open standards: >>> http://endsoftpatents.org/ >> >> >> >> -- >> pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF >> Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF >> >> IcedRobot: www.icedrobot.org >> Proud GNU Classpath developer: http://www.classpath.org/ >> Read About us at: http://planet.classpath.org >> OpenJDK: http://openjdk.java.net/projects/caciocavallo/ >> >> Please, support open standards: >> http://endsoftpatents.org/ >> From markclaassenx at gmail.com Wed Oct 17 10:07:56 2012 From: markclaassenx at gmail.com (Mark Claassen) Date: Wed, 17 Oct 2012 13:07:56 -0400 Subject: TextField Document model Message-ID: JTextComponents (like JTextField) has a javax.swing.text.Document model that made it pretty easy to create a text field that only allowed a certain number of characters in it. Similarly, it was also easy to make a Document model that took all input, but forced characters to upper case. @Override public void insertString(int offs, String str, AttributeSet a) throws BadLocationException { } What is there going to be in JavaFX to accomplish the same goals? Mark From david.dehaven at oracle.com Wed Oct 17 10:32:08 2012 From: david.dehaven at oracle.com (David DeHaven) Date: Wed, 17 Oct 2012 10:32:08 -0700 Subject: Proposed changes to media Track and children In-Reply-To: References: Message-ID: <1E02346F-81D2-417F-AF3C-EB308D7CD956@oracle.com> > Option 1> > Make the following changes to Track and it's subclasses: > Changes to Track: > - Add public final Locale getLocale(), returns a Locale if one is provided by the container or null if not > - Add public final long getTrackId(), returns a unique numeric track ID that will be used by the stack to identify this specific track > - Add public final Map getMetadata(), returns any metadata specific to this Track (returned Map is an UnmodifiableMap for security) > > Changes to AudioTrack: > - getLanguage(): deprecate, "use Track.getLocale() instead." Which is all that method does now anyways. So that's essentially two votes for option 1. My time has been cut short on this project so I will go ahead and commit this change. If there are any objections please bring them up here or in JIRA and the media team can handle it. -DrD- From swpalmer at gmail.com Wed Oct 17 11:05:31 2012 From: swpalmer at gmail.com (Scott Palmer) Date: Wed, 17 Oct 2012 14:05:31 -0400 Subject: TextField Document model In-Reply-To: References: Message-ID: <2E5466E3-F28F-47C4-B6D1-E60766CE8A0E@gmail.com> The JavaFX TextField drops the DocumentModel (which generally just gets in the way for a simple one line text field) and just does what it is supposed to. All of the properties like caretPosition and selection are as they should be, and using an event filter you can easily deal with things like making a control that forces everything to uppercase. If you want to insert a String (in this case at the caret position): String text = textField.getText(); int pos = textField.getCaretPosition(); String newString = text.subString(0,pos) + insertedText + text.substring(pos, text.length()); textField.setText(newString); textField.positionCaret(pos+insertedText.length()); In other words - very straightforward. It works simply and as expected. To limit the number of characters use an event filter and consume Key Typed events if the length is too great. I think the model used in JavaFX is a great improvement on Swing. The properties and event model make extending things relatively easy. There are still some rough edges.. but it is moving in the right direction. More importantly it is moving! Bugs submitted are reacted to quickly. Just a couple weeks ago I submitted a bug on a Saturday morning and it was evaluated and assigned within fifteen minutes! It's so encouraging to see activity on the issues I've reported. Scott On 2012-10-17, at 1:07 PM, Mark Claassen wrote: > JTextComponents (like JTextField) has a javax.swing.text.Document model > that made it pretty easy to create a text field that only allowed a certain > number of characters in it. Similarly, it was also easy to make a Document > model that took all input, but forced characters to upper case. > > @Override > public void insertString(int offs, String str, AttributeSet a) throws > BadLocationException { > > } > > What is there going to be in JavaFX to accomplish the same goals? > > Mark From java.whoover at gmail.com Wed Oct 17 11:13:18 2012 From: java.whoover at gmail.com (Will Hoover) Date: Wed, 17 Oct 2012 14:13:18 -0400 Subject: TextField Document model In-Reply-To: References: Message-ID: <507ef547.41c5ec0a.2e1f.7e39@mx.google.com> Have you tried: final TextField tf = new TextField() { final String restictTo = "[A-Z\\s]*"; @Override public void replaceText(int start, int end, String text) { if (matchTest(text)) { super.replaceText(start, end, text); } } @Override public void replaceSelection(String text) { if (matchTest(text)) { super.replaceSelection(text); } } private boolean matchTest(String text) { return text.isEmpty() || text.matches(restictTo); } }; -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark Claassen Sent: Wednesday, October 17, 2012 1:08 PM To: openjfx-dev at openjdk.java.net Subject: TextField Document model JTextComponents (like JTextField) has a javax.swing.text.Document model that made it pretty easy to create a text field that only allowed a certain number of characters in it. Similarly, it was also easy to make a Document model that took all input, but forced characters to upper case. @Override public void insertString(int offs, String str, AttributeSet a) throws BadLocationException { } What is there going to be in JavaFX to accomplish the same goals? Mark From markclaassenx at gmail.com Wed Oct 17 13:01:51 2012 From: markclaassenx at gmail.com (Mark Claassen) Date: Wed, 17 Oct 2012 16:01:51 -0400 Subject: ObservableList vs Models Message-ID: I really like the promise of the ObservableList, but am a bit wary of the current implementation. We have several instances in our code where we rely on unique models wrapping the same data. We can have a large list of items, and show them in a combo box, and list, and a table. Generally, only one of these is visible at a given time, but having a single backing list is very handy. Further, each list can be independently sorted and filtered via a decorator construct in the model. By tweaking the underlying list object (so it fires events) and model (so that it listens to events), we accomplished something similar to an ObservableList: * Changes to the underlying list fires events to the models * Models could then respond as appropriate, add/deleting/changing items as necessary...perhaps triggering the view to re-sort the decorator as necessary However, different from ObservableList, we can manage the side-effects...not sorting and filtering all models in an identical fashion. Is there a mechanism to do this in JavaFX? The Swing methodology seemed a nice way to do it. With ObservableLists, it seems that in the end, I don't get much. The more common / trivial case is handled. However, in the case of a our application, I will need to * Make several ObservableLists, one for each control * Manage the synchronization between these lists programmaticly by myself. Am I missing something? Is there a way to have an ObservableList listening to another ObservableList, so that list #2 can notice the updates without forcing the sort order and filtering on list #1? Or am I just going to end up having to cut through extra/different layers of abstraction to re-implement what I had in Swing. Mark From zonski at gmail.com Wed Oct 17 13:03:18 2012 From: zonski at gmail.com (Daniel Zwolenski) Date: Thu, 18 Oct 2012 07:03:18 +1100 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: <523653E9-E2AC-4FAD-AEAA-7C5169244887@gmail.com> I tried. I'm out. You guys can breathe easy - the 'negative guy' will shut up now and leave you to your own devices. One last thing before I bow out: "For goodness sake contribute?" - I have contributed several 100 hours writing a blog on how to force JavaFX into working in an enterprise stack. All of this on weekends and in late evenings. - I have contributed long, long hours reviewing and discussing JFX on this list. As part of community discussions, many of those things have directly influenced the JFX platform. - I have contributed many hours prototyping Auto Updating code which is open source and available for review and contribution. I had no help and little response from JFX or the community on this. I identified a show stopper feature that I needed to make the solution actually work on the current platform, raised it with JFX to which the response was "I'll think about it". This was months ago - there has been silence on the topic since so little point in continuing with this contribution, making the original effort completely pointless. - I have contributed many hours working out ways to get Maven integration working - critical for enterprise adoption. I worked with other community members to find work arounds and strategies. We identified a DLL load issue. I offered to contribute the code to make this maven friendly (the response was "not our problem"). We identified a legal hurdle and I identified the line in the contract that was the problem (the response was "too hard to fix"). I wrote half the plugin, hacking around the previous issues, and asked for access to some documentation on the packaging tools or assistance in doing this (the response was silence). - I have contributed an open source wrapper around a cross-platform camera capture program that can integrate into jfx while we wait for the jfx platform to include this highly ranked feature in jira - I have contributed hundreds of hours supporting the JFX forum, fostering community growth and uptake. I am still ranked somewhere in the top 10 helpers even after not answering anything for several months. - I have contributed numerous bug submissions and feature enhancements to JIRA and commented on many more. - I have contributed to the advocacy of the JFX platform by giving a talk on it at a local JUG at the request of Jonathon Giles. - I contributed by responding to a direct request from Richard to discuss and prototype a JFX 'browser' for some conference he was doing. After kicking off the discussion with some initial emails, and starting me working on stuff, he then got distracted, failed to respond to emails and generally didn't bother following up, even just to let me know if it was/wasn't useful for his needs and whether to keep going or stop. - I have contributed ways to improve the use of JIRA, including improving the use of the voting mechanism. I contributed a dashboard but jfx couldn't be bothered to enable dashboard sharing. I then contributed the queries needed directly to Richard. (at his request) which was then ignored. - I have contributed my own development reputation with my commercial clients by championing the jfx platform to them. The one client I convinced to use the platform has been severely hampered by deployment and build issues and lack of any significant uptake of the platform (so no skilled developers available and no one interested in making the switch) and are currently evaluating a total rewrite in HTML. I look like a chump. - I have contributed a proposal to address the fact that Oracle is openly backing a competitor platform and not jfx in the enterprise space - the response was "there is no problem" and "raise a jira issue". What exactly is it you want me to "contribute for goodness sake"? Blood? Or do I need to check in to your source tree for it to count? Hot tip: you need to actually provide a clear, well documented way for people to get, build and run your code (preferably in a way that doesn't involve 16 magical steps and putting our local Dev environment at risk of getting munged - we have actual work to do that requires a stable jfx environment) if you want that to happen. "Goodness sake" is a good way of putting it since there is little other incentive for contributing. None of these contributions have had any kind of gain for me, monetary, professional or otherwise. The payoff should have been a platform I could use but that investment hasn't panned out. This dismissive comment about contributing really rams home how you, Richard, personally feel about contributions so far. Nice. Are you feeling like you're not getting enough "contributions"? Maybe you should have a look at how you've responded to the attempts (not just by me) to contribute so far. Do you think you're making it easy or rewarding to contribute? Are you supporting your contributors by clearing obstacles they identify, addressing or even responding to issues they raise (read back through the dozens of maven emails if you really think so). Based on my experiences, I would say your hearts in the right place but this is definitely not translating into anything tangible for contributors. On 18/10/2012, at 1:23 AM, Richard Bair wrote: > We are already doing everything on your list (which was pretty void of specifics). > Please list specific work projects, linked to specific JIRA issues, and vote for them and for goodness sake contribute! > > > > > On Oct 17, 2012, at 12:49 AM, Daniel Zwolenski wrote: > >> So Oracle as an organization doesn't think JavaFX can be a player in the >> web/enterprise space and is backing HTML5. I don't agree, JavaFX has the * >> potential* to be better. But it's a long way behind and gotten off to a >> rocky start; there's a hell of a lot of work to be done and the current >> rate, strategy and direction are not going to be nearly enough. >> >> Oracle is a big corporation with many different divisions. The left arm >> doesn't know what the right is doing. So let's put aside 'oracle' for a >> moment. I want to know: what does the JavaFX team think? Do you want to go >> up against HTML5 for the client space, or just settle for a spot on the >> fringe? >> >> Below is what I propose. >> >> This proposal needs the full backing of the JavaFX team and management. >> Specifically it needs: >> >> 1. Belief that JavaFX can and should be the *number one* client >> development platform for enterprise. >> 2. Recognition that the current strategy will not make that happen. >> 3. Resources (aka people) allocated to the working group outlined below. >> These people must have enough influence in the JFX platform to legitimately >> be able to influence the direction as needed. >> 4. Commitment to supporting this working group fully and implementing >> the strategies and recommendations that come out of it as a high priority >> 5. A sense of urgency, and a proactive pursuit of achieving these goals >> with a well defined timeline (i.e. "resources will be allocated by November >> 2012" not "we're working on it"). >> >> In my opinion, all of these must be met 100%. Otherwise there is no point >> starting at all and better to let it go and leave the enterprise space to >> other players like HTML5 as 'Oracle' is suggesting. This is your call. >> >> I believe JavaFX can be the best platform for client-side enterprise >> application development, capitalising-on, and adding-to Java's dominance in >> server side enterprise development. >> >> Do you? >> >> >> *Proposal to form a working group for JavaFX in the enterprise* >> >> Mission: >> >> - to position JavaFX as *the* dominant client-side development platform >> for enterprise/business applications >> >> >> Members: >> >> - a combination of paid Oracle JavaFX team members, and community >> participants. The Oracle members must have the ability to access senior >> JavaFX management and technical decision makers, and as such influence the >> road map and direction of the JavaFX platform. Community members will be >> those with a background and experience in the enterprise space and who are >> committed to making JavaFX the platform of choice in this space. >> >> >> Responsibilities: >> >> - Continuously identify improvements to the JavaFX platform that are >> needed to ensure adoption by enterprise; drive the inclusion of these into >> the JavaFX platform. >> >> - Continuously identify and monitor trends and developments within the >> enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and >> ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's >> long term viability for their needs. >> >> - Provide best practices, community/forum support, documentation, >> examples, tool add-ons, frameworks and other aids for integrating JavaFX >> into popular enterprise technology stacks >> >> - Provide advocacy, publicity and drive general engagement and outreach >> programs for the adoption of JavaFX in the enterprise. >> >> >> Objectives: >> >> Objectives will be determined by the working group once formed, however >> initial objectives will likely include the following: >> >> - Review the current deployment/distribution options for JavaFX and >> determine ways to improve this to make it competitive with other popular >> enterprise client platforms (e.g. HTML+JavaScript) for primary enterprise >> OS' and platforms >> >> - Identify the most popular enterprise build and development tools and >> determine a strategy for making JavaFX integrate into these >> >> - Review popular trends and toolkits within competitive platforms and >> define the ideal frameworks and add-on tools needed by an enterprise client >> (e.g. form validation). Use this list of high-level requirements to >> determine the low-level JavaFX enhancements needed (e.g. allow field >> markers so that a 3rd party validation framework could leverage these). >> >> - Create a demonstration enterprise application (along the lines of >> PetClinic) demonstrating best practice for integrating JavaFX in a full, >> end-to-end JEE stack. >> >> >> Longer term objectives may include: >> >> - Develop (or foster community development of) the high-level frameworks >> that have been identified as necessary for JavaFX in the enterprise. These >> will likely be developed as third-party modules external to the JavaFX core >> framework (i.e. built on top of the features provided by the core JavaFX >> team). >> >> - Provide integration with existing or new Rapid Application Development >> (RAD) tools popular within the enterprise Java space (e.g. ROO, etc). From markclaassenx at gmail.com Wed Oct 17 13:41:03 2012 From: markclaassenx at gmail.com (Mark Claassen) Date: Wed, 17 Oct 2012 16:41:03 -0400 Subject: TextField Document model In-Reply-To: References: <507ef547.41c5ec0a.2e1f.7e39@mx.google.com> Message-ID: Thanks for the tips. The overriding method does not seem very pluggable, so I started with the event filter. I like the idea of an event filter, and I really like the how JavaFX defined the process and the order in which items will receive events. So, I quickly implemented my event filter like this: input.addEventFilter(KeyEvent. KEY_TYPED, new EventHandler() { @Override public void handle(KeyEvent t) { if (input.getText().length() >=10) t.consume(); } }); This works for typing, but, of course, I can paste whatever I wanted. (Perhaps I need to find a second filter for that? How about DnD?) All input events go through the Swing Document, so with that, there was just one method to mess with. Further, I currently have a Document implementation that takes user input and converts it to upper case. (It doesn't force the user to type in an upper case character, it just converts it if it is not.) Since, in the case of a Document, I can control exactly what the data is, this is pretty straightforward. How is that accomplished here? Consume the event, and then first a new modified copy of the original. Or do I need to start overriding various methods? On Wed, Oct 17, 2012 at 4:40 PM, Mark Claassen wrote: > Thanks for the tips. The overriding method does not seem very pluggable, > so I started with the event filter. > > I like the idea of an event filter, and I really like the how JavaFX > defined the process and the order in which items will receive events. > > So, I quickly implemented my event filter like this: > input.addEventFilter(KeyEvent.KEY_TYPED, new > EventHandler() { > @Override > public void handle(KeyEvent t) { > if (input.getText().length() >=10) > t.consume(); > } > }); > > This works for typing, but, of course, I can paste whatever I wanted. > (Perhaps I need to find a second filter for that? How about DnD?) > > All input events go through the Swing Document, so with that, there was > just one method to mess with. > > Further, I currently have a Document implementation that takes user input > and converts it to upper case. (It doesn't force the user to type in an > upper case character, it just converts it if it is not.) Since, in the > case of a Document, I can control exactly what the data is, this is pretty > straightforward. How is that accomplished here? Consume the event, and > then first a new modified copy of the original. Or do I need to start > overriding various methods? > > Mark > > > > > > > On Wed, Oct 17, 2012 at 2:13 PM, Will Hoover wrote: > >> Have you tried: >> >> final TextField tf = new TextField() { >> final String restictTo = "[A-Z\\s]*"; >> @Override >> public void replaceText(int start, int end, String text) { >> if (matchTest(text)) { >> super.replaceText(start, end, text); >> } >> } >> @Override >> public void replaceSelection(String text) { >> if (matchTest(text)) { >> super.replaceSelection(text); >> } >> } >> private boolean matchTest(String text) { >> return text.isEmpty() || text.matches(restictTo); >> } >> }; >> >> -----Original Message----- >> From: openjfx-dev-bounces at openjdk.java.net >> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark Claassen >> Sent: Wednesday, October 17, 2012 1:08 PM >> To: openjfx-dev at openjdk.java.net >> Subject: TextField Document model >> >> JTextComponents (like JTextField) has a javax.swing.text.Document model >> that >> made it pretty easy to create a text field that only allowed a certain >> number of characters in it. Similarly, it was also easy to make a >> Document >> model that took all input, but forced characters to upper case. >> >> @Override >> public void insertString(int offs, String str, AttributeSet a) throws >> BadLocationException { >> >> } >> >> What is there going to be in JavaFX to accomplish the same goals? >> >> Mark >> >> > From hang.vo at oracle.com Wed Oct 17 13:47:57 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Wed, 17 Oct 2012 20:47:57 +0000 Subject: hg: openjfx/8/graphics/rt: RT-25434 - FindBugs issue Message-ID: <20121017204803.2DA3D473F3@hg.openjdk.java.net> Changeset: 609ede4dbba0 Author: Morris Meyer Date: 2012-10-17 16:32 -0400 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/609ede4dbba0 RT-25434 - FindBugs issue ! javafx-ui-common/src/com/sun/javafx/tk/ImageLoader.java ! javafx-ui-common/src/javafx/scene/image/Image.java ! test-stub-toolkit/src/com/sun/javafx/pgstub/StubImageLoader.java ! test-stub-toolkit/src/com/sun/javafx/pgstub/StubImageLoaderFactory.java From swpalmer at gmail.com Wed Oct 17 14:05:13 2012 From: swpalmer at gmail.com (Scott Palmer) Date: Wed, 17 Oct 2012 17:05:13 -0400 Subject: TextField Document model In-Reply-To: References: <507ef547.41c5ec0a.2e1f.7e39@mx.google.com> Message-ID: Using the override mechanism that Will suggested is probably easier for converting to uppercase. final TextField allCapsTextField = new TextField() { @Override public void replaceText(int start, int end, String text) { super.replaceText(start, end, text.toUppercase()); } @Override public void replaceSelection(String text) { super.replaceSelection(text.toUppercase()); } }; or you could still use the Event Filter and handle the insertion of the characters manually if they are lowercase and then consume the event. I think that will be more work and be more error-prone though. As you mention you would have to handle pasting and drag and drop and all ugly details. Overriding seems cleaner. Perhaps you should take a look at the source code to TextInputControl. Instead of the Document they have a Content interface. Maybe you can do some of what you want by overriding getContent(). Scott On 2012-10-17, at 4:41 PM, Mark Claassen wrote: > Thanks for the tips. The overriding method does not seem very pluggable, > so I started with the event filter. > > I like the idea of an event filter, and I really like the how JavaFX > defined the process and the order in which items will receive events. > > So, I quickly implemented my event filter like this: > input.addEventFilter(KeyEvent. > KEY_TYPED, new EventHandler() { > @Override > public void handle(KeyEvent t) { > if (input.getText().length() >=10) > t.consume(); > } > }); > > This works for typing, but, of course, I can paste whatever I wanted. > (Perhaps I need to find a second filter for that? How about DnD?) > > All input events go through the Swing Document, so with that, there was > just one method to mess with. > > Further, I currently have a Document implementation that takes user input > and converts it to upper case. (It doesn't force the user to type in an > upper case character, it just converts it if it is not.) Since, in the > case of a Document, I can control exactly what the data is, this is pretty > straightforward. How is that accomplished here? Consume the event, and > then first a new modified copy of the original. Or do I need to start > overriding various methods? > > > On Wed, Oct 17, 2012 at 4:40 PM, Mark Claassen wrote: > >> Thanks for the tips. The overriding method does not seem very pluggable, >> so I started with the event filter. >> >> I like the idea of an event filter, and I really like the how JavaFX >> defined the process and the order in which items will receive events. >> >> So, I quickly implemented my event filter like this: >> input.addEventFilter(KeyEvent.KEY_TYPED, new >> EventHandler() { >> @Override >> public void handle(KeyEvent t) { >> if (input.getText().length() >=10) >> t.consume(); >> } >> }); >> >> This works for typing, but, of course, I can paste whatever I wanted. >> (Perhaps I need to find a second filter for that? How about DnD?) >> >> All input events go through the Swing Document, so with that, there was >> just one method to mess with. >> >> Further, I currently have a Document implementation that takes user input >> and converts it to upper case. (It doesn't force the user to type in an >> upper case character, it just converts it if it is not.) Since, in the >> case of a Document, I can control exactly what the data is, this is pretty >> straightforward. How is that accomplished here? Consume the event, and >> then first a new modified copy of the original. Or do I need to start >> overriding various methods? >> >> Mark >> >> >> >> >> >> >> On Wed, Oct 17, 2012 at 2:13 PM, Will Hoover wrote: >> >>> Have you tried: >>> >>> final TextField tf = new TextField() { >>> final String restictTo = "[A-Z\\s]*"; >>> @Override >>> public void replaceText(int start, int end, String text) { >>> if (matchTest(text)) { >>> super.replaceText(start, end, text); >>> } >>> } >>> @Override >>> public void replaceSelection(String text) { >>> if (matchTest(text)) { >>> super.replaceSelection(text); >>> } >>> } >>> private boolean matchTest(String text) { >>> return text.isEmpty() || text.matches(restictTo); >>> } >>> }; >>> >>> -----Original Message----- >>> From: openjfx-dev-bounces at openjdk.java.net >>> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark Claassen >>> Sent: Wednesday, October 17, 2012 1:08 PM >>> To: openjfx-dev at openjdk.java.net >>> Subject: TextField Document model >>> >>> JTextComponents (like JTextField) has a javax.swing.text.Document model >>> that >>> made it pretty easy to create a text field that only allowed a certain >>> number of characters in it. Similarly, it was also easy to make a >>> Document >>> model that took all input, but forced characters to upper case. >>> >>> @Override >>> public void insertString(int offs, String str, AttributeSet a) throws >>> BadLocationException { >>> >>> } >>> >>> What is there going to be in JavaFX to accomplish the same goals? >>> >>> Mark >>> >>> >> From knut.arne.vedaa at broadpark.no Wed Oct 17 14:10:52 2012 From: knut.arne.vedaa at broadpark.no (Knut Arne Vedaa) Date: Wed, 17 Oct 2012 23:10:52 +0200 Subject: ObservableList vs Models In-Reply-To: References: Message-ID: <507F1EDC.70006@broadpark.no> So what you want is one single backing list, and any numbers of "views" into that list that can be independently sorted and filtered without changing or making a copy of the backing list, with these views being observable as well? I'm not sure if this would be possible, but probably the implementations of the upcoming SortedList and FilteredList (http://javafx-jira.kenai.com/browse/RT-17053) will shed some light on the issue. Perhaps someone in the know could give some info on the features of those and how and if they relate to OPs question... Knut Arne Vedaa On 17.10.2012 22:01, Mark Claassen wrote: > I really like the promise of the ObservableList, but am a bit wary of the > current implementation. > > We have several instances in our code where we rely on unique models > wrapping the same data. We can have a large list of items, and show them > in a combo box, and list, and a table. Generally, only one of these is > visible at a given time, but having a single backing list is very handy. > > Further, each list can be independently sorted and filtered via a decorator > construct in the model. > > By tweaking the underlying list object (so it fires events) and model (so > that it listens to events), we accomplished something similar to an > ObservableList: > * Changes to the underlying list fires events to the models > * Models could then respond as appropriate, add/deleting/changing items as > necessary...perhaps triggering the view to re-sort the decorator as > necessary > > However, different from ObservableList, we can manage the > side-effects...not sorting and filtering all models in an identical fashion. > > Is there a mechanism to do this in JavaFX? The Swing methodology seemed a > nice way to do it. With ObservableLists, it seems that in the end, I don't > get much. The more common / trivial case is handled. However, in the case > of a our application, I will need to > * Make several ObservableLists, one for each control > * Manage the synchronization between these lists programmaticly by myself. > > Am I missing something? Is there a way to have an ObservableList > listening to another ObservableList, so that list #2 can notice the updates > without forcing the sort order and filtering on list #1? Or am I just > going to end up having to cut through extra/different layers of abstraction > to re-implement what I had in Swing. > > Mark > From mcdonnell.john at gmail.com Wed Oct 17 14:22:02 2012 From: mcdonnell.john at gmail.com (John McDonnell) Date: Wed, 17 Oct 2012 22:22:02 +0100 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: <523653E9-E2AC-4FAD-AEAA-7C5169244887@gmail.com> References: <523653E9-E2AC-4FAD-AEAA-7C5169244887@gmail.com> Message-ID: I have to say reading these emails the last week or two have been pretty depressing. I am in the middle of developing in my spare time a JavaFX UI to show as a proof of concept that JavaFX could replace out approx 10 year old swing UI, and I just don't know where I am wasting my time and I should jump ship to investigate HTML 5, or if I should just continue on. There are issues with JavaFX that have been highlighted in the last 2 weeks, and I am really not sure where this technology is going... Dan's original email in this thread pointed out a way forward, a way in which we could actually see some traction in getting things done, but all we got was the response "For goodness sake contribute?", and at the moment that appears to be the company line from Oracle. It seems like they have given us this wonderful tool in one hand but then in the other hand theres obstacles to leap through. There is an active community, as the last few weeks have shown there are plenty of people really interested in JavaFX, but when it doesn't have decent support for enterprise applications, or even proper cross platform support* why bother? * Oracle it is 2012, cross platform is no longer, Windows, Linux and Mac, it now includes handheld OS's like iOS, Android, Windows RT, etc, as a UI framework, handheld devices are no longer second class citizens, they are the core computers in use today... JavaFX 8 will be out in the middle of next year and it just seems to me that the current schedule seems too slow paced. By the time it is out, where/how strong, will other tools like HTML5 be? Will JavaFX8 still be lagging behind? Will it still have known/important problems? - Granted the boot classpath issue will be solved, but then your going to have the problem of trying to get people to return to looking at JavaFX as an alternative to HTML5. The one plus for me at the moment is I am an average Java programmer, ans so for JavaFX I don't have to learn anything too drastic in order to get something up off the ground to demo to my bosses, where as with HTML5 it will take time, theres no question that I need to invest time into learning it, but I know that that will be a skill worth investing in, where as I am starting not to see the benefits of investing time in becoming a JavaFX UI developer. If I look now at indeed.com[1] and I search "JavaFX", 56[2] Job listings, and if I search "HTML5", 9,632... John McDonnell [1] I live in Ireland, so I went with the first America Job site I found. - An Irish job site, jobs.ie has 0 JavaFX jobs :( [2] A lot of those seem to be JavaFX 1.3 jobs.... On 17 October 2012 21:03, Daniel Zwolenski wrote: > I tried. I'm out. You guys can breathe easy - the 'negative guy' will shut > up now and leave you to your own devices. > > One last thing before I bow out: > > "For goodness sake contribute?" > > - I have contributed several 100 hours writing a blog on how to force > JavaFX into working in an enterprise stack. All of this on weekends and in > late evenings. > > - I have contributed long, long hours reviewing and discussing JFX on this > list. As part of community discussions, many of those things have directly > influenced the JFX platform. > > - I have contributed many hours prototyping Auto Updating code which is > open source and available for review and contribution. I had no help and > little response from JFX or the community on this. I identified a show > stopper feature that I needed to make the solution actually work on the > current platform, raised it with JFX to which the response was "I'll think > about it". This was months ago - there has been silence on the topic since > so little point in continuing with this contribution, making the original > effort completely pointless. > > - I have contributed many hours working out ways to get Maven integration > working - critical for enterprise adoption. I worked with other community > members to find work arounds and strategies. We identified a DLL load > issue. I offered to contribute the code to make this maven friendly (the > response was "not our problem"). We identified a legal hurdle and I > identified the line in the contract that was the problem (the response was > "too hard to fix"). I wrote half the plugin, hacking around the previous > issues, and asked for access to some documentation on the packaging tools > or assistance in doing this (the response was silence). > > - I have contributed an open source wrapper around a cross-platform camera > capture program that can integrate into jfx while we wait for the jfx > platform to include this highly ranked feature in jira > > - I have contributed hundreds of hours supporting the JFX forum, fostering > community growth and uptake. I am still ranked somewhere in the top 10 > helpers even after not answering anything for several months. > > - I have contributed numerous bug submissions and feature enhancements to > JIRA and commented on many more. > > - I have contributed to the advocacy of the JFX platform by giving a talk > on it at a local JUG at the request of Jonathon Giles. > > - I contributed by responding to a direct request from Richard to discuss > and prototype a JFX 'browser' for some conference he was doing. After > kicking off the discussion with some initial emails, and starting me > working on stuff, he then got distracted, failed to respond to emails and > generally didn't bother following up, even just to let me know if it > was/wasn't useful for his needs and whether to keep going or stop. > > - I have contributed ways to improve the use of JIRA, including improving > the use of the voting mechanism. I contributed a dashboard but jfx couldn't > be bothered to enable dashboard sharing. I then contributed the queries > needed directly to Richard. (at his request) which was then ignored. > > - I have contributed my own development reputation with my commercial > clients by championing the jfx platform to them. The one client I convinced > to use the platform has been severely hampered by deployment and build > issues and lack of any significant uptake of the platform (so no skilled > developers available and no one interested in making the switch) and are > currently evaluating a total rewrite in HTML. I look like a chump. > > - I have contributed a proposal to address the fact that Oracle is openly > backing a competitor platform and not jfx in the enterprise space - the > response was "there is no problem" and "raise a jira issue". > > What exactly is it you want me to "contribute for goodness sake"? Blood? > Or do I need to check in to your source tree for it to count? Hot tip: you > need to actually provide a clear, well documented way for people to get, > build and run your code (preferably in a way that doesn't involve 16 > magical steps and putting our local Dev environment at risk of getting > munged - we have actual work to do that requires a stable jfx environment) > if you want that to happen. > > "Goodness sake" is a good way of putting it since there is little other > incentive for contributing. None of these contributions have had any kind > of gain for me, monetary, professional or otherwise. The payoff should have > been a platform I could use but that investment hasn't panned out. > > This dismissive comment about contributing really rams home how you, > Richard, personally feel about contributions so far. Nice. > > Are you feeling like you're not getting enough "contributions"? Maybe you > should have a look at how you've responded to the attempts (not just by me) > to contribute so far. Do you think you're making it easy or rewarding to > contribute? Are you supporting your contributors by clearing obstacles they > identify, addressing or even responding to issues they raise (read back > through the dozens of maven emails if you really think so). Based on my > experiences, I would say your hearts in the right place but this is > definitely not translating into anything tangible for contributors. > > > On 18/10/2012, at 1:23 AM, Richard Bair wrote: > > > We are already doing everything on your list (which was pretty void of > specifics). > > Please list specific work projects, linked to specific JIRA issues, and > vote for them and for goodness sake contribute! > > > > > > > > > > On Oct 17, 2012, at 12:49 AM, Daniel Zwolenski wrote: > > > >> So Oracle as an organization doesn't think JavaFX can be a player in the > >> web/enterprise space and is backing HTML5. I don't agree, JavaFX has > the * > >> potential* to be better. But it's a long way behind and gotten off to a > >> rocky start; there's a hell of a lot of work to be done and the current > >> rate, strategy and direction are not going to be nearly enough. > >> > >> Oracle is a big corporation with many different divisions. The left arm > >> doesn't know what the right is doing. So let's put aside 'oracle' for a > >> moment. I want to know: what does the JavaFX team think? Do you want to > go > >> up against HTML5 for the client space, or just settle for a spot on the > >> fringe? > >> > >> Below is what I propose. > >> > >> This proposal needs the full backing of the JavaFX team and management. > >> Specifically it needs: > >> > >> 1. Belief that JavaFX can and should be the *number one* client > >> development platform for enterprise. > >> 2. Recognition that the current strategy will not make that happen. > >> 3. Resources (aka people) allocated to the working group outlined > below. > >> These people must have enough influence in the JFX platform to > legitimately > >> be able to influence the direction as needed. > >> 4. Commitment to supporting this working group fully and implementing > >> the strategies and recommendations that come out of it as a high > priority > >> 5. A sense of urgency, and a proactive pursuit of achieving these goals > >> with a well defined timeline (i.e. "resources will be allocated by > November > >> 2012" not "we're working on it"). > >> > >> In my opinion, all of these must be met 100%. Otherwise there is no > point > >> starting at all and better to let it go and leave the enterprise space > to > >> other players like HTML5 as 'Oracle' is suggesting. This is your call. > >> > >> I believe JavaFX can be the best platform for client-side enterprise > >> application development, capitalising-on, and adding-to Java's > dominance in > >> server side enterprise development. > >> > >> Do you? > >> > >> > >> *Proposal to form a working group for JavaFX in the enterprise* > >> > >> Mission: > >> > >> - to position JavaFX as *the* dominant client-side development platform > >> for enterprise/business applications > >> > >> > >> Members: > >> > >> - a combination of paid Oracle JavaFX team members, and community > >> participants. The Oracle members must have the ability to access senior > >> JavaFX management and technical decision makers, and as such influence > the > >> road map and direction of the JavaFX platform. Community members will > be > >> those with a background and experience in the enterprise space and who > are > >> committed to making JavaFX the platform of choice in this space. > >> > >> > >> Responsibilities: > >> > >> - Continuously identify improvements to the JavaFX platform that are > >> needed to ensure adoption by enterprise; drive the inclusion of these > into > >> the JavaFX platform. > >> > >> - Continuously identify and monitor trends and developments within the > >> enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and > >> ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's > >> long term viability for their needs. > >> > >> - Provide best practices, community/forum support, documentation, > >> examples, tool add-ons, frameworks and other aids for integrating > JavaFX > >> into popular enterprise technology stacks > >> > >> - Provide advocacy, publicity and drive general engagement and outreach > >> programs for the adoption of JavaFX in the enterprise. > >> > >> > >> Objectives: > >> > >> Objectives will be determined by the working group once formed, however > >> initial objectives will likely include the following: > >> > >> - Review the current deployment/distribution options for JavaFX and > >> determine ways to improve this to make it competitive with other > popular > >> enterprise client platforms (e.g. HTML+JavaScript) for primary > enterprise > >> OS' and platforms > >> > >> - Identify the most popular enterprise build and development tools and > >> determine a strategy for making JavaFX integrate into these > >> > >> - Review popular trends and toolkits within competitive platforms and > >> define the ideal frameworks and add-on tools needed by an enterprise > client > >> (e.g. form validation). Use this list of high-level requirements to > >> determine the low-level JavaFX enhancements needed (e.g. allow field > >> markers so that a 3rd party validation framework could leverage these). > >> > >> - Create a demonstration enterprise application (along the lines of > >> PetClinic) demonstrating best practice for integrating JavaFX in a > full, > >> end-to-end JEE stack. > >> > >> > >> Longer term objectives may include: > >> > >> - Develop (or foster community development of) the high-level > frameworks > >> that have been identified as necessary for JavaFX in the enterprise. > These > >> will likely be developed as third-party modules external to the JavaFX > core > >> framework (i.e. built on top of the features provided by the core > JavaFX > >> team). > >> > >> - Provide integration with existing or new Rapid Application > Development > >> (RAD) tools popular within the enterprise Java space (e.g. ROO, etc). > -- John From tom.schindl at bestsolution.at Wed Oct 17 15:00:23 2012 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Thu, 18 Oct 2012 00:00:23 +0200 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: <5983853290558174241@unknownmsgid> References: <5983853290558174241@unknownmsgid> Message-ID: <150ADA31-1C0C-431C-8B02-5786777E5DCF@bestsolution.at> The problem is that we only get a control which is able to render rich text but unfortunately no editor! To get an editor with features you see in todays IDEs is a very long way from what we get with jfx8. Tom Von meinem iPad gesendet Am 17.10.2012 um 18:01 schrieb Peter Pilgrim : > Richard Bair gave a presentation on rich text components vis-a-vis > TextPane and TextFlow at JavaOne > > Supporting styles, bidirectional flow, Arabic /Hebrew maybe Chinese?, > proper text wrapping and flowing around a defined area. > > So in affect we should be all able to write IDE in JavaFX > > If Kim is lurking about still on this list, he will definite > understand the verbosity of the old Swing style text document Apis , > I expect better with the new FX text Apis in Fx8 > > Sent from my iPhone 4S > > On 17 Oct 2012, at 16:34, Mark Claassen wrote: > >> I am not as concerned in the "bridge" as I am in the framework. Although I >> agree a bridge is necessary, and would like it to work well. >> >> My comment is more about being on a track to where someone could >> (eventually) build Netbeans from scratch using only JavaFX. The customized >> window behavior, the Drag and Drop, the little tooltip-like popup windows >> used in the tree renderers to show the text that is not visible because of >> the visible bounds of the tree, ... all of it. >> >> What about the document model? The Swing javax.swing.text.Document >> interface is pretty powerful. The way it seems implemented in JavaFX does >> not seem nearly as powerful, or as pluggable. >> >> Mark >> >> On Wed, Oct 17, 2012 at 11:21 AM, Mario Torre < >> neugens.limasoftware at gmail.com> wrote: >> >>> """ >>> This thread is interesting. I've seen at J1 some tools using JavaFX >>> with the SWT bridge. The Swing one will also work equally well. We >>> also have (we need to put some love to make it work on 2.2 >>> """ >>> >>> Somehow this got cut, I meant: >>> >>> This thread is interesting. I've seen at J1 some tools using JavaFX >>> with the SWT bridge. The Swing one will also work equally well. We >>> also have (we need to put some love to make it work on 2.2) that >>> can be used to embed Swing on top of JavaFX (the other way around). >>> >>> Cheers, >>> Mario >>> >>> 2012/10/17 Mario Torre : >>>> 2012/10/17 Mark Claassen : >>>>> I joined this list a few days ago because I wanted to start contributing >>>>> So far, I am not sure it is quite where I should be. I would like to >>>>> discuss more about the components (table, list boxes, ...). I am not >>>>> exactly sure where to do that. >>>> >>>> You just unfortunately ended up subscribing to this list in the middle >>>> of a storm :) >>>> >>>> But this list has been used in the past to discuss components and >>>> details of the implementation, so this is definitely the right place >>>> to start discussing those things. >>>> >>>> @Richard: Perhaps it would be more fun to simply have a list dedicated >>>> to flaming Oracle for supporting HTML 5 rather than JavaFX :) >>>> >>>>> However, I will add here that I started (a very short-lived) thread on >>> the >>>>> netbeans user list along these lines. Basically what I was saying was >>> that >>>>> Netbeans is a wonderful UI built on Swing. Could this same project be >>> done >>>>> in JavaFX? Maybe not yet, but could it be in the future? It seems like >>>>> the JavaFX team could get a lot of advice and requirements from the >>>>> netbeans team. >>>>> >>>>> http://forums.netbeans.org/topic51717.html >>>> >>>> This thread is interesting. I've seen at J1 some tools using JavaFX >>>> with the SWT bridge. The Swing one will also work equally well. We >>>> also have (we need to put some love to make it work on 2.2 >>>> >>>> The big trouble is #2, this will only work if: >>>> >>>> 1. Netbeans can ship JavaFX >>>> 2. JavaFX is included in any major OpenJDK/JDK releases (that means, >>>> including distribution related IcedTea builds). >>>> >>>> For both options, JavaFX needs to be fully Open Sourced, or even >>>> NetBeans will fall back into non free bits, so I agree with them. >>>> >>>>> Some of the main data structures, like the ObservableList, make me >>> cringe. >>>>> I created a similar structure 10 years ago and have since learned the >>> error >>>>> of my ways. Granted, the JavaFX team has a lot more resources and >>>>> experience than I did all those years ago, but from my point of view, >>> there >>>>> are dangerous waters ahead. >>>> >>>> I'm sure this is the kind of discussion mostly welcomed on this list, >>>> after all, this is what makes it a community project. >>>> >>>> Cheers, >>>> Mario >>>> -- >>>> pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF >>>> Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF >>>> >>>> IcedRobot: www.icedrobot.org >>>> Proud GNU Classpath developer: http://www.classpath.org/ >>>> Read About us at: http://planet.classpath.org >>>> OpenJDK: http://openjdk.java.net/projects/caciocavallo/ >>>> >>>> Please, support open standards: >>>> http://endsoftpatents.org/ >>> >>> >>> >>> -- >>> pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF >>> Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF >>> >>> IcedRobot: www.icedrobot.org >>> Proud GNU Classpath developer: http://www.classpath.org/ >>> Read About us at: http://planet.classpath.org >>> OpenJDK: http://openjdk.java.net/projects/caciocavallo/ >>> >>> Please, support open standards: >>> http://endsoftpatents.org/ >>> From richard.bair at oracle.com Wed Oct 17 15:27:14 2012 From: richard.bair at oracle.com (Richard Bair) Date: Wed, 17 Oct 2012 15:27:14 -0700 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: <523653E9-E2AC-4FAD-AEAA-7C5169244887@gmail.com> References: <523653E9-E2AC-4FAD-AEAA-7C5169244887@gmail.com> Message-ID: > This dismissive comment about contributing really rams home how you, Richard, personally feel about contributions so far. Nice. I'm sorry Dan, I certainly have paid attention over all this time to all the hard work and dedication you have put into JavaFX both on the forums and here. Of course I've been very grateful and very impressed by the shear passion (and length of emails!) that you generate. I certainly did not mean to say that you haven't contributed personally. What I was saying (in my clumsy way) is that we as a team are working hard on every single point you raised, and many, many other points you haven't raised. We definitely don't do everything right, but I feel we have done really very well, and the most productive way to move forward is to do those things which I mentioned (and not to you, but to everybody): file issues, become a contributor, and work with us towards solving these problems. Richard From goddard at seznam.cz Wed Oct 17 18:33:47 2012 From: goddard at seznam.cz (goddard at seznam.cz) Date: Thu, 18 Oct 2012 03:33:47 +0200 (CEST) Subject: =?us-ascii?Q?Re=3A=20Re=3A=20JavaFX=20for=20the=20Enterprise=20=2D=20Working=20Group?= In-Reply-To: Message-ID: <136495.14935.49922-27526-1998047497-1350524027@seznam.cz> "I tried. I'm out. You guys can breathe easy - the 'negative guy' will shut up now and leave you to your own devices. ..." - there's JFXtras project where interesting things happen and you can actually commit the source code and have it built *and* distributed. - for now, it's better try to run jfx on devices / platforms that can run java already (meego for cells / tablets?). by doing that, one can promote jfx on mobile platforms and devices that actually *can* run it, which has much better impact overall. regards, jiri ------------ P?vodn? zpr?va ------------ Od: Richard Bair P?edm?t: Re: JavaFX for the Enterprise - Working Group Datum: 18.10.2012 00:29:13 ---------------------------------------- > This dismissive comment about contributing really rams home how you, Richard, personally feel about contributions so far. Nice. I'm sorry Dan, I certainly have paid attention over all this time to all the hard work and dedication you have put into JavaFX both on the forums and here. Of course I've been very grateful and very impressed by the shear passion (and length of emails!) that you generate. I certainly did not mean to say that you haven't contributed personally. What I was saying (in my clumsy way) is that we as a team are working hard on every single point you raised, and many, many other points you haven't raised. We definitely don't do everything right, but I feel we have done really very well, and the most productive way to move forward is to do those things which I mentioned (and not to you, but to everybody): file issues, become a contributor, and work with us towards solving these problems. Richard From martin.sladecek at oracle.com Thu Oct 18 01:50:25 2012 From: martin.sladecek at oracle.com (Martin Sladecek) Date: Thu, 18 Oct 2012 10:50:25 +0200 Subject: ObservableList vs Models In-Reply-To: <507F1EDC.70006@broadpark.no> References: <507F1EDC.70006@broadpark.no> Message-ID: <507FC2D1.2070409@oracle.com> Hi, with the FilteredList/SortedList from the JIRA issue below, you should be able to do it independently, as the SortedList and FilteredList will be just wrappers on top of the original list. Both wrappers will maintain the new order / filter internally by listening to it's change notifications and will not touch the original list. Regards, -Martin On 10/17/2012 11:10 PM, Knut Arne Vedaa wrote: > So what you want is one single backing list, and any numbers of > "views" into that list that can be independently sorted and filtered > without changing or making a copy of the backing list, with these > views being observable as well? > > I'm not sure if this would be possible, but probably the > implementations of the upcoming SortedList and FilteredList > (http://javafx-jira.kenai.com/browse/RT-17053) will shed some light on > the issue. > > Perhaps someone in the know could give some info on the features of > those and how and if they relate to OPs question... > > > Knut Arne Vedaa > > > On 17.10.2012 22:01, Mark Claassen wrote: >> I really like the promise of the ObservableList, but am a bit wary of >> the >> current implementation. >> >> We have several instances in our code where we rely on unique models >> wrapping the same data. We can have a large list of items, and show >> them >> in a combo box, and list, and a table. Generally, only one of these is >> visible at a given time, but having a single backing list is very handy. >> >> Further, each list can be independently sorted and filtered via a >> decorator >> construct in the model. >> >> By tweaking the underlying list object (so it fires events) and model >> (so >> that it listens to events), we accomplished something similar to an >> ObservableList: >> * Changes to the underlying list fires events to the models >> * Models could then respond as appropriate, add/deleting/changing >> items as >> necessary...perhaps triggering the view to re-sort the decorator as >> necessary >> >> However, different from ObservableList, we can manage the >> side-effects...not sorting and filtering all models in an identical >> fashion. >> >> Is there a mechanism to do this in JavaFX? The Swing methodology >> seemed a >> nice way to do it. With ObservableLists, it seems that in the end, I >> don't >> get much. The more common / trivial case is handled. However, in >> the case >> of a our application, I will need to >> * Make several ObservableLists, one for each control >> * Manage the synchronization between these lists programmaticly by >> myself. >> >> Am I missing something? Is there a way to have an ObservableList >> listening to another ObservableList, so that list #2 can notice the >> updates >> without forcing the sort order and filtering on list #1? Or am I just >> going to end up having to cut through extra/different layers of >> abstraction >> to re-implement what I had in Swing. >> >> Mark >> > From markclaassenx at gmail.com Thu Oct 18 06:32:51 2012 From: markclaassenx at gmail.com (Mark Claassen) Date: Thu, 18 Oct 2012 09:32:51 -0400 Subject: Building from source code Message-ID: I was trying to go through the process of downloading the source code, and it seems the directions are a bit out of date. The specific issue is with the developer preview binary. The instructions say to download it and unzip it. The download link ( http://www.oracle.com/technetwork/java/javafx/downloads/index.html), goes to a page where there is nothing that can be downloaded and "unzipped". Can I use the JDK7 install I already have? Or do I need to find something else? Thanks, Mark http://openjdk.java.net/projects/openjfx/getting-started.html - Download the latest JavaFX Developer Preview binary - Unzip the binary and put it in ~/closed-jfx - [snip] From goddard at seznam.cz Thu Oct 18 07:00:02 2012 From: goddard at seznam.cz (goddard at seznam.cz) Date: Thu, 18 Oct 2012 16:00:02 +0200 (CEST) Subject: =?us-ascii?Q?Re=3A=20Re=3A=20Re=3A=20JavaFX=20for=20the=20Enterprise=20=2D=20Working=20Group?= In-Reply-To: <136495.14935.49922-27526-1998047497-1350524027@seznam.cz> Message-ID: <136540.14885.50022-19097-1198137824-1350568802@seznam.cz> JavaFX running on a table at J1 2012 - https://twitter.com/mittie/status/258876933817896960/photo/1/large ;) Regards, Jiri ------------ P?vodn? zpr?va ------------ Od: P?edm?t: Re: Re: JavaFX for the Enterprise - Working Group Datum: 18.10.2012 03:35:55 ---------------------------------------- "I tried. I'm out. You guys can breathe easy - the 'negative guy' will shut up now and leave you to your own devices. ..." - there's JFXtras project where interesting things happen and you can actually commit the source code and have it built *and* distributed. - for now, it's better try to run jfx on devices / platforms that can run java already (meego for cells / tablets?). by doing that, one can promote jfx on mobile platforms and devices that actually *can* run it, which has much better impact overall. regards, jiri ------------ P?vodn? zpr?va ------------ Od: Richard Bair P?edm?t: Re: JavaFX for the Enterprise - Working Group Datum: 18.10.2012 00:29:13 ---------------------------------------- > This dismissive comment about contributing really rams home how you, Richard, personally feel about contributions so far. Nice. I'm sorry Dan, I certainly have paid attention over all this time to all the hard work and dedication you have put into JavaFX both on the forums and here. Of course I've been very grateful and very impressed by the shear passion (and length of emails!) that you generate. I certainly did not mean to say that you haven't contributed personally. What I was saying (in my clumsy way) is that we as a team are working hard on every single point you raised, and many, many other points you haven't raised. We definitely don't do everything right, but I feel we have done really very well, and the most productive way to move forward is to do those things which I mentioned (and not to you, but to everybody): file issues, become a contributor, and work with us towards solving these problems. Richard From kevin.rushforth at oracle.com Thu Oct 18 07:03:31 2012 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 18 Oct 2012 07:03:31 -0700 Subject: Building from source code In-Reply-To: References: Message-ID: <50800C33.3000101@oracle.com> We need to update the instructions, but basically all you need is a way to locate the jfxrt.jar that matches the openjfx version you are trying to build. For FX 8, you need to download the EA version of JDK8 at: http://jdk8.java.net/download.html You can use JDK7 to build openjfx...just point your JFXRT_HOME env variable to the JDK8 jre/lib directory. -- Kevin Mark Claassen wrote: > I was trying to go through the process of downloading the source code, and > it seems the directions are a bit out of date. > > The specific issue is with the developer preview binary. The instructions > say to download it and unzip it. > The download link ( > http://www.oracle.com/technetwork/java/javafx/downloads/index.html), goes > to a page where there is nothing that can be downloaded and "unzipped". > > Can I use the JDK7 install I already have? Or do I need to find something > else? > > Thanks, > Mark > > http://openjdk.java.net/projects/openjfx/getting-started.html > > - Download the latest JavaFX Developer Preview > binary > - Unzip the binary and put it in ~/closed-jfx > - [snip] > From markclaassenx at gmail.com Thu Oct 18 07:26:58 2012 From: markclaassenx at gmail.com (Mark Claassen) Date: Thu, 18 Oct 2012 10:26:58 -0400 Subject: Building from source code In-Reply-To: <50800C33.3000101@oracle.com> References: <50800C33.3000101@oracle.com> Message-ID: Thanks for the quick reply. Just to recap: I have JDK 7 on my machine. It sounds like I should be using JDK8 to play with the FX sources (which are for FX8?) Is this more what I should be doing? - *Download the latest JavaFX Developer Preview binary * - *Replace with Download JDK8* - Unzip the binary and put it in ~/closed-jfx - mkdir -p ~/open-jfx - cd ~/open-jfx - hg clone http://hg.openjdk.java.net/openjfx/2.1/master - cd master - mkdir -p artifacts/sdk/rt - *cp -r ~/closed-jfx/javafx-sdk2.1.0-beta/rt artifacts/sdk* - *Replace with cp the jfxrt.jar from JDK8 to articacts/sdk * - hg clone http://hg.openjdk.java.net/openjfx/2.1/master/rt - cd rt - Edit build-defs.xml (comment out '') - cd javafx-ui-controls - ant On Thu, Oct 18, 2012 at 10:03 AM, Kevin Rushforth < kevin.rushforth at oracle.com> wrote: > We need to update the instructions, but basically all you need is a way to > locate the jfxrt.jar that matches the openjfx version you are trying to > build. > > For FX 8, you need to download the EA version of JDK8 at: > http://jdk8.java.net/download.**html > > You can use JDK7 to build openjfx...just point your JFXRT_HOME env > variable to the JDK8 jre/lib directory. > > -- Kevin > > > Mark Claassen wrote: > >> I was trying to go through the process of downloading the source code, and >> it seems the directions are a bit out of date. >> >> The specific issue is with the developer preview binary. The instructions >> say to download it and unzip it. >> The download link ( >> http://www.oracle.com/**technetwork/java/javafx/**downloads/index.html), >> goes >> to a page where there is nothing that can be downloaded and "unzipped". >> >> Can I use the JDK7 install I already have? Or do I need to find something >> else? >> >> Thanks, >> Mark >> >> http://openjdk.java.net/**projects/openjfx/getting-**started.html >> >> - Download the latest JavaFX Developer Preview >> binary> downloads/index.html >> > >> - Unzip the binary and put it in ~/closed-jfx >> - [snip] >> >> > From danno.ferrin at shemnon.com Thu Oct 18 08:07:16 2012 From: danno.ferrin at shemnon.com (Danno Ferrin) Date: Thu, 18 Oct 2012 09:07:16 -0600 Subject: Building from source code In-Reply-To: References: <50800C33.3000101@oracle.com> Message-ID: If you are going to be playing with Java 8, use the JavaFX 8 repos, the 2.1 repos don't play well with Java 8 http://hg.openjdk.java.net/openjfx/8/master http://hg.openjdk.java.net/openjfx/8/master/rt If you are using a current Java 7, use the 2.2 or 2.2.4 builds (7u9 or 7u10ea respectively). http://hg.openjdk.java.net/openjfx/2.2/master http://hg.openjdk.java.net/openjfx/2.2/master/rt http://hg.openjdk.java.net/openjfx/2.2.4/master http://hg.openjdk.java.net/openjfx/2.2.4/master/rt I may be wrong on 2.2.4, did that version number get bumped with the 7u7 patch? On Thu, Oct 18, 2012 at 8:26 AM, Mark Claassen wrote: > Thanks for the quick reply. Just to recap: > I have JDK 7 on my machine. > > It sounds like I should be using JDK8 to play with the FX sources (which > are for FX8?) > Is this more what I should be doing? > > - *Download the latest JavaFX Developer Preview > binary > * > - *Replace with Download JDK8* > - Unzip the binary and put it in ~/closed-jfx > - mkdir -p ~/open-jfx > - cd ~/open-jfx > - hg clone http://hg.openjdk.java.net/openjfx/2.1/master > - cd master > - mkdir -p artifacts/sdk/rt > - *cp -r ~/closed-jfx/javafx-sdk2.1.0-beta/rt artifacts/sdk* > - *Replace with cp the jfxrt.jar from JDK8 to articacts/sdk > * > - hg clone http://hg.openjdk.java.net/openjfx/2.1/master/rt > - cd rt > - Edit build-defs.xml (comment out ' name="javac.debuglevel" from="${ant.project.name}.javac.debuglevel" > silent="true" override="true"/>') > - cd javafx-ui-controls > - ant > > > > > On Thu, Oct 18, 2012 at 10:03 AM, Kevin Rushforth < > kevin.rushforth at oracle.com> wrote: > > > We need to update the instructions, but basically all you need is a way > to > > locate the jfxrt.jar that matches the openjfx version you are trying to > > build. > > > > For FX 8, you need to download the EA version of JDK8 at: > > http://jdk8.java.net/download.**html > > > > > You can use JDK7 to build openjfx...just point your JFXRT_HOME env > > variable to the JDK8 jre/lib directory. > > > > -- Kevin > > > > > > Mark Claassen wrote: > > > >> I was trying to go through the process of downloading the source code, > and > >> it seems the directions are a bit out of date. > >> > >> The specific issue is with the developer preview binary. The > instructions > >> say to download it and unzip it. > >> The download link ( > >> http://www.oracle.com/**technetwork/java/javafx/**downloads/index.html< > http://www.oracle.com/technetwork/java/javafx/downloads/index.html>), > >> goes > >> to a page where there is nothing that can be downloaded and "unzipped". > >> > >> Can I use the JDK7 install I already have? Or do I need to find > something > >> else? > >> > >> Thanks, > >> Mark > >> > >> http://openjdk.java.net/**projects/openjfx/getting-**started.html< > http://openjdk.java.net/projects/openjfx/getting-started.html> > >> > >> - Download the latest JavaFX Developer Preview > >> binary >> downloads/index.html< > http://www.oracle.com/technetwork/java/javafx/downloads/index.html> > >> > > >> - Unzip the binary and put it in ~/closed-jfx > >> - [snip] > >> > >> > > > -- There is nothing that will hold me back. I know who I am.... I remember wher I came from, and I feel stronger for knowing. Zane, Ninja of Ice. Ninjago S01E07 From kevin.rushforth at oracle.com Thu Oct 18 08:38:38 2012 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 18 Oct 2012 08:38:38 -0700 Subject: Building from source code In-Reply-To: References: <50800C33.3000101@oracle.com> Message-ID: <5080227E.5050103@oracle.com> Yes, if you use FX 8, you need the jfxrt.jar from JDK8. Most developers should just use this. The JDK 7u10 / FX 2.2.4 release will soon be renamed to 7u12 / 2.2.6. If you download the latest EA build of jdk7u it will contain the corresponding FX bits (which today will be 7u10-b09). -- Kevin Danno Ferrin wrote: > If you are going to be playing with Java 8, use the JavaFX 8 repos, the 2.1 > repos don't play well with Java 8 > > http://hg.openjdk.java.net/openjfx/8/master > http://hg.openjdk.java.net/openjfx/8/master/rt > > If you are using a current Java 7, use the 2.2 or 2.2.4 builds (7u9 or > 7u10ea respectively). > > http://hg.openjdk.java.net/openjfx/2.2/master > http://hg.openjdk.java.net/openjfx/2.2/master/rt > > http://hg.openjdk.java.net/openjfx/2.2.4/master > http://hg.openjdk.java.net/openjfx/2.2.4/master/rt > > I may be wrong on 2.2.4, did that version number get bumped with the 7u7 > patch? > > On Thu, Oct 18, 2012 at 8:26 AM, Mark Claassen wrote: > > >> Thanks for the quick reply. Just to recap: >> I have JDK 7 on my machine. >> >> It sounds like I should be using JDK8 to play with the FX sources (which >> are for FX8?) >> Is this more what I should be doing? >> >> - *Download the latest JavaFX Developer Preview >> binary >> * >> - *Replace with Download JDK8* >> - Unzip the binary and put it in ~/closed-jfx >> - mkdir -p ~/open-jfx >> - cd ~/open-jfx >> - hg clone http://hg.openjdk.java.net/openjfx/2.1/master >> - cd master >> - mkdir -p artifacts/sdk/rt >> - *cp -r ~/closed-jfx/javafx-sdk2.1.0-beta/rt artifacts/sdk* >> - *Replace with cp the jfxrt.jar from JDK8 to articacts/sdk >> * >> - hg clone http://hg.openjdk.java.net/openjfx/2.1/master/rt >> - cd rt >> - Edit build-defs.xml (comment out '> name="javac.debuglevel" from="${ant.project.name}.javac.debuglevel" >> silent="true" override="true"/>') >> - cd javafx-ui-controls >> - ant >> >> >> >> >> On Thu, Oct 18, 2012 at 10:03 AM, Kevin Rushforth < >> kevin.rushforth at oracle.com> wrote: >> >> >>> We need to update the instructions, but basically all you need is a way >>> >> to >> >>> locate the jfxrt.jar that matches the openjfx version you are trying to >>> build. >>> >>> For FX 8, you need to download the EA version of JDK8 at: >>> http://jdk8.java.net/download.**html >> >>> >>> You can use JDK7 to build openjfx...just point your JFXRT_HOME env >>> variable to the JDK8 jre/lib directory. >>> >>> -- Kevin >>> >>> >>> Mark Claassen wrote: >>> >>> >>>> I was trying to go through the process of downloading the source code, >>>> >> and >> >>>> it seems the directions are a bit out of date. >>>> >>>> The specific issue is with the developer preview binary. The >>>> >> instructions >> >>>> say to download it and unzip it. >>>> The download link ( >>>> http://www.oracle.com/**technetwork/java/javafx/**downloads/index.html< >>>> >> http://www.oracle.com/technetwork/java/javafx/downloads/index.html>), >> >>>> goes >>>> to a page where there is nothing that can be downloaded and "unzipped". >>>> >>>> Can I use the JDK7 install I already have? Or do I need to find >>>> >> something >> >>>> else? >>>> >>>> Thanks, >>>> Mark >>>> >>>> http://openjdk.java.net/**projects/openjfx/getting-**started.html< >>>> >> http://openjdk.java.net/projects/openjfx/getting-started.html> >> >>>> - Download the latest JavaFX Developer Preview >>>> binary>>> downloads/index.html< >>>> >> http://www.oracle.com/technetwork/java/javafx/downloads/index.html> >> >>>> - Unzip the binary and put it in ~/closed-jfx >>>> - [snip] >>>> >>>> >>>> > > > > From richard.bair at oracle.com Thu Oct 18 09:05:35 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 09:05:35 -0700 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: <03667C4B-28A1-4322-871A-8D504BBD8101@oracle.com> Dan's email deserves more than a flippant response, for which I apologize. That's what I get for trying to respond while on the train (and having only a phone as an input device). I quickly mentioned, in essence "hey, we're on it". I'm sorry for the misunderstanding, I know passions are running high at this time, and I don't want to be misunderstood. > Oracle is a big corporation with many different divisions. The left arm > doesn't know what the right is doing. So let's put aside 'oracle' for a > moment. I want to know: what does the JavaFX team think? Do you want to go > up against HTML5 for the client space, or just settle for a spot on the > fringe? This is true. Oracle is a big company, and sometimes the way things are phrased in a press release are not to the liking of each constituency. That is to be expected. It goes without saying that the Java Team (not just the JavaFX Team) wants to see Java client be successful. It also goes without saying that an "official Oracle spokesperson" (I would be one of those) should be very careful about making any public statement regarding strategy or position that hasn't been previously vetted by one's senior management. We just had a JavaOne conference, in which we clearly stated that JavaFX for enterprise application client development, and for embedded consumer device development, are areas that we think we can compete and win in, and which also offer a lot of value to developers above and beyond current options. > 1. Belief that JavaFX can and should be the *number one* client > development platform for enterprise. > 2. Recognition that the current strategy will not make that happen. > 3. Resources (aka people) allocated to the working group outlined below. > These people must have enough influence in the JFX platform to legitimately > be able to influence the direction as needed. A working group is neither needed nor would it be productive. The reality is, the JavaFX team is devoted to producing the best platform that exists. It is the sole reason that Jasper and I work on this project. We are not in this for money (banking is much more lucrative), neither are we in it for job security (Android would have been a better bet, and we've had numerous opportunities to work for Google). We're doing this because we believe that all other client application development options stink, and we want to create the very best platform available. Creating a working group would be pointless. That group already exists, and it is this mailing list. I see no value is creating a separate group to go off and brainstorm solutions. We know the problems, we (like any other development project in the history of the world) have multiple competing constraints and resourcing limitations (or limitations on the ability to manage large numbers of production teams). Jasper and I have complete influence within the JavaFX team. But within a company like Oracle (or Sun, or IBM, or HP, Microsoft, or any other large company), certain functions (like Legal, Security, etc) are housed in cross-cutting branches at Oracle, not under the direction of this, or any other team. As such, there are limitations in what we can do. People have asked for legal assurance that this usage or that usage of JavaFX with Maven isn't going to run afoul of Oracle legal. It is not in the power of this team to answer that question. Does that cause us difficulties -- yes of course it does, but such things are a fact of life in a large organization. > 4. Commitment to supporting this working group fully and implementing > the strategies and recommendations that come out of it as a high priority > 5. A sense of urgency, and a proactive pursuit of achieving these goals > with a well defined timeline (i.e. "resources will be allocated by November > 2012" not "we're working on it"). You will not find anybody who has a higher sense of urgency than I do, either inside or outside Oracle. The problem is, the list of things that any one individual feels is P1 priority is going to be different. I also have the benefit of knowing a number of commercial operations that are using JavaFX and what their needs are, along with the existing set of Swing / SWT customers and what their needs are for JavaFX to be useful for them. It is not possible to have everything be a P1. I undoubtedly have, and will continue to, make decisions and priority calls that people don't agree with. That is the nature of the job, I cannot please everybody. > - Continuously identify improvements to the JavaFX platform that are > needed to ensure adoption by enterprise; drive the inclusion of these into > the JavaFX platform. We do this all the time. In fact, we have an entire team paid to do nothing but "inbound marketing", where they engage customers and help develop the roadmap. In addition, we have this list where anybody can express their needs, and many of these are incorporated into our plans. There is also my own oracle email address, through which many contacts are made (and as a result, my ability to parse and respond to everything is very difficult). Jasper and I are both enterprise app developers (although it has been nigh unto 7 years since we were doing other than toolkit development, a fact we both are keenly aware of). And let me reiterate -- we have this list. We have twitter. There's no lack of input from all across the spectrum. I am opposed to having a working group of exclusive membership. I believe in keeping this open for everybody's input. As a result, we're going to have a lot of choices to make, some you will like, some you won't. > - Continuously identify and monitor trends and developments within the > enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and > ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's > long term viability for their needs. We do this on a daily basis. We look at a heck of a lot more than just HTML5 and .NET. We're aware of all the latest fads in development on the EE side, we've even built prototypes to compare how this works relative to FX. > - Provide best practices, community/forum support, documentation, > examples, tool add-ons, frameworks and other aids for integrating JavaFX > into popular enterprise technology stacks We have a documentation team devoted to writing documentation. Is there specific documentation you want that isn't provided? I can hook you up with the doc writers and you can work with them. We'll link to your blogs (which we've done!) or anything else. > - Provide advocacy, publicity and drive general engagement and outreach > programs for the adoption of JavaFX in the enterprise. Here again, we have a whole "outbound marketing" and evangelism group who is devoted to this. Stephen Chin and Jim Weaver among them. Stephen is now on a motor-bike across Europe tour hitting ever JUG and gathering of Java developers he can find. Like I said, we're doing all this stuff, with paid people, who's full time job it is to do these things. And they're good at it. > - Review the current deployment/distribution options for JavaFX and > determine ways to improve this to make it competitive with other popular > enterprise client platforms (e.g. HTML+JavaScript) for primary enterprise > OS' and platforms We could (and should) have a whole thread on this subject. > - Review popular trends and toolkits within competitive platforms and > define the ideal frameworks and add-on tools needed by an enterprise client > (e.g. form validation). Use this list of high-level requirements to > determine the low-level JavaFX enhancements needed (e.g. allow field > markers so that a 3rd party validation framework could leverage these). We've already had threads on validation, but again, the right way to do this is to have such conversations in a thread on this mailing list, it is not required that we have a separate working group to identify these things. The issue that I think sometimes we run into, is that although all these things are good and perhaps even critical, there are other things that are also good and critical that we are working on, such as accessibility and internationalization. So sometimes threads on a mailing list don't end in concrete work being done, when that thread is not related to one of the things we're signed up to deliver on. This is natural and to be expected. The way to move forward when it isn't on our list for the next release, is to have the discussion; produce the APIs, tests, and implementation; sign the contributor agreement and attach to JIRA. > - Create a demonstration enterprise application (along the lines of > PetClinic) demonstrating best practice for integrating JavaFX in a full, > end-to-end JEE stack. In fact, we released the "DataApp" also known as "Henley Car Sales" with JavaFX 2.0 for exactly this reason. It uses EE 6 on the backend, Jersey Client on the backend and frontend, and JavaFX on the front end. There is a lot of scope to extend and work on this. In fact, it is BSD. As I mentioned in my poorly worded and perhaps flippant response, we're already engaged in each of these areas, and forming a new working group is neither necessary nor would it actually help move the ball forward. The best things to do are to discuss issues on this mailing list, add issues to JIRA and lobby other developers to support those items, and if possible contribute complete solutions for things that we don't have on our deliverable list. Richard From phidias51 at gmail.com Thu Oct 18 10:03:45 2012 From: phidias51 at gmail.com (Mark Fortner) Date: Thu, 18 Oct 2012 10:03:45 -0700 Subject: Maven support In-Reply-To: References: Message-ID: I created the following issue based on this discussion: http://javafx-jira.kenai.com/browse/RT-25723 Feel free to leave your comments on it, and please vote for it, and watch it. Cheers, Mark From roman at kennke.org Thu Oct 18 10:12:52 2012 From: roman at kennke.org (Roman Kennke) Date: Thu, 18 Oct 2012 19:12:52 +0200 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: <03667C4B-28A1-4322-871A-8D504BBD8101@oracle.com> References: <03667C4B-28A1-4322-871A-8D504BBD8101@oracle.com> Message-ID: <1350580372.2097.111.camel@mercury> And 'we' in this context means (should mean... that's the goal we need to strive for) 'we the JavaFX community', not 'we Oracle' or 'we non-Oracle'. Roman Am Donnerstag, den 18.10.2012, 09:05 -0700 schrieb Richard Bair: > Dan's email deserves more than a flippant response, for which I apologize. That's what I get for trying to respond while on the train (and having only a phone as an input device). I quickly mentioned, in essence "hey, we're on it". I'm sorry for the misunderstanding, I know passions are running high at this time, and I don't want to be misunderstood. > > > Oracle is a big corporation with many different divisions. The left arm > > doesn't know what the right is doing. So let's put aside 'oracle' for a > > moment. I want to know: what does the JavaFX team think? Do you want to go > > up against HTML5 for the client space, or just settle for a spot on the > > fringe? > > This is true. Oracle is a big company, and sometimes the way things are phrased in a press release are not to the liking of each constituency. That is to be expected. It goes without saying that the Java Team (not just the JavaFX Team) wants to see Java client be successful. It also goes without saying that an "official Oracle spokesperson" (I would be one of those) should be very careful about making any public statement regarding strategy or position that hasn't been previously vetted by one's senior management. We just had a JavaOne conference, in which we clearly stated that JavaFX for enterprise application client development, and for embedded consumer device development, are areas that we think we can compete and win in, and which also offer a lot of value to developers above and beyond current options. > > > 1. Belief that JavaFX can and should be the *number one* client > > development platform for enterprise. > > 2. Recognition that the current strategy will not make that happen. > > 3. Resources (aka people) allocated to the working group outlined below. > > These people must have enough influence in the JFX platform to legitimately > > be able to influence the direction as needed. > > A working group is neither needed nor would it be productive. The reality is, the JavaFX team is devoted to producing the best platform that exists. It is the sole reason that Jasper and I work on this project. We are not in this for money (banking is much more lucrative), neither are we in it for job security (Android would have been a better bet, and we've had numerous opportunities to work for Google). We're doing this because we believe that all other client application development options stink, and we want to create the very best platform available. > > Creating a working group would be pointless. That group already exists, and it is this mailing list. I see no value is creating a separate group to go off and brainstorm solutions. We know the problems, we (like any other development project in the history of the world) have multiple competing constraints and resourcing limitations (or limitations on the ability to manage large numbers of production teams). Jasper and I have complete influence within the JavaFX team. But within a company like Oracle (or Sun, or IBM, or HP, Microsoft, or any other large company), certain functions (like Legal, Security, etc) are housed in cross-cutting branches at Oracle, not under the direction of this, or any other team. As such, there are limitations in what we can do. People have asked for legal assurance that this usage or that usage of JavaFX with Maven isn't going to run afoul of Oracle legal. It is not in the power of this team to answer that question. Does that cause us difficulties -- yes of course it does, but such things are a fact of life in a large organization. > > > 4. Commitment to supporting this working group fully and implementing > > the strategies and recommendations that come out of it as a high priority > > 5. A sense of urgency, and a proactive pursuit of achieving these goals > > with a well defined timeline (i.e. "resources will be allocated by November > > 2012" not "we're working on it"). > > You will not find anybody who has a higher sense of urgency than I do, either inside or outside Oracle. The problem is, the list of things that any one individual feels is P1 priority is going to be different. I also have the benefit of knowing a number of commercial operations that are using JavaFX and what their needs are, along with the existing set of Swing / SWT customers and what their needs are for JavaFX to be useful for them. It is not possible to have everything be a P1. I undoubtedly have, and will continue to, make decisions and priority calls that people don't agree with. That is the nature of the job, I cannot please everybody. > > > - Continuously identify improvements to the JavaFX platform that are > > needed to ensure adoption by enterprise; drive the inclusion of these into > > the JavaFX platform. > > We do this all the time. In fact, we have an entire team paid to do nothing but "inbound marketing", where they engage customers and help develop the roadmap. In addition, we have this list where anybody can express their needs, and many of these are incorporated into our plans. There is also my own oracle email address, through which many contacts are made (and as a result, my ability to parse and respond to everything is very difficult). Jasper and I are both enterprise app developers (although it has been nigh unto 7 years since we were doing other than toolkit development, a fact we both are keenly aware of). And let me reiterate -- we have this list. We have twitter. There's no lack of input from all across the spectrum. > > I am opposed to having a working group of exclusive membership. I believe in keeping this open for everybody's input. As a result, we're going to have a lot of choices to make, some you will like, some you won't. > > > - Continuously identify and monitor trends and developments within the > > enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and > > ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's > > long term viability for their needs. > > We do this on a daily basis. We look at a heck of a lot more than just HTML5 and .NET. We're aware of all the latest fads in development on the EE side, we've even built prototypes to compare how this works relative to FX. > > > - Provide best practices, community/forum support, documentation, > > examples, tool add-ons, frameworks and other aids for integrating JavaFX > > into popular enterprise technology stacks > > We have a documentation team devoted to writing documentation. Is there specific documentation you want that isn't provided? I can hook you up with the doc writers and you can work with them. We'll link to your blogs (which we've done!) or anything else. > > > - Provide advocacy, publicity and drive general engagement and outreach > > programs for the adoption of JavaFX in the enterprise. > > Here again, we have a whole "outbound marketing" and evangelism group who is devoted to this. Stephen Chin and Jim Weaver among them. Stephen is now on a motor-bike across Europe tour hitting ever JUG and gathering of Java developers he can find. Like I said, we're doing all this stuff, with paid people, who's full time job it is to do these things. And they're good at it. > > > - Review the current deployment/distribution options for JavaFX and > > determine ways to improve this to make it competitive with other popular > > enterprise client platforms (e.g. HTML+JavaScript) for primary enterprise > > OS' and platforms > > We could (and should) have a whole thread on this subject. > > > - Review popular trends and toolkits within competitive platforms and > > define the ideal frameworks and add-on tools needed by an enterprise client > > (e.g. form validation). Use this list of high-level requirements to > > determine the low-level JavaFX enhancements needed (e.g. allow field > > markers so that a 3rd party validation framework could leverage these). > > We've already had threads on validation, but again, the right way to do this is to have such conversations in a thread on this mailing list, it is not required that we have a separate working group to identify these things. The issue that I think sometimes we run into, is that although all these things are good and perhaps even critical, there are other things that are also good and critical that we are working on, such as accessibility and internationalization. So sometimes threads on a mailing list don't end in concrete work being done, when that thread is not related to one of the things we're signed up to deliver on. This is natural and to be expected. The way to move forward when it isn't on our list for the next release, is to have the discussion; produce the APIs, tests, and implementation; sign the contributor agreement and attach to JIRA. > > > - Create a demonstration enterprise application (along the lines of > > PetClinic) demonstrating best practice for integrating JavaFX in a full, > > end-to-end JEE stack. > > In fact, we released the "DataApp" also known as "Henley Car Sales" with JavaFX 2.0 for exactly this reason. It uses EE 6 on the backend, Jersey Client on the backend and frontend, and JavaFX on the front end. There is a lot of scope to extend and work on this. In fact, it is BSD. > > As I mentioned in my poorly worded and perhaps flippant response, we're already engaged in each of these areas, and forming a new working group is neither necessary nor would it actually help move the ball forward. The best things to do are to discuss issues on this mailing list, add issues to JIRA and lobby other developers to support those items, and if possible contribute complete solutions for things that we don't have on our deliverable list. > > Richard From richard.bair at oracle.com Thu Oct 18 10:30:43 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 10:30:43 -0700 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: <1350580372.2097.111.camel@mercury> References: <03667C4B-28A1-4322-871A-8D504BBD8101@oracle.com> <1350580372.2097.111.camel@mercury> Message-ID: Absolutely. On Oct 18, 2012, at 10:12 AM, Roman Kennke wrote: > And 'we' in this context means (should mean... that's the goal we need > to strive for) 'we the JavaFX community', not 'we Oracle' or 'we > non-Oracle'. > > Roman > > Am Donnerstag, den 18.10.2012, 09:05 -0700 schrieb Richard Bair: >> Dan's email deserves more than a flippant response, for which I apologize. That's what I get for trying to respond while on the train (and having only a phone as an input device). I quickly mentioned, in essence "hey, we're on it". I'm sorry for the misunderstanding, I know passions are running high at this time, and I don't want to be misunderstood. >> >>> Oracle is a big corporation with many different divisions. The left arm >>> doesn't know what the right is doing. So let's put aside 'oracle' for a >>> moment. I want to know: what does the JavaFX team think? Do you want to go >>> up against HTML5 for the client space, or just settle for a spot on the >>> fringe? >> >> This is true. Oracle is a big company, and sometimes the way things are phrased in a press release are not to the liking of each constituency. That is to be expected. It goes without saying that the Java Team (not just the JavaFX Team) wants to see Java client be successful. It also goes without saying that an "official Oracle spokesperson" (I would be one of those) should be very careful about making any public statement regarding strategy or position that hasn't been previously vetted by one's senior management. We just had a JavaOne conference, in which we clearly stated that JavaFX for enterprise application client development, and for embedded consumer device development, are areas that we think we can compete and win in, and which also offer a lot of value to developers above and beyond current options. >> >>> 1. Belief that JavaFX can and should be the *number one* client >>> development platform for enterprise. >>> 2. Recognition that the current strategy will not make that happen. >>> 3. Resources (aka people) allocated to the working group outlined below. >>> These people must have enough influence in the JFX platform to legitimately >>> be able to influence the direction as needed. >> >> A working group is neither needed nor would it be productive. The reality is, the JavaFX team is devoted to producing the best platform that exists. It is the sole reason that Jasper and I work on this project. We are not in this for money (banking is much more lucrative), neither are we in it for job security (Android would have been a better bet, and we've had numerous opportunities to work for Google). We're doing this because we believe that all other client application development options stink, and we want to create the very best platform available. >> >> Creating a working group would be pointless. That group already exists, and it is this mailing list. I see no value is creating a separate group to go off and brainstorm solutions. We know the problems, we (like any other development project in the history of the world) have multiple competing constraints and resourcing limitations (or limitations on the ability to manage large numbers of production teams). Jasper and I have complete influence within the JavaFX team. But within a company like Oracle (or Sun, or IBM, or HP, Microsoft, or any other large company), certain functions (like Legal, Security, etc) are housed in cross-cutting branches at Oracle, not under the direction of this, or any other team. As such, there are limitations in what we can do. People have asked for legal assurance that this usage or that usage of JavaFX with Maven isn't going to run afoul of Oracle legal. It is not in the power of this team to answer that question. Does that cause us difficulties -- yes of course it does, but such things are a fact of life in a large organization. >> >>> 4. Commitment to supporting this working group fully and implementing >>> the strategies and recommendations that come out of it as a high priority >>> 5. A sense of urgency, and a proactive pursuit of achieving these goals >>> with a well defined timeline (i.e. "resources will be allocated by November >>> 2012" not "we're working on it"). >> >> You will not find anybody who has a higher sense of urgency than I do, either inside or outside Oracle. The problem is, the list of things that any one individual feels is P1 priority is going to be different. I also have the benefit of knowing a number of commercial operations that are using JavaFX and what their needs are, along with the existing set of Swing / SWT customers and what their needs are for JavaFX to be useful for them. It is not possible to have everything be a P1. I undoubtedly have, and will continue to, make decisions and priority calls that people don't agree with. That is the nature of the job, I cannot please everybody. >> >>> - Continuously identify improvements to the JavaFX platform that are >>> needed to ensure adoption by enterprise; drive the inclusion of these into >>> the JavaFX platform. >> >> We do this all the time. In fact, we have an entire team paid to do nothing but "inbound marketing", where they engage customers and help develop the roadmap. In addition, we have this list where anybody can express their needs, and many of these are incorporated into our plans. There is also my own oracle email address, through which many contacts are made (and as a result, my ability to parse and respond to everything is very difficult). Jasper and I are both enterprise app developers (although it has been nigh unto 7 years since we were doing other than toolkit development, a fact we both are keenly aware of). And let me reiterate -- we have this list. We have twitter. There's no lack of input from all across the spectrum. >> >> I am opposed to having a working group of exclusive membership. I believe in keeping this open for everybody's input. As a result, we're going to have a lot of choices to make, some you will like, some you won't. >> >>> - Continuously identify and monitor trends and developments within the >>> enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and >>> ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's >>> long term viability for their needs. >> >> We do this on a daily basis. We look at a heck of a lot more than just HTML5 and .NET. We're aware of all the latest fads in development on the EE side, we've even built prototypes to compare how this works relative to FX. >> >>> - Provide best practices, community/forum support, documentation, >>> examples, tool add-ons, frameworks and other aids for integrating JavaFX >>> into popular enterprise technology stacks >> >> We have a documentation team devoted to writing documentation. Is there specific documentation you want that isn't provided? I can hook you up with the doc writers and you can work with them. We'll link to your blogs (which we've done!) or anything else. >> >>> - Provide advocacy, publicity and drive general engagement and outreach >>> programs for the adoption of JavaFX in the enterprise. >> >> Here again, we have a whole "outbound marketing" and evangelism group who is devoted to this. Stephen Chin and Jim Weaver among them. Stephen is now on a motor-bike across Europe tour hitting ever JUG and gathering of Java developers he can find. Like I said, we're doing all this stuff, with paid people, who's full time job it is to do these things. And they're good at it. >> >>> - Review the current deployment/distribution options for JavaFX and >>> determine ways to improve this to make it competitive with other popular >>> enterprise client platforms (e.g. HTML+JavaScript) for primary enterprise >>> OS' and platforms >> >> We could (and should) have a whole thread on this subject. >> >>> - Review popular trends and toolkits within competitive platforms and >>> define the ideal frameworks and add-on tools needed by an enterprise client >>> (e.g. form validation). Use this list of high-level requirements to >>> determine the low-level JavaFX enhancements needed (e.g. allow field >>> markers so that a 3rd party validation framework could leverage these). >> >> We've already had threads on validation, but again, the right way to do this is to have such conversations in a thread on this mailing list, it is not required that we have a separate working group to identify these things. The issue that I think sometimes we run into, is that although all these things are good and perhaps even critical, there are other things that are also good and critical that we are working on, such as accessibility and internationalization. So sometimes threads on a mailing list don't end in concrete work being done, when that thread is not related to one of the things we're signed up to deliver on. This is natural and to be expected. The way to move forward when it isn't on our list for the next release, is to have the discussion; produce the APIs, tests, and implementation; sign the contributor agreement and attach to JIRA. >> >>> - Create a demonstration enterprise application (along the lines of >>> PetClinic) demonstrating best practice for integrating JavaFX in a full, >>> end-to-end JEE stack. >> >> In fact, we released the "DataApp" also known as "Henley Car Sales" with JavaFX 2.0 for exactly this reason. It uses EE 6 on the backend, Jersey Client on the backend and frontend, and JavaFX on the front end. There is a lot of scope to extend and work on this. In fact, it is BSD. >> >> As I mentioned in my poorly worded and perhaps flippant response, we're already engaged in each of these areas, and forming a new working group is neither necessary nor would it actually help move the ball forward. The best things to do are to discuss issues on this mailing list, add issues to JIRA and lobby other developers to support those items, and if possible contribute complete solutions for things that we don't have on our deliverable list. >> >> Richard > > From richard.bair at oracle.com Thu Oct 18 10:35:29 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 10:35:29 -0700 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: Message-ID: <1F084963-FE21-4E4D-BE27-5F7A19AD8CC1@oracle.com> From talking with the NB team, one feature they really need is to be able to embed Swing within JavaFX. Hopefully we can deliver on that for 8. On Oct 17, 2012, at 7:40 AM, Mark Claassen wrote: > I joined this list a few days ago because I wanted to start contributing > So far, I am not sure it is quite where I should be. I would like to > discuss more about the components (table, list boxes, ...). I am not > exactly sure where to do that. > > However, I will add here that I started (a very short-lived) thread on the > netbeans user list along these lines. Basically what I was saying was that > Netbeans is a wonderful UI built on Swing. Could this same project be done > in JavaFX? Maybe not yet, but could it be in the future? It seems like > the JavaFX team could get a lot of advice and requirements from the > netbeans team. > > http://forums.netbeans.org/topic51717.html > > Some of the main data structures, like the ObservableList, make me cringe. > I created a similar structure 10 years ago and have since learned the error > of my ways. Granted, the JavaFX team has a lot more resources and > experience than I did all those years ago, but from my point of view, there > are dangerous waters ahead. > > > On Wed, Oct 17, 2012 at 10:23 AM, Richard Bair wrote: > >> We are already doing everything on your list (which was pretty void of >> specifics). Please list specific work projects, linked to specific JIRA >> issues, and vote for them and for goodness sake contribute! >> >> >> >> >> On Oct 17, 2012, at 12:49 AM, Daniel Zwolenski wrote: >> >>> So Oracle as an organization doesn't think JavaFX can be a player in the >>> web/enterprise space and is backing HTML5. I don't agree, JavaFX has the >> * >>> potential* to be better. But it's a long way behind and gotten off to a >>> rocky start; there's a hell of a lot of work to be done and the current >>> rate, strategy and direction are not going to be nearly enough. >>> >>> Oracle is a big corporation with many different divisions. The left arm >>> doesn't know what the right is doing. So let's put aside 'oracle' for a >>> moment. I want to know: what does the JavaFX team think? Do you want to >> go >>> up against HTML5 for the client space, or just settle for a spot on the >>> fringe? >>> >>> Below is what I propose. >>> >>> This proposal needs the full backing of the JavaFX team and management. >>> Specifically it needs: >>> >>> 1. Belief that JavaFX can and should be the *number one* client >>> development platform for enterprise. >>> 2. Recognition that the current strategy will not make that happen. >>> 3. Resources (aka people) allocated to the working group outlined >> below. >>> These people must have enough influence in the JFX platform to >> legitimately >>> be able to influence the direction as needed. >>> 4. Commitment to supporting this working group fully and implementing >>> the strategies and recommendations that come out of it as a high >> priority >>> 5. A sense of urgency, and a proactive pursuit of achieving these goals >>> with a well defined timeline (i.e. "resources will be allocated by >> November >>> 2012" not "we're working on it"). >>> >>> In my opinion, all of these must be met 100%. Otherwise there is no point >>> starting at all and better to let it go and leave the enterprise space to >>> other players like HTML5 as 'Oracle' is suggesting. This is your call. >>> >>> I believe JavaFX can be the best platform for client-side enterprise >>> application development, capitalising-on, and adding-to Java's dominance >> in >>> server side enterprise development. >>> >>> Do you? >>> >>> >>> *Proposal to form a working group for JavaFX in the enterprise* >>> >>> Mission: >>> >>> - to position JavaFX as *the* dominant client-side development platform >>> for enterprise/business applications >>> >>> >>> Members: >>> >>> - a combination of paid Oracle JavaFX team members, and community >>> participants. The Oracle members must have the ability to access senior >>> JavaFX management and technical decision makers, and as such influence >> the >>> road map and direction of the JavaFX platform. Community members will >> be >>> those with a background and experience in the enterprise space and who >> are >>> committed to making JavaFX the platform of choice in this space. >>> >>> >>> Responsibilities: >>> >>> - Continuously identify improvements to the JavaFX platform that are >>> needed to ensure adoption by enterprise; drive the inclusion of these >> into >>> the JavaFX platform. >>> >>> - Continuously identify and monitor trends and developments within the >>> enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and >>> ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's >>> long term viability for their needs. >>> >>> - Provide best practices, community/forum support, documentation, >>> examples, tool add-ons, frameworks and other aids for integrating >> JavaFX >>> into popular enterprise technology stacks >>> >>> - Provide advocacy, publicity and drive general engagement and outreach >>> programs for the adoption of JavaFX in the enterprise. >>> >>> >>> Objectives: >>> >>> Objectives will be determined by the working group once formed, however >>> initial objectives will likely include the following: >>> >>> - Review the current deployment/distribution options for JavaFX and >>> determine ways to improve this to make it competitive with other >> popular >>> enterprise client platforms (e.g. HTML+JavaScript) for primary >> enterprise >>> OS' and platforms >>> >>> - Identify the most popular enterprise build and development tools and >>> determine a strategy for making JavaFX integrate into these >>> >>> - Review popular trends and toolkits within competitive platforms and >>> define the ideal frameworks and add-on tools needed by an enterprise >> client >>> (e.g. form validation). Use this list of high-level requirements to >>> determine the low-level JavaFX enhancements needed (e.g. allow field >>> markers so that a 3rd party validation framework could leverage these). >>> >>> - Create a demonstration enterprise application (along the lines of >>> PetClinic) demonstrating best practice for integrating JavaFX in a >> full, >>> end-to-end JEE stack. >>> >>> >>> Longer term objectives may include: >>> >>> - Develop (or foster community development of) the high-level >> frameworks >>> that have been identified as necessary for JavaFX in the enterprise. >> These >>> will likely be developed as third-party modules external to the JavaFX >> core >>> framework (i.e. built on top of the features provided by the core >> JavaFX >>> team). >>> >>> - Provide integration with existing or new Rapid Application >> Development >>> (RAD) tools popular within the enterprise Java space (e.g. ROO, etc). >> From peter.pilgrim at gmail.com Thu Oct 18 10:37:49 2012 From: peter.pilgrim at gmail.com (Peter Pilgrim) Date: Thu, 18 Oct 2012 18:37:49 +0100 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: <5983853290558174241@unknownmsgid> <150ADA31-1C0C-431C-8B02-5786777E5DCF@bestsolution.at> Message-ID: fwd On 18 October 2012 15:21, Peter Pilgrim wrote: > On 17 October 2012 23:00, Tom Schindl wrote: >> The problem is that we only get a control which is able to render rich text but unfortunately no editor! To get an editor with features you see in todays IDEs is a very long way from what we get with jfx8. > > Tom > > I agree it is render mode. > > Maybe that is something that could be part of jfxtra project. > > The poor's editor component would be in my head a version of the > gang-of-four Flyweight Pattern. You need some sort of Cursor and > Document types. You need also some way of calculating Text Character > extents. Horrible and complicated I know and agree, but those HTML5 > and JavaScript people did something like this years ago with the > editor that was written inside a browser (Dion Almear and Ben > Galbreath the Ajaxian unrelated brothers with ``Bespin'') > > Well Jeremy Clarkson (BBC Top Gear fame, UK) might exclaim, "How hard > can it be?" (all you do keep a record or row and column of cursor). > Agree the devil is in the details. Fixed font versus proportional > font. > > On the hand, I cannot remember seeing such a component listed in the > roadmap at this year's JavaOne. > >> >> Tom >> >> Von meinem iPad gesendet >> >> Am 17.10.2012 um 18:01 schrieb Peter Pilgrim : >> >>> Richard Bair gave a presentation on rich text components vis-a-vis >>> TextPane and TextFlow at JavaOne >>> >>> Supporting styles, bidirectional flow, Arabic /Hebrew maybe Chinese?, >>> proper text wrapping and flowing around a defined area. >>> >>> So in affect we should be all able to write IDE in JavaFX >>> >>> If Kim is lurking about still on this list, he will definite >>> understand the verbosity of the old Swing style text document Apis , >>> I expect better with the new FX text Apis in Fx8 >>> >>> Sent from my iPhone 4S > ==////== > > > -- > Peter Pilgrim, -- Peter Pilgrim, **Java Champion**, Java EE Software Development / Design / Architect for financial services, London, UK JavaFX ++ Scala ++ Groovy ++ Android ++ Java :: http://www.xenonique.co.uk/blog/ :: :: http://twitter.com/peter_pilgrim :: :: http://audio.fm/profile/peter_pilgrim :: :: Skype Call peter_pilgrim :: :: http://java-champions.java.net/ :: From phidias51 at gmail.com Thu Oct 18 10:39:54 2012 From: phidias51 at gmail.com (Mark Fortner) Date: Thu, 18 Oct 2012 10:39:54 -0700 Subject: Making JavaFX Development Faster Message-ID: One of the big timewasters when it comes to JavaFX projects taking your server-side POJOs, creating Observable versions of them, and creating forms, and controllers for them. If you've been doing JEE development in the past 5 years then you're probably already using Spring ROO, Grails, or some other RAD tooling that makes this type of work trivial in the web world. All of these artifacts are usually generated directly from the POJOs. So I'm curious if anyone knows of any tools that make that process easier and faster? Cheers, Mark From neugens.limasoftware at gmail.com Thu Oct 18 10:43:48 2012 From: neugens.limasoftware at gmail.com (Mario Torre) Date: Thu, 18 Oct 2012 19:43:48 +0200 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: <1F084963-FE21-4E4D-BE27-5F7A19AD8CC1@oracle.com> References: <1F084963-FE21-4E4D-BE27-5F7A19AD8CC1@oracle.com> Message-ID: Hi Richard, You should probably look at this old mail, since this may be what you need. http://mail.openjdk.java.net/pipermail/openjfx-dev/2011-December/000021.html We need to port this code to 2.2, I'll try to give it some love this week, it should give us also some good performances. Cheers, Mario 2012/10/18 Richard Bair : > From talking with the NB team, one feature they really need is to be able to embed Swing within JavaFX. Hopefully we can deliver on that for 8. > > On Oct 17, 2012, at 7:40 AM, Mark Claassen wrote: > >> I joined this list a few days ago because I wanted to start contributing >> So far, I am not sure it is quite where I should be. I would like to >> discuss more about the components (table, list boxes, ...). I am not >> exactly sure where to do that. >> >> However, I will add here that I started (a very short-lived) thread on the >> netbeans user list along these lines. Basically what I was saying was that >> Netbeans is a wonderful UI built on Swing. Could this same project be done >> in JavaFX? Maybe not yet, but could it be in the future? It seems like >> the JavaFX team could get a lot of advice and requirements from the >> netbeans team. >> >> http://forums.netbeans.org/topic51717.html >> >> Some of the main data structures, like the ObservableList, make me cringe. >> I created a similar structure 10 years ago and have since learned the error >> of my ways. Granted, the JavaFX team has a lot more resources and >> experience than I did all those years ago, but from my point of view, there >> are dangerous waters ahead. >> >> >> On Wed, Oct 17, 2012 at 10:23 AM, Richard Bair wrote: >> >>> We are already doing everything on your list (which was pretty void of >>> specifics). Please list specific work projects, linked to specific JIRA >>> issues, and vote for them and for goodness sake contribute! >>> >>> >>> >>> >>> On Oct 17, 2012, at 12:49 AM, Daniel Zwolenski wrote: >>> >>>> So Oracle as an organization doesn't think JavaFX can be a player in the >>>> web/enterprise space and is backing HTML5. I don't agree, JavaFX has the >>> * >>>> potential* to be better. But it's a long way behind and gotten off to a >>>> rocky start; there's a hell of a lot of work to be done and the current >>>> rate, strategy and direction are not going to be nearly enough. >>>> >>>> Oracle is a big corporation with many different divisions. The left arm >>>> doesn't know what the right is doing. So let's put aside 'oracle' for a >>>> moment. I want to know: what does the JavaFX team think? Do you want to >>> go >>>> up against HTML5 for the client space, or just settle for a spot on the >>>> fringe? >>>> >>>> Below is what I propose. >>>> >>>> This proposal needs the full backing of the JavaFX team and management. >>>> Specifically it needs: >>>> >>>> 1. Belief that JavaFX can and should be the *number one* client >>>> development platform for enterprise. >>>> 2. Recognition that the current strategy will not make that happen. >>>> 3. Resources (aka people) allocated to the working group outlined >>> below. >>>> These people must have enough influence in the JFX platform to >>> legitimately >>>> be able to influence the direction as needed. >>>> 4. Commitment to supporting this working group fully and implementing >>>> the strategies and recommendations that come out of it as a high >>> priority >>>> 5. A sense of urgency, and a proactive pursuit of achieving these goals >>>> with a well defined timeline (i.e. "resources will be allocated by >>> November >>>> 2012" not "we're working on it"). >>>> >>>> In my opinion, all of these must be met 100%. Otherwise there is no point >>>> starting at all and better to let it go and leave the enterprise space to >>>> other players like HTML5 as 'Oracle' is suggesting. This is your call. >>>> >>>> I believe JavaFX can be the best platform for client-side enterprise >>>> application development, capitalising-on, and adding-to Java's dominance >>> in >>>> server side enterprise development. >>>> >>>> Do you? >>>> >>>> >>>> *Proposal to form a working group for JavaFX in the enterprise* >>>> >>>> Mission: >>>> >>>> - to position JavaFX as *the* dominant client-side development platform >>>> for enterprise/business applications >>>> >>>> >>>> Members: >>>> >>>> - a combination of paid Oracle JavaFX team members, and community >>>> participants. The Oracle members must have the ability to access senior >>>> JavaFX management and technical decision makers, and as such influence >>> the >>>> road map and direction of the JavaFX platform. Community members will >>> be >>>> those with a background and experience in the enterprise space and who >>> are >>>> committed to making JavaFX the platform of choice in this space. >>>> >>>> >>>> Responsibilities: >>>> >>>> - Continuously identify improvements to the JavaFX platform that are >>>> needed to ensure adoption by enterprise; drive the inclusion of these >>> into >>>> the JavaFX platform. >>>> >>>> - Continuously identify and monitor trends and developments within the >>>> enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and >>>> ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's >>>> long term viability for their needs. >>>> >>>> - Provide best practices, community/forum support, documentation, >>>> examples, tool add-ons, frameworks and other aids for integrating >>> JavaFX >>>> into popular enterprise technology stacks >>>> >>>> - Provide advocacy, publicity and drive general engagement and outreach >>>> programs for the adoption of JavaFX in the enterprise. >>>> >>>> >>>> Objectives: >>>> >>>> Objectives will be determined by the working group once formed, however >>>> initial objectives will likely include the following: >>>> >>>> - Review the current deployment/distribution options for JavaFX and >>>> determine ways to improve this to make it competitive with other >>> popular >>>> enterprise client platforms (e.g. HTML+JavaScript) for primary >>> enterprise >>>> OS' and platforms >>>> >>>> - Identify the most popular enterprise build and development tools and >>>> determine a strategy for making JavaFX integrate into these >>>> >>>> - Review popular trends and toolkits within competitive platforms and >>>> define the ideal frameworks and add-on tools needed by an enterprise >>> client >>>> (e.g. form validation). Use this list of high-level requirements to >>>> determine the low-level JavaFX enhancements needed (e.g. allow field >>>> markers so that a 3rd party validation framework could leverage these). >>>> >>>> - Create a demonstration enterprise application (along the lines of >>>> PetClinic) demonstrating best practice for integrating JavaFX in a >>> full, >>>> end-to-end JEE stack. >>>> >>>> >>>> Longer term objectives may include: >>>> >>>> - Develop (or foster community development of) the high-level >>> frameworks >>>> that have been identified as necessary for JavaFX in the enterprise. >>> These >>>> will likely be developed as third-party modules external to the JavaFX >>> core >>>> framework (i.e. built on top of the features provided by the core >>> JavaFX >>>> team). >>>> >>>> - Provide integration with existing or new Rapid Application >>> Development >>>> (RAD) tools popular within the enterprise Java space (e.g. ROO, etc). >>> > -- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/ From tom.schindl at bestsolution.at Thu Oct 18 10:47:16 2012 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Thu, 18 Oct 2012 19:47:16 +0200 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: <5983853290558174241@unknownmsgid> <150ADA31-1C0C-431C-8B02-5786777E5DCF@bestsolution.at> Message-ID: <508040A4.50707@bestsolution.at> Am 18.10.12 19:37, schrieb Peter Pilgrim: > fwd > > On 18 October 2012 15:21, Peter Pilgrim wrote: >> On 17 October 2012 23:00, Tom Schindl wrote: >>> The problem is that we only get a control which is able to render rich text but unfortunately no editor! To get an editor with features you see in todays IDEs is a very long way from what we get with jfx8. >> >> Tom >> >> I agree it is render mode. >> >> Maybe that is something that could be part of jfxtra project. >> Sure. >> The poor's editor component would be in my head a version of the >> gang-of-four Flyweight Pattern. You need some sort of Cursor and >> Document types. You need also some way of calculating Text Character >> extents. Horrible and complicated I know and agree, but those HTML5 >> and JavaScript people did something like this years ago with the >> editor that was written inside a browser (Dion Almear and Ben >> Galbreath the Ajaxian unrelated brothers with ``Bespin'') Well the last information I have from Felipe on this is that he already has all the picking, ... stuff implemented but I need to play with it. The JavaScript guys you mention is exactly what I'm doing. I simply use an embedded webview to provide me a structured editor. Did you look at my blog to see it in action? I'm going to look into the rich text control after EclipseCon Europe and I'll try to get in touch with Felipe - maybe with a bit we could get something going. I only know the stuff we have at Eclipse and all the parsing infrastructure e.g. to split of source code into segments does not depend at all on SWT so we can reuse it without problems! Tom -- B e s t S o l u t i o n . a t EDV Systemhaus GmbH ------------------------------------------------------------------------ tom schindl gesch?ftsf?hrer/CEO ------------------------------------------------------------------------ eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 http://www.BestSolution.at phone ++43 512 935834 From roman at kennke.org Thu Oct 18 10:49:12 2012 From: roman at kennke.org (Roman Kennke) Date: Thu, 18 Oct 2012 19:49:12 +0200 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: <1F084963-FE21-4E4D-BE27-5F7A19AD8CC1@oracle.com> References: <1F084963-FE21-4E4D-BE27-5F7A19AD8CC1@oracle.com> Message-ID: <1350582552.2097.115.camel@mercury> > From talking with the NB team, one feature they really need is to be > able to embed Swing within JavaFX. Hopefully we can deliver on that > for 8. Interesting! We (Mario and I) found the same thing when we tried out JavaFX in a corporate/banking environment last year. There are just so many custom components that in some cases took years to build, which are not going to easily be replaced by JavaFX counterparts (although they would probably take much less time to do in JavaFX). That is why we started our SwingView back then. Unfortunately, we did not follow up with it though, due to a lack of support from JavaFX (API-wise). Now, with the new image/pixel APIs, would be a good time to revisit this effort. Unless you already have something in the pipe for that, that is. On the other hand, if you have not already started on this, we might be more than willing to work on it and contribute it to JavaFX mainline. (Some somewhat old info on our SwingView is here: http://thingsfx.com/) Cheers, Roman From richard.bair at oracle.com Thu Oct 18 10:54:31 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 10:54:31 -0700 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: <1F084963-FE21-4E4D-BE27-5F7A19AD8CC1@oracle.com> Message-ID: <4A67C2BA-6B04-4DB3-A6A4-3166DAA47B52@oracle.com> The AWT / Glass guys actually have a prototype of all of SwingSet running in JavaFX. I think most of the technical hurdles have been resolved (? Artem would know better), but it is just a matter of resourcing (there were some changes in AWT to get the best performance / integration). Richard On Oct 18, 2012, at 10:43 AM, Mario Torre wrote: > Hi Richard, > > You should probably look at this old mail, since this may be what you need. > > http://mail.openjdk.java.net/pipermail/openjfx-dev/2011-December/000021.html > > We need to port this code to 2.2, I'll try to give it some love this > week, it should give us also some good performances. > > Cheers, > Mario > > 2012/10/18 Richard Bair : >> From talking with the NB team, one feature they really need is to be able to embed Swing within JavaFX. Hopefully we can deliver on that for 8. >> >> On Oct 17, 2012, at 7:40 AM, Mark Claassen wrote: >> >>> I joined this list a few days ago because I wanted to start contributing >>> So far, I am not sure it is quite where I should be. I would like to >>> discuss more about the components (table, list boxes, ...). I am not >>> exactly sure where to do that. >>> >>> However, I will add here that I started (a very short-lived) thread on the >>> netbeans user list along these lines. Basically what I was saying was that >>> Netbeans is a wonderful UI built on Swing. Could this same project be done >>> in JavaFX? Maybe not yet, but could it be in the future? It seems like >>> the JavaFX team could get a lot of advice and requirements from the >>> netbeans team. >>> >>> http://forums.netbeans.org/topic51717.html >>> >>> Some of the main data structures, like the ObservableList, make me cringe. >>> I created a similar structure 10 years ago and have since learned the error >>> of my ways. Granted, the JavaFX team has a lot more resources and >>> experience than I did all those years ago, but from my point of view, there >>> are dangerous waters ahead. >>> >>> >>> On Wed, Oct 17, 2012 at 10:23 AM, Richard Bair wrote: >>> >>>> We are already doing everything on your list (which was pretty void of >>>> specifics). Please list specific work projects, linked to specific JIRA >>>> issues, and vote for them and for goodness sake contribute! >>>> >>>> >>>> >>>> >>>> On Oct 17, 2012, at 12:49 AM, Daniel Zwolenski wrote: >>>> >>>>> So Oracle as an organization doesn't think JavaFX can be a player in the >>>>> web/enterprise space and is backing HTML5. I don't agree, JavaFX has the >>>> * >>>>> potential* to be better. But it's a long way behind and gotten off to a >>>>> rocky start; there's a hell of a lot of work to be done and the current >>>>> rate, strategy and direction are not going to be nearly enough. >>>>> >>>>> Oracle is a big corporation with many different divisions. The left arm >>>>> doesn't know what the right is doing. So let's put aside 'oracle' for a >>>>> moment. I want to know: what does the JavaFX team think? Do you want to >>>> go >>>>> up against HTML5 for the client space, or just settle for a spot on the >>>>> fringe? >>>>> >>>>> Below is what I propose. >>>>> >>>>> This proposal needs the full backing of the JavaFX team and management. >>>>> Specifically it needs: >>>>> >>>>> 1. Belief that JavaFX can and should be the *number one* client >>>>> development platform for enterprise. >>>>> 2. Recognition that the current strategy will not make that happen. >>>>> 3. Resources (aka people) allocated to the working group outlined >>>> below. >>>>> These people must have enough influence in the JFX platform to >>>> legitimately >>>>> be able to influence the direction as needed. >>>>> 4. Commitment to supporting this working group fully and implementing >>>>> the strategies and recommendations that come out of it as a high >>>> priority >>>>> 5. A sense of urgency, and a proactive pursuit of achieving these goals >>>>> with a well defined timeline (i.e. "resources will be allocated by >>>> November >>>>> 2012" not "we're working on it"). >>>>> >>>>> In my opinion, all of these must be met 100%. Otherwise there is no point >>>>> starting at all and better to let it go and leave the enterprise space to >>>>> other players like HTML5 as 'Oracle' is suggesting. This is your call. >>>>> >>>>> I believe JavaFX can be the best platform for client-side enterprise >>>>> application development, capitalising-on, and adding-to Java's dominance >>>> in >>>>> server side enterprise development. >>>>> >>>>> Do you? >>>>> >>>>> >>>>> *Proposal to form a working group for JavaFX in the enterprise* >>>>> >>>>> Mission: >>>>> >>>>> - to position JavaFX as *the* dominant client-side development platform >>>>> for enterprise/business applications >>>>> >>>>> >>>>> Members: >>>>> >>>>> - a combination of paid Oracle JavaFX team members, and community >>>>> participants. The Oracle members must have the ability to access senior >>>>> JavaFX management and technical decision makers, and as such influence >>>> the >>>>> road map and direction of the JavaFX platform. Community members will >>>> be >>>>> those with a background and experience in the enterprise space and who >>>> are >>>>> committed to making JavaFX the platform of choice in this space. >>>>> >>>>> >>>>> Responsibilities: >>>>> >>>>> - Continuously identify improvements to the JavaFX platform that are >>>>> needed to ensure adoption by enterprise; drive the inclusion of these >>>> into >>>>> the JavaFX platform. >>>>> >>>>> - Continuously identify and monitor trends and developments within the >>>>> enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and >>>>> ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's >>>>> long term viability for their needs. >>>>> >>>>> - Provide best practices, community/forum support, documentation, >>>>> examples, tool add-ons, frameworks and other aids for integrating >>>> JavaFX >>>>> into popular enterprise technology stacks >>>>> >>>>> - Provide advocacy, publicity and drive general engagement and outreach >>>>> programs for the adoption of JavaFX in the enterprise. >>>>> >>>>> >>>>> Objectives: >>>>> >>>>> Objectives will be determined by the working group once formed, however >>>>> initial objectives will likely include the following: >>>>> >>>>> - Review the current deployment/distribution options for JavaFX and >>>>> determine ways to improve this to make it competitive with other >>>> popular >>>>> enterprise client platforms (e.g. HTML+JavaScript) for primary >>>> enterprise >>>>> OS' and platforms >>>>> >>>>> - Identify the most popular enterprise build and development tools and >>>>> determine a strategy for making JavaFX integrate into these >>>>> >>>>> - Review popular trends and toolkits within competitive platforms and >>>>> define the ideal frameworks and add-on tools needed by an enterprise >>>> client >>>>> (e.g. form validation). Use this list of high-level requirements to >>>>> determine the low-level JavaFX enhancements needed (e.g. allow field >>>>> markers so that a 3rd party validation framework could leverage these). >>>>> >>>>> - Create a demonstration enterprise application (along the lines of >>>>> PetClinic) demonstrating best practice for integrating JavaFX in a >>>> full, >>>>> end-to-end JEE stack. >>>>> >>>>> >>>>> Longer term objectives may include: >>>>> >>>>> - Develop (or foster community development of) the high-level >>>> frameworks >>>>> that have been identified as necessary for JavaFX in the enterprise. >>>> These >>>>> will likely be developed as third-party modules external to the JavaFX >>>> core >>>>> framework (i.e. built on top of the features provided by the core >>>> JavaFX >>>>> team). >>>>> >>>>> - Provide integration with existing or new Rapid Application >>>> Development >>>>> (RAD) tools popular within the enterprise Java space (e.g. ROO, etc). >>>> >> > > > > -- > pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF > Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF > > IcedRobot: www.icedrobot.org > Proud GNU Classpath developer: http://www.classpath.org/ > Read About us at: http://planet.classpath.org > OpenJDK: http://openjdk.java.net/projects/caciocavallo/ > > Please, support open standards: > http://endsoftpatents.org/ From richard.bair at oracle.com Thu Oct 18 11:00:53 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 11:00:53 -0700 Subject: Swing in FX In-Reply-To: <1350582552.2097.115.camel@mercury> References: <1F084963-FE21-4E4D-BE27-5F7A19AD8CC1@oracle.com> <1350582552.2097.115.camel@mercury> Message-ID: Ya, the stuff you guys did was awesome and got the ball rolling. Without that we'd have had a much harder time getting something production worthy put together! I will check with the team and see what the likelihood is that they can deliver their solution, and also where it would go. Right now my main focus is on getting everything open sourced as quickly as possible, and rewriting the build system to something simple and sensible for the modules that we really have (whereas now we have many micro-modules). My main focus for the next month or so is to fulfill the promise we made way back last year that we'd open source JavaFX and run like a real open source project. On Oct 18, 2012, at 10:49 AM, Roman Kennke wrote: >> From talking with the NB team, one feature they really need is to be >> able to embed Swing within JavaFX. Hopefully we can deliver on that >> for 8. > > Interesting! We (Mario and I) found the same thing when we tried out > JavaFX in a corporate/banking environment last year. There are just so > many custom components that in some cases took years to build, which are > not going to easily be replaced by JavaFX counterparts (although they > would probably take much less time to do in JavaFX). That is why we > started our SwingView back then. Unfortunately, we did not follow up > with it though, due to a lack of support from JavaFX (API-wise). Now, > with the new image/pixel APIs, would be a good time to revisit this > effort. Unless you already have something in the pipe for that, that is. > On the other hand, if you have not already started on this, we might be > more than willing to work on it and contribute it to JavaFX mainline. > > (Some somewhat old info on our SwingView is here: http://thingsfx.com/) > > Cheers, > Roman > From phidias51 at gmail.com Thu Oct 18 11:06:21 2012 From: phidias51 at gmail.com (Mark Fortner) Date: Thu, 18 Oct 2012 11:06:21 -0700 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: <4A67C2BA-6B04-4DB3-A6A4-3166DAA47B52@oracle.com> References: <1F084963-FE21-4E4D-BE27-5F7A19AD8CC1@oracle.com> <4A67C2BA-6B04-4DB3-A6A4-3166DAA47B52@oracle.com> Message-ID: Richard, This is pretty critical in order to get Swing applications ported over to JavaFX. There are a lot of libraries out there that probably will never be ported to JavaFX, and for which there are no JavaFX equivalents. This kind of embedding makes is possible for people to at least entertain the idea of transitioning to JavaFX. Is there a JIRA issue for this? Cheers, Mark On Thu, Oct 18, 2012 at 10:54 AM, Richard Bair wrote: > The AWT / Glass guys actually have a prototype of all of SwingSet running > in JavaFX. I think most of the technical hurdles have been resolved (? > Artem would know better), but it is just a matter of resourcing (there were > some changes in AWT to get the best performance / integration). > > Richard > > On Oct 18, 2012, at 10:43 AM, Mario Torre wrote: > > > Hi Richard, > > > > You should probably look at this old mail, since this may be what you > need. > > > > > http://mail.openjdk.java.net/pipermail/openjfx-dev/2011-December/000021.html > > > > We need to port this code to 2.2, I'll try to give it some love this > > week, it should give us also some good performances. > > > > Cheers, > > Mario > > > > 2012/10/18 Richard Bair : > >> From talking with the NB team, one feature they really need is to be > able to embed Swing within JavaFX. Hopefully we can deliver on that for 8. > >> > >> On Oct 17, 2012, at 7:40 AM, Mark Claassen wrote: > >> > >>> I joined this list a few days ago because I wanted to start > contributing > >>> So far, I am not sure it is quite where I should be. I would like to > >>> discuss more about the components (table, list boxes, ...). I am not > >>> exactly sure where to do that. > >>> > >>> However, I will add here that I started (a very short-lived) thread on > the > >>> netbeans user list along these lines. Basically what I was saying was > that > >>> Netbeans is a wonderful UI built on Swing. Could this same project be > done > >>> in JavaFX? Maybe not yet, but could it be in the future? It seems > like > >>> the JavaFX team could get a lot of advice and requirements from the > >>> netbeans team. > >>> > >>> http://forums.netbeans.org/topic51717.html > >>> > >>> Some of the main data structures, like the ObservableList, make me > cringe. > >>> I created a similar structure 10 years ago and have since learned the > error > >>> of my ways. Granted, the JavaFX team has a lot more resources and > >>> experience than I did all those years ago, but from my point of view, > there > >>> are dangerous waters ahead. > >>> > >>> > >>> On Wed, Oct 17, 2012 at 10:23 AM, Richard Bair < > richard.bair at oracle.com>wrote: > >>> > >>>> We are already doing everything on your list (which was pretty void of > >>>> specifics). Please list specific work projects, linked to specific > JIRA > >>>> issues, and vote for them and for goodness sake contribute! > >>>> > >>>> > >>>> > >>>> > >>>> On Oct 17, 2012, at 12:49 AM, Daniel Zwolenski > wrote: > >>>> > >>>>> So Oracle as an organization doesn't think JavaFX can be a player in > the > >>>>> web/enterprise space and is backing HTML5. I don't agree, JavaFX has > the > >>>> * > >>>>> potential* to be better. But it's a long way behind and gotten off > to a > >>>>> rocky start; there's a hell of a lot of work to be done and the > current > >>>>> rate, strategy and direction are not going to be nearly enough. > >>>>> > >>>>> Oracle is a big corporation with many different divisions. The left > arm > >>>>> doesn't know what the right is doing. So let's put aside 'oracle' > for a > >>>>> moment. I want to know: what does the JavaFX team think? Do you want > to > >>>> go > >>>>> up against HTML5 for the client space, or just settle for a spot on > the > >>>>> fringe? > >>>>> > >>>>> Below is what I propose. > >>>>> > >>>>> This proposal needs the full backing of the JavaFX team and > management. > >>>>> Specifically it needs: > >>>>> > >>>>> 1. Belief that JavaFX can and should be the *number one* client > >>>>> development platform for enterprise. > >>>>> 2. Recognition that the current strategy will not make that happen. > >>>>> 3. Resources (aka people) allocated to the working group outlined > >>>> below. > >>>>> These people must have enough influence in the JFX platform to > >>>> legitimately > >>>>> be able to influence the direction as needed. > >>>>> 4. Commitment to supporting this working group fully and implementing > >>>>> the strategies and recommendations that come out of it as a high > >>>> priority > >>>>> 5. A sense of urgency, and a proactive pursuit of achieving these > goals > >>>>> with a well defined timeline (i.e. "resources will be allocated by > >>>> November > >>>>> 2012" not "we're working on it"). > >>>>> > >>>>> In my opinion, all of these must be met 100%. Otherwise there is no > point > >>>>> starting at all and better to let it go and leave the enterprise > space to > >>>>> other players like HTML5 as 'Oracle' is suggesting. This is your > call. > >>>>> > >>>>> I believe JavaFX can be the best platform for client-side enterprise > >>>>> application development, capitalising-on, and adding-to Java's > dominance > >>>> in > >>>>> server side enterprise development. > >>>>> > >>>>> Do you? > >>>>> > >>>>> > >>>>> *Proposal to form a working group for JavaFX in the enterprise* > >>>>> > >>>>> Mission: > >>>>> > >>>>> - to position JavaFX as *the* dominant client-side development > platform > >>>>> for enterprise/business applications > >>>>> > >>>>> > >>>>> Members: > >>>>> > >>>>> - a combination of paid Oracle JavaFX team members, and community > >>>>> participants. The Oracle members must have the ability to access > senior > >>>>> JavaFX management and technical decision makers, and as such > influence > >>>> the > >>>>> road map and direction of the JavaFX platform. Community members will > >>>> be > >>>>> those with a background and experience in the enterprise space and > who > >>>> are > >>>>> committed to making JavaFX the platform of choice in this space. > >>>>> > >>>>> > >>>>> Responsibilities: > >>>>> > >>>>> - Continuously identify improvements to the JavaFX platform that are > >>>>> needed to ensure adoption by enterprise; drive the inclusion of these > >>>> into > >>>>> the JavaFX platform. > >>>>> > >>>>> - Continuously identify and monitor trends and developments within > the > >>>>> enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and > >>>>> ensure the JavaFX roadmap provides confidence to enterprise of > JavaFX's > >>>>> long term viability for their needs. > >>>>> > >>>>> - Provide best practices, community/forum support, documentation, > >>>>> examples, tool add-ons, frameworks and other aids for integrating > >>>> JavaFX > >>>>> into popular enterprise technology stacks > >>>>> > >>>>> - Provide advocacy, publicity and drive general engagement and > outreach > >>>>> programs for the adoption of JavaFX in the enterprise. > >>>>> > >>>>> > >>>>> Objectives: > >>>>> > >>>>> Objectives will be determined by the working group once formed, > however > >>>>> initial objectives will likely include the following: > >>>>> > >>>>> - Review the current deployment/distribution options for JavaFX and > >>>>> determine ways to improve this to make it competitive with other > >>>> popular > >>>>> enterprise client platforms (e.g. HTML+JavaScript) for primary > >>>> enterprise > >>>>> OS' and platforms > >>>>> > >>>>> - Identify the most popular enterprise build and development tools > and > >>>>> determine a strategy for making JavaFX integrate into these > >>>>> > >>>>> - Review popular trends and toolkits within competitive platforms and > >>>>> define the ideal frameworks and add-on tools needed by an enterprise > >>>> client > >>>>> (e.g. form validation). Use this list of high-level requirements to > >>>>> determine the low-level JavaFX enhancements needed (e.g. allow field > >>>>> markers so that a 3rd party validation framework could leverage > these). > >>>>> > >>>>> - Create a demonstration enterprise application (along the lines of > >>>>> PetClinic) demonstrating best practice for integrating JavaFX in a > >>>> full, > >>>>> end-to-end JEE stack. > >>>>> > >>>>> > >>>>> Longer term objectives may include: > >>>>> > >>>>> - Develop (or foster community development of) the high-level > >>>> frameworks > >>>>> that have been identified as necessary for JavaFX in the enterprise. > >>>> These > >>>>> will likely be developed as third-party modules external to the > JavaFX > >>>> core > >>>>> framework (i.e. built on top of the features provided by the core > >>>> JavaFX > >>>>> team). > >>>>> > >>>>> - Provide integration with existing or new Rapid Application > >>>> Development > >>>>> (RAD) tools popular within the enterprise Java space (e.g. ROO, etc). > >>>> > >> > > > > > > > > -- > > pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF > > Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF > > > > IcedRobot: www.icedrobot.org > > Proud GNU Classpath developer: http://www.classpath.org/ > > Read About us at: http://planet.classpath.org > > OpenJDK: http://openjdk.java.net/projects/caciocavallo/ > > > > Please, support open standards: > > http://endsoftpatents.org/ > > From neugens.limasoftware at gmail.com Thu Oct 18 11:06:44 2012 From: neugens.limasoftware at gmail.com (Mario Torre) Date: Thu, 18 Oct 2012 20:06:44 +0200 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: <4A67C2BA-6B04-4DB3-A6A4-3166DAA47B52@oracle.com> References: <1F084963-FE21-4E4D-BE27-5F7A19AD8CC1@oracle.com> <4A67C2BA-6B04-4DB3-A6A4-3166DAA47B52@oracle.com> Message-ID: Ah, like this, you mean? ;) http://rkennke.wordpress.com/2011/11/16/swing-in-javafx-demo/ Cheers, Mario 2012/10/18 Richard Bair : > The AWT / Glass guys actually have a prototype of all of SwingSet running in JavaFX. I think most of the technical hurdles have been resolved (? Artem would know better), but it is just a matter of resourcing (there were some changes in AWT to get the best performance / integration). > > Richard > > On Oct 18, 2012, at 10:43 AM, Mario Torre wrote: > >> Hi Richard, >> >> You should probably look at this old mail, since this may be what you need. >> >> http://mail.openjdk.java.net/pipermail/openjfx-dev/2011-December/000021.html >> >> We need to port this code to 2.2, I'll try to give it some love this >> week, it should give us also some good performances. >> >> Cheers, >> Mario >> >> 2012/10/18 Richard Bair : >>> From talking with the NB team, one feature they really need is to be able to embed Swing within JavaFX. Hopefully we can deliver on that for 8. >>> >>> On Oct 17, 2012, at 7:40 AM, Mark Claassen wrote: >>> >>>> I joined this list a few days ago because I wanted to start contributing >>>> So far, I am not sure it is quite where I should be. I would like to >>>> discuss more about the components (table, list boxes, ...). I am not >>>> exactly sure where to do that. >>>> >>>> However, I will add here that I started (a very short-lived) thread on the >>>> netbeans user list along these lines. Basically what I was saying was that >>>> Netbeans is a wonderful UI built on Swing. Could this same project be done >>>> in JavaFX? Maybe not yet, but could it be in the future? It seems like >>>> the JavaFX team could get a lot of advice and requirements from the >>>> netbeans team. >>>> >>>> http://forums.netbeans.org/topic51717.html >>>> >>>> Some of the main data structures, like the ObservableList, make me cringe. >>>> I created a similar structure 10 years ago and have since learned the error >>>> of my ways. Granted, the JavaFX team has a lot more resources and >>>> experience than I did all those years ago, but from my point of view, there >>>> are dangerous waters ahead. >>>> >>>> >>>> On Wed, Oct 17, 2012 at 10:23 AM, Richard Bair wrote: >>>> >>>>> We are already doing everything on your list (which was pretty void of >>>>> specifics). Please list specific work projects, linked to specific JIRA >>>>> issues, and vote for them and for goodness sake contribute! >>>>> >>>>> >>>>> >>>>> >>>>> On Oct 17, 2012, at 12:49 AM, Daniel Zwolenski wrote: >>>>> >>>>>> So Oracle as an organization doesn't think JavaFX can be a player in the >>>>>> web/enterprise space and is backing HTML5. I don't agree, JavaFX has the >>>>> * >>>>>> potential* to be better. But it's a long way behind and gotten off to a >>>>>> rocky start; there's a hell of a lot of work to be done and the current >>>>>> rate, strategy and direction are not going to be nearly enough. >>>>>> >>>>>> Oracle is a big corporation with many different divisions. The left arm >>>>>> doesn't know what the right is doing. So let's put aside 'oracle' for a >>>>>> moment. I want to know: what does the JavaFX team think? Do you want to >>>>> go >>>>>> up against HTML5 for the client space, or just settle for a spot on the >>>>>> fringe? >>>>>> >>>>>> Below is what I propose. >>>>>> >>>>>> This proposal needs the full backing of the JavaFX team and management. >>>>>> Specifically it needs: >>>>>> >>>>>> 1. Belief that JavaFX can and should be the *number one* client >>>>>> development platform for enterprise. >>>>>> 2. Recognition that the current strategy will not make that happen. >>>>>> 3. Resources (aka people) allocated to the working group outlined >>>>> below. >>>>>> These people must have enough influence in the JFX platform to >>>>> legitimately >>>>>> be able to influence the direction as needed. >>>>>> 4. Commitment to supporting this working group fully and implementing >>>>>> the strategies and recommendations that come out of it as a high >>>>> priority >>>>>> 5. A sense of urgency, and a proactive pursuit of achieving these goals >>>>>> with a well defined timeline (i.e. "resources will be allocated by >>>>> November >>>>>> 2012" not "we're working on it"). >>>>>> >>>>>> In my opinion, all of these must be met 100%. Otherwise there is no point >>>>>> starting at all and better to let it go and leave the enterprise space to >>>>>> other players like HTML5 as 'Oracle' is suggesting. This is your call. >>>>>> >>>>>> I believe JavaFX can be the best platform for client-side enterprise >>>>>> application development, capitalising-on, and adding-to Java's dominance >>>>> in >>>>>> server side enterprise development. >>>>>> >>>>>> Do you? >>>>>> >>>>>> >>>>>> *Proposal to form a working group for JavaFX in the enterprise* >>>>>> >>>>>> Mission: >>>>>> >>>>>> - to position JavaFX as *the* dominant client-side development platform >>>>>> for enterprise/business applications >>>>>> >>>>>> >>>>>> Members: >>>>>> >>>>>> - a combination of paid Oracle JavaFX team members, and community >>>>>> participants. The Oracle members must have the ability to access senior >>>>>> JavaFX management and technical decision makers, and as such influence >>>>> the >>>>>> road map and direction of the JavaFX platform. Community members will >>>>> be >>>>>> those with a background and experience in the enterprise space and who >>>>> are >>>>>> committed to making JavaFX the platform of choice in this space. >>>>>> >>>>>> >>>>>> Responsibilities: >>>>>> >>>>>> - Continuously identify improvements to the JavaFX platform that are >>>>>> needed to ensure adoption by enterprise; drive the inclusion of these >>>>> into >>>>>> the JavaFX platform. >>>>>> >>>>>> - Continuously identify and monitor trends and developments within the >>>>>> enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and >>>>>> ensure the JavaFX roadmap provides confidence to enterprise of JavaFX's >>>>>> long term viability for their needs. >>>>>> >>>>>> - Provide best practices, community/forum support, documentation, >>>>>> examples, tool add-ons, frameworks and other aids for integrating >>>>> JavaFX >>>>>> into popular enterprise technology stacks >>>>>> >>>>>> - Provide advocacy, publicity and drive general engagement and outreach >>>>>> programs for the adoption of JavaFX in the enterprise. >>>>>> >>>>>> >>>>>> Objectives: >>>>>> >>>>>> Objectives will be determined by the working group once formed, however >>>>>> initial objectives will likely include the following: >>>>>> >>>>>> - Review the current deployment/distribution options for JavaFX and >>>>>> determine ways to improve this to make it competitive with other >>>>> popular >>>>>> enterprise client platforms (e.g. HTML+JavaScript) for primary >>>>> enterprise >>>>>> OS' and platforms >>>>>> >>>>>> - Identify the most popular enterprise build and development tools and >>>>>> determine a strategy for making JavaFX integrate into these >>>>>> >>>>>> - Review popular trends and toolkits within competitive platforms and >>>>>> define the ideal frameworks and add-on tools needed by an enterprise >>>>> client >>>>>> (e.g. form validation). Use this list of high-level requirements to >>>>>> determine the low-level JavaFX enhancements needed (e.g. allow field >>>>>> markers so that a 3rd party validation framework could leverage these). >>>>>> >>>>>> - Create a demonstration enterprise application (along the lines of >>>>>> PetClinic) demonstrating best practice for integrating JavaFX in a >>>>> full, >>>>>> end-to-end JEE stack. >>>>>> >>>>>> >>>>>> Longer term objectives may include: >>>>>> >>>>>> - Develop (or foster community development of) the high-level >>>>> frameworks >>>>>> that have been identified as necessary for JavaFX in the enterprise. >>>>> These >>>>>> will likely be developed as third-party modules external to the JavaFX >>>>> core >>>>>> framework (i.e. built on top of the features provided by the core >>>>> JavaFX >>>>>> team). >>>>>> >>>>>> - Provide integration with existing or new Rapid Application >>>>> Development >>>>>> (RAD) tools popular within the enterprise Java space (e.g. ROO, etc). >>>>> >>> >> >> >> >> -- >> pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF >> Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF >> >> IcedRobot: www.icedrobot.org >> Proud GNU Classpath developer: http://www.classpath.org/ >> Read About us at: http://planet.classpath.org >> OpenJDK: http://openjdk.java.net/projects/caciocavallo/ >> >> Please, support open standards: >> http://endsoftpatents.org/ > -- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/ From java.whoover at gmail.com Thu Oct 18 11:09:27 2012 From: java.whoover at gmail.com (Will Hoover) Date: Thu, 18 Oct 2012 14:09:27 -0400 Subject: Making JavaFX Development Faster In-Reply-To: References: Message-ID: <508045d8.e9b6ec0a.4c98.01bb@mx.google.com> As mentioned in an earlier thread of yours, you can save a lot of time creating Observable versions of your POJOs by using http://wp.me/p2rLDc-1c It will auto-generate all of your POJO Observable properties for you as you bind them (provided you don't need any fancy expressions ;) -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark Fortner Sent: Thursday, October 18, 2012 1:40 PM To: openjfx-dev at openjdk.java.net Subject: Making JavaFX Development Faster One of the big timewasters when it comes to JavaFX projects taking your server-side POJOs, creating Observable versions of them, and creating forms, and controllers for them. If you've been doing JEE development in the past 5 years then you're probably already using Spring ROO, Grails, or some other RAD tooling that makes this type of work trivial in the web world. All of these artifacts are usually generated directly from the POJOs. So I'm curious if anyone knows of any tools that make that process easier and faster? Cheers, Mark From lehmann at media-interactive.de Thu Oct 18 11:09:15 2012 From: lehmann at media-interactive.de (Werner Lehmann) Date: Thu, 18 Oct 2012 20:09:15 +0200 Subject: Making JavaFX Development Faster In-Reply-To: References: Message-ID: <508045CB.2040207@media-interactive.de> Mark, the latest links collection on the FX Experience blog includes this: > DooApp have announced an updated release of their FXForm2 project > (which can automatically generate forms from Java beans). http://blog.dooapp.com/fxml-fxform2-developing-forms-has-never-been Sounds like part of what you asked about (creating forms). I did not look into it though. About auto-generating observable versions of server-side pojos: I am sure this could be done with a code generator. However, I am not sure this is the best approach. I don't want to come up with a new name for my domain bean, and copy data back and forth just so that I can use it with controls requiring observable values. Recently I needed to display a few pojos in a TableView. Getting the data in was not difficult with the help of a PropertyValueFactory, as described in the TableView JavaDoc. But what if the pojo properties change? That's the hard part because TableView won't pick up the changes, not even after a repaint. Obviously the reflected value is cached. I had to jump through quite some hoops to provide TableView with observable property wrappers for pojo properties in a somewhat generic way. If there only was a method to force an update of a row or cell... Rgds Werner On 18.10.2012 19:39, Mark Fortner wrote: > One of the big timewasters when it comes to JavaFX projects taking > your server-side POJOs, creating Observable versions of them, and > creating forms, and controllers for them. If you've been doing JEE > development in the past 5 years then you're probably already using > Spring ROO, Grails, or some other RAD tooling that makes this type of > work trivial in the web world. All of these artifacts are usually > generated directly from the POJOs. > > So I'm curious if anyone knows of any tools that make that process > easier and faster? > > > Cheers, > > Mark From neugens.limasoftware at gmail.com Thu Oct 18 11:17:54 2012 From: neugens.limasoftware at gmail.com (Mario Torre) Date: Thu, 18 Oct 2012 20:17:54 +0200 Subject: Swing in FX In-Reply-To: References: <1F084963-FE21-4E4D-BE27-5F7A19AD8CC1@oracle.com> <1350582552.2097.115.camel@mercury> Message-ID: 2012/10/18 Richard Bair : > Ya, the stuff you guys did was awesome and got the ball rolling. Without that we'd have had a much harder time getting something production worthy put together! I will check with the team and see what the likelihood is that they can deliver their solution, and also where it would go. Right now my main focus is on getting everything open sourced as quickly as possible, and rewriting the build system to something simple and sensible for the modules that we really have (whereas now we have many micro-modules). My main focus for the next month or so is to fulfill the promise we made way back last year that we'd open source JavaFX and run like a real open source project. Btw, speaking about the build system, since once open sourced we will need to package this thing for Linux distribution, it may make sense to discuss this in the open (I know, I know, I'm being pedantic here, sorry!). This could help also in releasing everything quicker. What do you think? Cheers, Mario -- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/ From richard.bair at oracle.com Thu Oct 18 11:20:08 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 11:20:08 -0700 Subject: JavaFX for the Enterprise - Working Group In-Reply-To: References: <1F084963-FE21-4E4D-BE27-5F7A19AD8CC1@oracle.com> <4A67C2BA-6B04-4DB3-A6A4-3166DAA47B52@oracle.com> Message-ID: http://javafx-jira.kenai.com/browse/RT-12100 It even references Mario & Roman's work ;-) On Oct 18, 2012, at 11:06 AM, Mark Fortner wrote: > Richard, > This is pretty critical in order to get Swing applications ported over to > JavaFX. There are a lot of libraries out there that probably will never be > ported to JavaFX, and for which there are no JavaFX equivalents. This kind > of embedding makes is possible for people to at least entertain the idea of > transitioning to JavaFX. > > Is there a JIRA issue for this? > > Cheers, > > Mark > > > > > On Thu, Oct 18, 2012 at 10:54 AM, Richard Bair wrote: > >> The AWT / Glass guys actually have a prototype of all of SwingSet running >> in JavaFX. I think most of the technical hurdles have been resolved (? >> Artem would know better), but it is just a matter of resourcing (there were >> some changes in AWT to get the best performance / integration). >> >> Richard >> >> On Oct 18, 2012, at 10:43 AM, Mario Torre wrote: >> >>> Hi Richard, >>> >>> You should probably look at this old mail, since this may be what you >> need. >>> >>> >> http://mail.openjdk.java.net/pipermail/openjfx-dev/2011-December/000021.html >>> >>> We need to port this code to 2.2, I'll try to give it some love this >>> week, it should give us also some good performances. >>> >>> Cheers, >>> Mario >>> >>> 2012/10/18 Richard Bair : >>>> From talking with the NB team, one feature they really need is to be >> able to embed Swing within JavaFX. Hopefully we can deliver on that for 8. >>>> >>>> On Oct 17, 2012, at 7:40 AM, Mark Claassen wrote: >>>> >>>>> I joined this list a few days ago because I wanted to start >> contributing >>>>> So far, I am not sure it is quite where I should be. I would like to >>>>> discuss more about the components (table, list boxes, ...). I am not >>>>> exactly sure where to do that. >>>>> >>>>> However, I will add here that I started (a very short-lived) thread on >> the >>>>> netbeans user list along these lines. Basically what I was saying was >> that >>>>> Netbeans is a wonderful UI built on Swing. Could this same project be >> done >>>>> in JavaFX? Maybe not yet, but could it be in the future? It seems >> like >>>>> the JavaFX team could get a lot of advice and requirements from the >>>>> netbeans team. >>>>> >>>>> http://forums.netbeans.org/topic51717.html >>>>> >>>>> Some of the main data structures, like the ObservableList, make me >> cringe. >>>>> I created a similar structure 10 years ago and have since learned the >> error >>>>> of my ways. Granted, the JavaFX team has a lot more resources and >>>>> experience than I did all those years ago, but from my point of view, >> there >>>>> are dangerous waters ahead. >>>>> >>>>> >>>>> On Wed, Oct 17, 2012 at 10:23 AM, Richard Bair < >> richard.bair at oracle.com>wrote: >>>>> >>>>>> We are already doing everything on your list (which was pretty void of >>>>>> specifics). Please list specific work projects, linked to specific >> JIRA >>>>>> issues, and vote for them and for goodness sake contribute! >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Oct 17, 2012, at 12:49 AM, Daniel Zwolenski >> wrote: >>>>>> >>>>>>> So Oracle as an organization doesn't think JavaFX can be a player in >> the >>>>>>> web/enterprise space and is backing HTML5. I don't agree, JavaFX has >> the >>>>>> * >>>>>>> potential* to be better. But it's a long way behind and gotten off >> to a >>>>>>> rocky start; there's a hell of a lot of work to be done and the >> current >>>>>>> rate, strategy and direction are not going to be nearly enough. >>>>>>> >>>>>>> Oracle is a big corporation with many different divisions. The left >> arm >>>>>>> doesn't know what the right is doing. So let's put aside 'oracle' >> for a >>>>>>> moment. I want to know: what does the JavaFX team think? Do you want >> to >>>>>> go >>>>>>> up against HTML5 for the client space, or just settle for a spot on >> the >>>>>>> fringe? >>>>>>> >>>>>>> Below is what I propose. >>>>>>> >>>>>>> This proposal needs the full backing of the JavaFX team and >> management. >>>>>>> Specifically it needs: >>>>>>> >>>>>>> 1. Belief that JavaFX can and should be the *number one* client >>>>>>> development platform for enterprise. >>>>>>> 2. Recognition that the current strategy will not make that happen. >>>>>>> 3. Resources (aka people) allocated to the working group outlined >>>>>> below. >>>>>>> These people must have enough influence in the JFX platform to >>>>>> legitimately >>>>>>> be able to influence the direction as needed. >>>>>>> 4. Commitment to supporting this working group fully and implementing >>>>>>> the strategies and recommendations that come out of it as a high >>>>>> priority >>>>>>> 5. A sense of urgency, and a proactive pursuit of achieving these >> goals >>>>>>> with a well defined timeline (i.e. "resources will be allocated by >>>>>> November >>>>>>> 2012" not "we're working on it"). >>>>>>> >>>>>>> In my opinion, all of these must be met 100%. Otherwise there is no >> point >>>>>>> starting at all and better to let it go and leave the enterprise >> space to >>>>>>> other players like HTML5 as 'Oracle' is suggesting. This is your >> call. >>>>>>> >>>>>>> I believe JavaFX can be the best platform for client-side enterprise >>>>>>> application development, capitalising-on, and adding-to Java's >> dominance >>>>>> in >>>>>>> server side enterprise development. >>>>>>> >>>>>>> Do you? >>>>>>> >>>>>>> >>>>>>> *Proposal to form a working group for JavaFX in the enterprise* >>>>>>> >>>>>>> Mission: >>>>>>> >>>>>>> - to position JavaFX as *the* dominant client-side development >> platform >>>>>>> for enterprise/business applications >>>>>>> >>>>>>> >>>>>>> Members: >>>>>>> >>>>>>> - a combination of paid Oracle JavaFX team members, and community >>>>>>> participants. The Oracle members must have the ability to access >> senior >>>>>>> JavaFX management and technical decision makers, and as such >> influence >>>>>> the >>>>>>> road map and direction of the JavaFX platform. Community members will >>>>>> be >>>>>>> those with a background and experience in the enterprise space and >> who >>>>>> are >>>>>>> committed to making JavaFX the platform of choice in this space. >>>>>>> >>>>>>> >>>>>>> Responsibilities: >>>>>>> >>>>>>> - Continuously identify improvements to the JavaFX platform that are >>>>>>> needed to ensure adoption by enterprise; drive the inclusion of these >>>>>> into >>>>>>> the JavaFX platform. >>>>>>> >>>>>>> - Continuously identify and monitor trends and developments within >> the >>>>>>> enterprise space and competitor platforms (e.g. HTML5, .NET, etc) and >>>>>>> ensure the JavaFX roadmap provides confidence to enterprise of >> JavaFX's >>>>>>> long term viability for their needs. >>>>>>> >>>>>>> - Provide best practices, community/forum support, documentation, >>>>>>> examples, tool add-ons, frameworks and other aids for integrating >>>>>> JavaFX >>>>>>> into popular enterprise technology stacks >>>>>>> >>>>>>> - Provide advocacy, publicity and drive general engagement and >> outreach >>>>>>> programs for the adoption of JavaFX in the enterprise. >>>>>>> >>>>>>> >>>>>>> Objectives: >>>>>>> >>>>>>> Objectives will be determined by the working group once formed, >> however >>>>>>> initial objectives will likely include the following: >>>>>>> >>>>>>> - Review the current deployment/distribution options for JavaFX and >>>>>>> determine ways to improve this to make it competitive with other >>>>>> popular >>>>>>> enterprise client platforms (e.g. HTML+JavaScript) for primary >>>>>> enterprise >>>>>>> OS' and platforms >>>>>>> >>>>>>> - Identify the most popular enterprise build and development tools >> and >>>>>>> determine a strategy for making JavaFX integrate into these >>>>>>> >>>>>>> - Review popular trends and toolkits within competitive platforms and >>>>>>> define the ideal frameworks and add-on tools needed by an enterprise >>>>>> client >>>>>>> (e.g. form validation). Use this list of high-level requirements to >>>>>>> determine the low-level JavaFX enhancements needed (e.g. allow field >>>>>>> markers so that a 3rd party validation framework could leverage >> these). >>>>>>> >>>>>>> - Create a demonstration enterprise application (along the lines of >>>>>>> PetClinic) demonstrating best practice for integrating JavaFX in a >>>>>> full, >>>>>>> end-to-end JEE stack. >>>>>>> >>>>>>> >>>>>>> Longer term objectives may include: >>>>>>> >>>>>>> - Develop (or foster community development of) the high-level >>>>>> frameworks >>>>>>> that have been identified as necessary for JavaFX in the enterprise. >>>>>> These >>>>>>> will likely be developed as third-party modules external to the >> JavaFX >>>>>> core >>>>>>> framework (i.e. built on top of the features provided by the core >>>>>> JavaFX >>>>>>> team). >>>>>>> >>>>>>> - Provide integration with existing or new Rapid Application >>>>>> Development >>>>>>> (RAD) tools popular within the enterprise Java space (e.g. ROO, etc). >>>>>> >>>> >>> >>> >>> >>> -- >>> pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF >>> Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF >>> >>> IcedRobot: www.icedrobot.org >>> Proud GNU Classpath developer: http://www.classpath.org/ >>> Read About us at: http://planet.classpath.org >>> OpenJDK: http://openjdk.java.net/projects/caciocavallo/ >>> >>> Please, support open standards: >>> http://endsoftpatents.org/ >> >> From richard.bair at oracle.com Thu Oct 18 11:20:44 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 11:20:44 -0700 Subject: Swing in FX In-Reply-To: References: <1F084963-FE21-4E4D-BE27-5F7A19AD8CC1@oracle.com> <1350582552.2097.115.camel@mercury> Message-ID: <1663C947-65A5-40D4-A194-0C2C868086C7@oracle.com> In fact, I am working on a post to describe the basics for the idea! On Oct 18, 2012, at 11:17 AM, Mario Torre wrote: > 2012/10/18 Richard Bair : >> Ya, the stuff you guys did was awesome and got the ball rolling. Without that we'd have had a much harder time getting something production worthy put together! I will check with the team and see what the likelihood is that they can deliver their solution, and also where it would go. Right now my main focus is on getting everything open sourced as quickly as possible, and rewriting the build system to something simple and sensible for the modules that we really have (whereas now we have many micro-modules). My main focus for the next month or so is to fulfill the promise we made way back last year that we'd open source JavaFX and run like a real open source project. > > Btw, speaking about the build system, since once open sourced we will > need to package this thing for Linux distribution, it may make sense > to discuss this in the open (I know, I know, I'm being pedantic here, > sorry!). This could help also in releasing everything quicker. > > What do you think? > > Cheers, > Mario > -- > pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF > Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF > > IcedRobot: www.icedrobot.org > Proud GNU Classpath developer: http://www.classpath.org/ > Read About us at: http://planet.classpath.org > OpenJDK: http://openjdk.java.net/projects/caciocavallo/ > > Please, support open standards: > http://endsoftpatents.org/ From richard.bair at oracle.com Thu Oct 18 11:21:59 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 11:21:59 -0700 Subject: Making JavaFX Development Faster In-Reply-To: References: Message-ID: <02CDE476-CED7-4987-B0FE-AB1D200541F6@oracle.com> Another option I would guess is to not use observable objects at all, but you can still use binding (the property adapters should work with that). Even with a list view, which has an ObservableList, you can add items form a normal list and vice versa. On Oct 18, 2012, at 10:39 AM, Mark Fortner wrote: > One of the big timewasters when it comes to JavaFX projects taking your > server-side POJOs, creating Observable versions of them, and creating > forms, and controllers for them. If you've been doing JEE development in > the past 5 years then you're probably already using Spring ROO, Grails, or > some other RAD tooling that makes this type of work trivial in the web > world. All of these artifacts are usually generated directly from the > POJOs. > > So I'm curious if anyone knows of any tools that make that process easier > and faster? > > > Cheers, > > Mark From markclaassenx at gmail.com Thu Oct 18 11:37:35 2012 From: markclaassenx at gmail.com (Mark Claassen) Date: Thu, 18 Oct 2012 14:37:35 -0400 Subject: TextField Document model In-Reply-To: References: <507ef547.41c5ec0a.2e1f.7e39@mx.google.com> Message-ID: I got the source and figured it out...or at least found a problem. The TextInputControl.Content seems to be exactly what I need. However, it is not public. Further, the instance variable is a final member in TextInputControl. First, Content, and the default implementations, need to be public so they can be easily extended. I have feeling these were intended to be public when the time was right. Second, there needs to be some way to plug this behavior. If it is going to remain final, then there needs to be a way to specify the Content class in the FXML. The SceneBuilder is clearly the way most UIs are supposed to be designed, so, therefore, it needs to be pretty all-encompassing. Mark On Wed, Oct 17, 2012 at 5:05 PM, Scott Palmer wrote: > Using the override mechanism that Will suggested is probably easier for > converting to uppercase. > > final TextField allCapsTextField = new TextField() { > @Override > public void replaceText(int start, int end, String text) { > super.replaceText(start, end, text.toUppercase()); > } > @Override > public void replaceSelection(String text) { > super.replaceSelection(text.toUppercase()); > } > }; > > or you could still use the Event Filter and handle the insertion of the > characters manually if they are lowercase > and then consume the event. I think that will be more work and be more > error-prone though. As you mention you would have to handle pasting and > drag and drop and all ugly details. Overriding seems cleaner. > > Perhaps you should take a look at the source code to TextInputControl. > Instead of the Document they have a Content interface. Maybe you can do > some of what you want by overriding getContent(). > > Scott > > On 2012-10-17, at 4:41 PM, Mark Claassen wrote: > > > Thanks for the tips. The overriding method does not seem very pluggable, > > so I started with the event filter. > > > > I like the idea of an event filter, and I really like the how JavaFX > > defined the process and the order in which items will receive events. > > > > So, I quickly implemented my event filter like this: > > input.addEventFilter(KeyEvent. > > KEY_TYPED, new EventHandler() { > > @Override > > public void handle(KeyEvent t) { > > if (input.getText().length() >=10) > > t.consume(); > > } > > }); > > > > This works for typing, but, of course, I can paste whatever I wanted. > > (Perhaps I need to find a second filter for that? How about DnD?) > > > > All input events go through the Swing Document, so with that, there was > > just one method to mess with. > > > > Further, I currently have a Document implementation that takes user input > > and converts it to upper case. (It doesn't force the user to type in an > > upper case character, it just converts it if it is not.) Since, in the > > case of a Document, I can control exactly what the data is, this is > pretty > > straightforward. How is that accomplished here? Consume the event, and > > then first a new modified copy of the original. Or do I need to start > > overriding various methods? > > > > > > On Wed, Oct 17, 2012 at 4:40 PM, Mark Claassen >wrote: > > > >> Thanks for the tips. The overriding method does not seem very > pluggable, > >> so I started with the event filter. > >> > >> I like the idea of an event filter, and I really like the how JavaFX > >> defined the process and the order in which items will receive events. > >> > >> So, I quickly implemented my event filter like this: > >> input.addEventFilter(KeyEvent.KEY_TYPED, new > >> EventHandler() { > >> @Override > >> public void handle(KeyEvent t) { > >> if (input.getText().length() >=10) > >> t.consume(); > >> } > >> }); > >> > >> This works for typing, but, of course, I can paste whatever I wanted. > >> (Perhaps I need to find a second filter for that? How about DnD?) > >> > >> All input events go through the Swing Document, so with that, there was > >> just one method to mess with. > >> > >> Further, I currently have a Document implementation that takes user > input > >> and converts it to upper case. (It doesn't force the user to type in an > >> upper case character, it just converts it if it is not.) Since, in the > >> case of a Document, I can control exactly what the data is, this is > pretty > >> straightforward. How is that accomplished here? Consume the event, and > >> then first a new modified copy of the original. Or do I need to start > >> overriding various methods? > >> > >> Mark > >> > >> > >> > >> > >> > >> > >> On Wed, Oct 17, 2012 at 2:13 PM, Will Hoover >wrote: > >> > >>> Have you tried: > >>> > >>> final TextField tf = new TextField() { > >>> final String restictTo = "[A-Z\\s]*"; > >>> @Override > >>> public void replaceText(int start, int end, String text) { > >>> if (matchTest(text)) { > >>> super.replaceText(start, end, text); > >>> } > >>> } > >>> @Override > >>> public void replaceSelection(String text) { > >>> if (matchTest(text)) { > >>> super.replaceSelection(text); > >>> } > >>> } > >>> private boolean matchTest(String text) { > >>> return text.isEmpty() || text.matches(restictTo); > >>> } > >>> }; > >>> > >>> -----Original Message----- > >>> From: openjfx-dev-bounces at openjdk.java.net > >>> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark > Claassen > >>> Sent: Wednesday, October 17, 2012 1:08 PM > >>> To: openjfx-dev at openjdk.java.net > >>> Subject: TextField Document model > >>> > >>> JTextComponents (like JTextField) has a javax.swing.text.Document model > >>> that > >>> made it pretty easy to create a text field that only allowed a certain > >>> number of characters in it. Similarly, it was also easy to make a > >>> Document > >>> model that took all input, but forced characters to upper case. > >>> > >>> @Override > >>> public void insertString(int offs, String str, AttributeSet a) throws > >>> BadLocationException { > >>> > >>> } > >>> > >>> What is there going to be in JavaFX to accomplish the same goals? > >>> > >>> Mark > >>> > >>> > >> > > From neugens.limasoftware at gmail.com Thu Oct 18 11:38:06 2012 From: neugens.limasoftware at gmail.com (Mario Torre) Date: Thu, 18 Oct 2012 20:38:06 +0200 Subject: Swing in FX In-Reply-To: <1663C947-65A5-40D4-A194-0C2C868086C7@oracle.com> References: <1F084963-FE21-4E4D-BE27-5F7A19AD8CC1@oracle.com> <1350582552.2097.115.camel@mercury> <1663C947-65A5-40D4-A194-0C2C868086C7@oracle.com> Message-ID: 2012/10/18 Richard Bair : > In fact, I am working on a post to describe the basics for the idea! \o/ And thanks for all the patience! Cheers, Mario -- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/ From richard.bair at oracle.com Thu Oct 18 11:42:04 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 11:42:04 -0700 Subject: Open Sourcing Status Report Message-ID: <65D94E2E-335A-478F-BA27-B22308CD6BE0@oracle.com> I wanted to give a status report on where we're at in the process of open sourcing JavaFX. Obviously we started this process earlier this year or late last year (UI Controls went out either last December or this January, I don't remember exactly), but it stalled awaiting internal approvals, but now that those have been cleared, we're moving forward as quickly as we can. For each chunk of code that we open source, we need to perform the following work: - Update the build system to build the open source bits - Review for Security - Sanity check headers - Review rights (some parts like T2K are licensed and cannot be open sourced) The long pole in this process is the "review for security". In some parts of the code, as we audit we may find a potential security hole. Much of the code we will be able to simply fix and then release (or may have no issues anyway in which case it can just be released after audit), but there will likely be some parts that need to wait until the next security release in February 2013 before we can even apply the patches to the workspace, let alone open source the code. I'm hoping this latter category will be small and that most if not all of our code will be clean and we can push before next February. But just a heads-up that it may take until February for the process to complete. In addition, I'm engaged in a proposal for revamping the project structure and build infrastructure. My main goals are: 1) Make it trivial to develop JavaFX using an IDE 2) Allow for partial builds, cross builds (especially speaking of native compilation. Compiling WebKit can take an hour on my system) 3) Download dependencies dynamically 4) Reduce the number of lines in our build script(s) 5) Simplify the project structure Over the last 4 years things have grown to be quite difficult and cumbersome, and on embedded David Hill said he is spending upwards of 40% of his time wrestling with the build system. Further, only a few of us use IDE's to their maximum potential, and only after wrestling quite hard with the system and coming up with our own "magic sauce" for how to build JavaFX. Clearly this isn't scalable or desirable. To declare success, the process needs to be as simple as: 1) Download the Sources 2) Use your favorite IDE to open the project 3) Hit run If I have to concede defeat, then there might be a 2b) 2b) execute a build step to download dependencies I'll send a separate email in a moment discussing what I want to do around project structure (ie: source file layout etc) and the build. Most of our time at present is spent on Security audits, and as soon as we get those done for some chunk of code, we'll move it into the open. Richard From markclaassenx at gmail.com Thu Oct 18 12:03:15 2012 From: markclaassenx at gmail.com (Mark Claassen) Date: Thu, 18 Oct 2012 15:03:15 -0400 Subject: TextField Document model In-Reply-To: References: <507ef547.41c5ec0a.2e1f.7e39@mx.google.com> Message-ID: My initial proof of concept worked perfectly... limited to 10 characters, forced upper case Altering the source I did the following: Made TextInputControl.Content public Made a setContent(Content content) method in TextInputControl Made the member variable "content" in TextInputControl to be non-final Made TextFieldContent in TextField public Made TextFieldContent in TextField non-static In my source code, I then did: TextInputControl.Content content = new TextField.TextFieldContent() { @Override public void insert(int i, String string, boolean bln) { if (10 - length() => string.length()) super.insert(i, string.toUpperCase(), bln); } }; I don't know why the designers made these things final and private/protected. I would imagine they had a reason, so my JFX source changes would probably need to be more carefully considered. I just wanted tom show it was possible. Mark On Thu, Oct 18, 2012 at 2:37 PM, Mark Claassen wrote: > I got the source and figured it out...or at least found a problem. > > The TextInputControl.Content seems to be exactly what I need. However, it > is not public. Further, the instance variable is a final member in > TextInputControl. > > First, Content, and the default implementations, need to be public so they > can be easily extended. I have feeling these were intended to be public > when the time was right. > > Second, there needs to be some way to plug this behavior. If it is going > to remain final, then there needs to be a way to specify the Content class > in the FXML. The SceneBuilder is clearly the way most UIs are supposed to > be designed, so, therefore, it needs to be pretty all-encompassing. > > Mark > > > On Wed, Oct 17, 2012 at 5:05 PM, Scott Palmer wrote: > >> Using the override mechanism that Will suggested is probably easier for >> converting to uppercase. >> >> final TextField allCapsTextField = new TextField() { >> @Override >> public void replaceText(int start, int end, String text) { >> super.replaceText(start, end, text.toUppercase()); >> } >> @Override >> public void replaceSelection(String text) { >> super.replaceSelection(text.toUppercase()); >> } >> }; >> >> or you could still use the Event Filter and handle the insertion of the >> characters manually if they are lowercase >> and then consume the event. I think that will be more work and be more >> error-prone though. As you mention you would have to handle pasting and >> drag and drop and all ugly details. Overriding seems cleaner. >> >> Perhaps you should take a look at the source code to TextInputControl. >> Instead of the Document they have a Content interface. Maybe you can do >> some of what you want by overriding getContent(). >> >> Scott >> >> On 2012-10-17, at 4:41 PM, Mark Claassen wrote: >> >> > Thanks for the tips. The overriding method does not seem very >> pluggable, >> > so I started with the event filter. >> > >> > I like the idea of an event filter, and I really like the how JavaFX >> > defined the process and the order in which items will receive events. >> > >> > So, I quickly implemented my event filter like this: >> > input.addEventFilter(KeyEvent. >> > KEY_TYPED, new EventHandler() { >> > @Override >> > public void handle(KeyEvent t) { >> > if (input.getText().length() >=10) >> > t.consume(); >> > } >> > }); >> > >> > This works for typing, but, of course, I can paste whatever I wanted. >> > (Perhaps I need to find a second filter for that? How about DnD?) >> > >> > All input events go through the Swing Document, so with that, there was >> > just one method to mess with. >> > >> > Further, I currently have a Document implementation that takes user >> input >> > and converts it to upper case. (It doesn't force the user to type in an >> > upper case character, it just converts it if it is not.) Since, in the >> > case of a Document, I can control exactly what the data is, this is >> pretty >> > straightforward. How is that accomplished here? Consume the event, and >> > then first a new modified copy of the original. Or do I need to start >> > overriding various methods? >> > >> > >> > On Wed, Oct 17, 2012 at 4:40 PM, Mark Claassen > >wrote: >> > >> >> Thanks for the tips. The overriding method does not seem very >> pluggable, >> >> so I started with the event filter. >> >> >> >> I like the idea of an event filter, and I really like the how JavaFX >> >> defined the process and the order in which items will receive events. >> >> >> >> So, I quickly implemented my event filter like this: >> >> input.addEventFilter(KeyEvent.KEY_TYPED, new >> >> EventHandler() { >> >> @Override >> >> public void handle(KeyEvent t) { >> >> if (input.getText().length() >=10) >> >> t.consume(); >> >> } >> >> }); >> >> >> >> This works for typing, but, of course, I can paste whatever I wanted. >> >> (Perhaps I need to find a second filter for that? How about DnD?) >> >> >> >> All input events go through the Swing Document, so with that, there was >> >> just one method to mess with. >> >> >> >> Further, I currently have a Document implementation that takes user >> input >> >> and converts it to upper case. (It doesn't force the user to type in >> an >> >> upper case character, it just converts it if it is not.) Since, in the >> >> case of a Document, I can control exactly what the data is, this is >> pretty >> >> straightforward. How is that accomplished here? Consume the event, >> and >> >> then first a new modified copy of the original. Or do I need to start >> >> overriding various methods? >> >> >> >> Mark >> >> >> >> >> >> >> >> >> >> >> >> >> >> On Wed, Oct 17, 2012 at 2:13 PM, Will Hoover > >wrote: >> >> >> >>> Have you tried: >> >>> >> >>> final TextField tf = new TextField() { >> >>> final String restictTo = "[A-Z\\s]*"; >> >>> @Override >> >>> public void replaceText(int start, int end, String text) { >> >>> if (matchTest(text)) { >> >>> super.replaceText(start, end, text); >> >>> } >> >>> } >> >>> @Override >> >>> public void replaceSelection(String text) { >> >>> if (matchTest(text)) { >> >>> super.replaceSelection(text); >> >>> } >> >>> } >> >>> private boolean matchTest(String text) { >> >>> return text.isEmpty() || text.matches(restictTo); >> >>> } >> >>> }; >> >>> >> >>> -----Original Message----- >> >>> From: openjfx-dev-bounces at openjdk.java.net >> >>> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark >> Claassen >> >>> Sent: Wednesday, October 17, 2012 1:08 PM >> >>> To: openjfx-dev at openjdk.java.net >> >>> Subject: TextField Document model >> >>> >> >>> JTextComponents (like JTextField) has a javax.swing.text.Document >> model >> >>> that >> >>> made it pretty easy to create a text field that only allowed a certain >> >>> number of characters in it. Similarly, it was also easy to make a >> >>> Document >> >>> model that took all input, but forced characters to upper case. >> >>> >> >>> @Override >> >>> public void insertString(int offs, String str, AttributeSet a) throws >> >>> BadLocationException { >> >>> >> >>> } >> >>> >> >>> What is there going to be in JavaFX to accomplish the same goals? >> >>> >> >>> Mark >> >>> >> >>> >> >> >> >> > From richard.bair at oracle.com Thu Oct 18 12:16:13 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 12:16:13 -0700 Subject: Refactoring JavaFX Builds & Sources Message-ID: I've spent a couple days (spread out over the last week and a half or so) looking at our build system and what we can do to improve it. As I have mentioned in other threads, my test for success in the build system is if a developer wanting to change Java code simply had to: 1) Download (or Clone) the sources 2) Open the JavaFX project in their IDE of choice (IntelliJ IDEA, Eclipse, Netbeans) 3) Hit "run" and it runs Ensemble. And likewise, hitting "test" should run all the automatic tests and hitting "coverage" should generate code coverage stats, and "debug" should work -- exactly as one might hope. Today, in order to make this work, Steve has a carefully constructed Eclipse project setup and I have a carefully (laboriously) constructed IDEA setup and nobody has a very good NetBeans setup. This is bad. Further more, you should be able to do "find usages" in your IDE and get EVERYTHING IN THE UNIVERSE, rather than right now where in NB it doesn't have enough information about the 160 other projects in our system to be able to do this. This is bad. Right now we build with ant. Many of you have suggested Maven. Some of you at JavaOne suggested Gradle. I am presently looking into Gradle. The key things I like about Gradle are: 1) It isn't XML 2) Like Ivy & Maven, it handles dependencies well We presently have a pile of XML files and nasty build logic for downloading dependencies (this is all in the closed repo, but you would be exposed to the horror if we just made it all public). I wanted instead to use Ivy at the very least, but rather if I can get better build happiness from another setup entirely (like Gradle) then I might as well give it a try. Of course, I'm hoping Danno & Andres will help maintain the build scripts :-D I have two different scripts, one which is to be used during transition, and will generate the "new world" from the old, and another which will be the build file going forward. I want to emphasize that this is at the moment only a prototype. Also, there will be no loss in functionality migrating from the current system to any future system. In particular: 1) I'll make sure cross builds all continue to work 2) Partial builds (for native code particularly) will continue to work such that you don't HAVE to build native code 3) It will produce bit-for-bit compatible output in the artifacts/ directory, so all our RE (Release Engineering) scripts continue to work with little or no modification Also, in my tests so far the speed of the build is dramatically faster -- but then I don't have everything in yet so that might just be wishful thinking. I hope and expect it to be faster though. We generate code in our build system for the following reasons: 1) We have a VersionInfo class which the build system will update with version information. It is a com.sun.something class 2) We have an annotation processor which generates all of the builders 3) We have two grammars that Antlr has process to produce parsers -- one for JSL (for our shaders) and one for CSS 4) We have a "decora compiler" which takes JSL files and feeds it through the JSL parser and produces code / shaders In addition to code generation, we also build a ton of native code (gstreamer, webkit, prism, fonts, glass, image loading). So that has to fit into the build system. Building native code is SLOW, so being able to avoid it for "normal" developers, and being able to avoid native builds when nothing changed in the native code, is important. Also, testing. We have a variety of tests that we need to organize better. At the moment we have basically two types of tests: JUnit tests and SQE has visual tests (using Jemmy). The unit tests are all going open source along with the code projects they belong to. We have not yet got complete clearance for all of the SQE tests, although I firmly believe it is the right thing to do, and will push on it again once the rest of our "homework" (fixing the build system etc) is taken care of. I have found that some of our unit tests are written such that they require more of the platform, rather than just one class. So for example, there are tests in the scene graph which might want to use a UI control for some purpose. I'm thinking the easiest thing to do is to have a test directory at the top level which houses all the tests, and break them up based on whether they are part of the smoke test, integration test, or manual test suite. Smoke tests are those that are run continuously. They must be headless, and they must be completely automated, and they must execute within some reasonable amount of time (since hudson is going to be doing it continuously). The integration tests are the rest of the automated tests that need to be run between every integration with "master". Finally the manual tests are not run as part of the integration / smoke tests, but really are just little "toys" or apps we've written that are useful when developing a feature or whatnot. We've got a ton of these little guys (mostly of the "HelloWorld" variety), and these would go into "manual". We also will have an apps directory, where we will place all the samples (like Ensemble) and experiments (like the JavaOne Schedule Builder). And I want to have a "benchmarks" directory where all of our benchmarks will live. The only problem with this one is that we have a dependency on JRockit benchmark harness, and I'm not sure how to resolve that with the open source bits. Maybe the JRockit benchmark harness is already open source, I haven't dug into it yet to find out. However I believe we *must* have benchmarks open, as well as the SQE tests. My goal is to run OpenJFX in the open and to have meaningful contributions -- how can that happen if we're keeping back essential verification tools? How can somebody submit a patch and not know whether it is going to impact performance? So I want to get the benchmarks all out, but we need to figure out what to do about this dependency. Another option is to replace this dependency with one of the other open source benchmark harnesses, but this would need to be carefully considered as it would disrupt our benchmark reporting for some period of time. But ultimately having public numbers and public tests would, I think, be very beneficial across the board. So, I am proposing a project structure something like: javafx/ apps experiments samples build-tools src/java (annotation stuff) modules base (javafx.beans, javafx.collections, etc) graphics (scene graph, prism, glass) controls (controls, charts) src/ decora-d3d prism-egl ... java swing (javafx.embed.swing) swt (javafx.embed.swt) media web tests smoke integration manual Each module directory is basically just a home for the sources. All native sources are right there along with the Java sources, and we pick the right natives to use depending on what the build target is (for all the cross-compile stuff). Thoughts? Richard From richard.bair at oracle.com Thu Oct 18 12:28:33 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 12:28:33 -0700 Subject: TextField Document model In-Reply-To: References: <507ef547.41c5ec0a.2e1f.7e39@mx.google.com> Message-ID: <71937D8F-E326-455D-9E24-669F4D223AFB@oracle.com> I think Greg did make it all mutable initially, and I probably made them final. This was likely due to the fact that the text controls were being rewritten only weeks before the 2.0 release and it was easier to prove correctness when the Content wasn't changing. Note that "Content" is protected already, so from our perspective it is public API, so making it public isn't a big change for us. The question is whether Content should be pluggable on a given TextInputControl, or whether it should require subclassing. I think I remember at one point the theory being, just subclass and provide your own Content in the call to super's constructor. However there was a problem with this, because TextInputControlSkin wasn't public, and TextFieldSkin etc require a specific subtype of TextInputControl, and as such, you couldn't realistically create any subclass of TextInputControl (crap!). I discovered that problem after we shipped 2.0. I think if we want to make content mutable, then we need to do a comprehensive review to see where it might fail in the control & in the skin. That is, does the skin get a reference to the content and hold on to it? Or does it always call getContent() when it needs a reference? If the content changes, do we need to clean any state on the skin or on the control? In your case I'm guessing the content is set before the skin is, and never thereafter changed, and so it acts as though it is an immutable property still, so things work great. I'm guessing though that dynamically changing the content at runtime might cause some issues? I don't have any philosophical reason for not having content be mutable. My only concern here is that having it mutable introduces some additional complexity in the class / skin -- or at least it might. BTW, if you find that changing it dynamically works perfect, I'd be happy to do the code review (including Jonathan). Thanks Richard On Oct 18, 2012, at 12:03 PM, Mark Claassen wrote: > My initial proof of concept worked perfectly... limited to 10 characters, > forced upper case > > Altering the source I did the following: > Made TextInputControl.Content public > Made a setContent(Content content) method in TextInputControl > Made the member variable "content" in TextInputControl to be non-final > Made TextFieldContent in TextField public > Made TextFieldContent in TextField non-static > > In my source code, I then did: > TextInputControl.Content content = new TextField.TextFieldContent() > { > @Override > public void insert(int i, String string, boolean bln) { > if (10 - length() => string.length()) > super.insert(i, string.toUpperCase(), bln); > } > }; > > I don't know why the designers made these things final and > private/protected. I would imagine they had a reason, so my JFX source > changes would probably need to be more carefully considered. I just wanted > tom show it was possible. > > Mark > > > On Thu, Oct 18, 2012 at 2:37 PM, Mark Claassen wrote: > >> I got the source and figured it out...or at least found a problem. >> >> The TextInputControl.Content seems to be exactly what I need. However, it >> is not public. Further, the instance variable is a final member in >> TextInputControl. >> >> First, Content, and the default implementations, need to be public so they >> can be easily extended. I have feeling these were intended to be public >> when the time was right. >> >> Second, there needs to be some way to plug this behavior. If it is going >> to remain final, then there needs to be a way to specify the Content class >> in the FXML. The SceneBuilder is clearly the way most UIs are supposed to >> be designed, so, therefore, it needs to be pretty all-encompassing. >> >> Mark >> >> >> On Wed, Oct 17, 2012 at 5:05 PM, Scott Palmer wrote: >> >>> Using the override mechanism that Will suggested is probably easier for >>> converting to uppercase. >>> >>> final TextField allCapsTextField = new TextField() { >>> @Override >>> public void replaceText(int start, int end, String text) { >>> super.replaceText(start, end, text.toUppercase()); >>> } >>> @Override >>> public void replaceSelection(String text) { >>> super.replaceSelection(text.toUppercase()); >>> } >>> }; >>> >>> or you could still use the Event Filter and handle the insertion of the >>> characters manually if they are lowercase >>> and then consume the event. I think that will be more work and be more >>> error-prone though. As you mention you would have to handle pasting and >>> drag and drop and all ugly details. Overriding seems cleaner. >>> >>> Perhaps you should take a look at the source code to TextInputControl. >>> Instead of the Document they have a Content interface. Maybe you can do >>> some of what you want by overriding getContent(). >>> >>> Scott >>> >>> On 2012-10-17, at 4:41 PM, Mark Claassen wrote: >>> >>>> Thanks for the tips. The overriding method does not seem very >>> pluggable, >>>> so I started with the event filter. >>>> >>>> I like the idea of an event filter, and I really like the how JavaFX >>>> defined the process and the order in which items will receive events. >>>> >>>> So, I quickly implemented my event filter like this: >>>> input.addEventFilter(KeyEvent. >>>> KEY_TYPED, new EventHandler() { >>>> @Override >>>> public void handle(KeyEvent t) { >>>> if (input.getText().length() >=10) >>>> t.consume(); >>>> } >>>> }); >>>> >>>> This works for typing, but, of course, I can paste whatever I wanted. >>>> (Perhaps I need to find a second filter for that? How about DnD?) >>>> >>>> All input events go through the Swing Document, so with that, there was >>>> just one method to mess with. >>>> >>>> Further, I currently have a Document implementation that takes user >>> input >>>> and converts it to upper case. (It doesn't force the user to type in an >>>> upper case character, it just converts it if it is not.) Since, in the >>>> case of a Document, I can control exactly what the data is, this is >>> pretty >>>> straightforward. How is that accomplished here? Consume the event, and >>>> then first a new modified copy of the original. Or do I need to start >>>> overriding various methods? >>>> >>>> >>>> On Wed, Oct 17, 2012 at 4:40 PM, Mark Claassen >>> wrote: >>>> >>>>> Thanks for the tips. The overriding method does not seem very >>> pluggable, >>>>> so I started with the event filter. >>>>> >>>>> I like the idea of an event filter, and I really like the how JavaFX >>>>> defined the process and the order in which items will receive events. >>>>> >>>>> So, I quickly implemented my event filter like this: >>>>> input.addEventFilter(KeyEvent.KEY_TYPED, new >>>>> EventHandler() { >>>>> @Override >>>>> public void handle(KeyEvent t) { >>>>> if (input.getText().length() >=10) >>>>> t.consume(); >>>>> } >>>>> }); >>>>> >>>>> This works for typing, but, of course, I can paste whatever I wanted. >>>>> (Perhaps I need to find a second filter for that? How about DnD?) >>>>> >>>>> All input events go through the Swing Document, so with that, there was >>>>> just one method to mess with. >>>>> >>>>> Further, I currently have a Document implementation that takes user >>> input >>>>> and converts it to upper case. (It doesn't force the user to type in >>> an >>>>> upper case character, it just converts it if it is not.) Since, in the >>>>> case of a Document, I can control exactly what the data is, this is >>> pretty >>>>> straightforward. How is that accomplished here? Consume the event, >>> and >>>>> then first a new modified copy of the original. Or do I need to start >>>>> overriding various methods? >>>>> >>>>> Mark >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On Wed, Oct 17, 2012 at 2:13 PM, Will Hoover >>> wrote: >>>>> >>>>>> Have you tried: >>>>>> >>>>>> final TextField tf = new TextField() { >>>>>> final String restictTo = "[A-Z\\s]*"; >>>>>> @Override >>>>>> public void replaceText(int start, int end, String text) { >>>>>> if (matchTest(text)) { >>>>>> super.replaceText(start, end, text); >>>>>> } >>>>>> } >>>>>> @Override >>>>>> public void replaceSelection(String text) { >>>>>> if (matchTest(text)) { >>>>>> super.replaceSelection(text); >>>>>> } >>>>>> } >>>>>> private boolean matchTest(String text) { >>>>>> return text.isEmpty() || text.matches(restictTo); >>>>>> } >>>>>> }; >>>>>> >>>>>> -----Original Message----- >>>>>> From: openjfx-dev-bounces at openjdk.java.net >>>>>> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark >>> Claassen >>>>>> Sent: Wednesday, October 17, 2012 1:08 PM >>>>>> To: openjfx-dev at openjdk.java.net >>>>>> Subject: TextField Document model >>>>>> >>>>>> JTextComponents (like JTextField) has a javax.swing.text.Document >>> model >>>>>> that >>>>>> made it pretty easy to create a text field that only allowed a certain >>>>>> number of characters in it. Similarly, it was also easy to make a >>>>>> Document >>>>>> model that took all input, but forced characters to upper case. >>>>>> >>>>>> @Override >>>>>> public void insertString(int offs, String str, AttributeSet a) throws >>>>>> BadLocationException { >>>>>> >>>>>> } >>>>>> >>>>>> What is there going to be in JavaFX to accomplish the same goals? >>>>>> >>>>>> Mark >>>>>> >>>>>> >>>>> >>> >>> >> From markclaassenx at gmail.com Thu Oct 18 13:00:48 2012 From: markclaassenx at gmail.com (Mark Claassen) Date: Thu, 18 Oct 2012 16:00:48 -0400 Subject: TextField Document model In-Reply-To: <71937D8F-E326-455D-9E24-669F4D223AFB@oracle.com> References: <507ef547.41c5ec0a.2e1f.7e39@mx.google.com> <71937D8F-E326-455D-9E24-669F4D223AFB@oracle.com> Message-ID: > BTW, if you find that changing it dynamically works perfect, I'd be happy to do the code review (including Jonathan). Sure. How do I proceed with this? Create a Jira issue and then submit the changes that way? > Content should be pluggable on a given TextInputControl, or whether it should require subclassing. Subclassing seems a bit inconvenient. To control the input on every text field on a form, all the fields would need to be custom components. This would mean that there would be very few TextFields in my app, I would have just MyTextField everywhere. Also, how would I code it? If I was just using setContent() I would do something like: firstField.setContent(new RestrictedLengthContent(Person.FIRST_NAME_LENGTH)); lastField.setContent(new RestrictedLengthContent(Person.LAST_NAME_LENGTH)); How would I do that in subclasses and still use SceneBuilder? Maybe there would be a way in SceneBuilder to allow the use of a parameterized constructor with a custom parameter, but that seems pretty complex. > In your case I'm guessing the content is set before... I just provided you with one easy case. In reality, we try to be far more clever. ;-) However, that is mostly right, and with all these new tools in FX, I think we will make different choices when that time comes. > might fail in the control & in the skin I am pretty new to this, and I have not really addressed the Skin and Behavior aspects of everything. Is there a good place to learn how this all is intended to work together? It sounds like this is to break apart the PLAF Look and the PLAF Feel. (Also, a FX skin is more about how things are painted, and is not the definition that some products use where a different skin completely rearranges the UI.) Mark On Thu, Oct 18, 2012 at 3:28 PM, Richard Bair wrote: > I think Greg did make it all mutable initially, and I probably made them > final. This was likely due to the fact that the text controls were being > rewritten only weeks before the 2.0 release and it was easier to prove > correctness when the Content wasn't changing. Note that "Content" is > protected already, so from our perspective it is public API, so making it > public isn't a big change for us. The question is whether Content should be > pluggable on a given TextInputControl, or whether it should require > subclassing. > > I think I remember at one point the theory being, just subclass and > provide your own Content in the call to super's constructor. However there > was a problem with this, because TextInputControlSkin wasn't public, and > TextFieldSkin etc require a specific subtype of TextInputControl, and as > such, you couldn't realistically create any subclass of TextInputControl > (crap!). I discovered that problem after we shipped 2.0. > > I think if we want to make content mutable, then we need to do a > comprehensive review to see where it might fail in the control & in the > skin. That is, does the skin get a reference to the content and hold on to > it? Or does it always call getContent() when it needs a reference? If the > content changes, do we need to clean any state on the skin or on the > control? In your case I'm guessing the content is set before the skin is, > and never thereafter changed, and so it acts as though it is an immutable > property still, so things work great. I'm guessing though that dynamically > changing the content at runtime might cause some issues? > > I don't have any philosophical reason for not having content be mutable. > My only concern here is that having it mutable introduces some additional > complexity in the class / skin -- or at least it might. > > BTW, if you find that changing it dynamically works perfect, I'd be happy > to do the code review (including Jonathan). > > Thanks > Richard > > On Oct 18, 2012, at 12:03 PM, Mark Claassen wrote: > > > My initial proof of concept worked perfectly... limited to 10 characters, > > forced upper case > > > > Altering the source I did the following: > > Made TextInputControl.Content public > > Made a setContent(Content content) method in TextInputControl > > Made the member variable "content" in TextInputControl to be non-final > > Made TextFieldContent in TextField public > > Made TextFieldContent in TextField non-static > > > > In my source code, I then did: > > TextInputControl.Content content = new > TextField.TextFieldContent() > > { > > @Override > > public void insert(int i, String string, boolean bln) { > > if (10 - length() => string.length()) > > super.insert(i, string.toUpperCase(), bln); > > } > > }; > > > > I don't know why the designers made these things final and > > private/protected. I would imagine they had a reason, so my JFX source > > changes would probably need to be more carefully considered. I just > wanted > > tom show it was possible. > > > > Mark > > > > > > On Thu, Oct 18, 2012 at 2:37 PM, Mark Claassen >wrote: > > > >> I got the source and figured it out...or at least found a problem. > >> > >> The TextInputControl.Content seems to be exactly what I need. However, > it > >> is not public. Further, the instance variable is a final member in > >> TextInputControl. > >> > >> First, Content, and the default implementations, need to be public so > they > >> can be easily extended. I have feeling these were intended to be public > >> when the time was right. > >> > >> Second, there needs to be some way to plug this behavior. If it is > going > >> to remain final, then there needs to be a way to specify the Content > class > >> in the FXML. The SceneBuilder is clearly the way most UIs are supposed > to > >> be designed, so, therefore, it needs to be pretty all-encompassing. > >> > >> Mark > >> > >> > >> On Wed, Oct 17, 2012 at 5:05 PM, Scott Palmer > wrote: > >> > >>> Using the override mechanism that Will suggested is probably easier for > >>> converting to uppercase. > >>> > >>> final TextField allCapsTextField = new TextField() { > >>> @Override > >>> public void replaceText(int start, int end, String text) { > >>> super.replaceText(start, end, text.toUppercase()); > >>> } > >>> @Override > >>> public void replaceSelection(String text) { > >>> super.replaceSelection(text.toUppercase()); > >>> } > >>> }; > >>> > >>> or you could still use the Event Filter and handle the insertion of the > >>> characters manually if they are lowercase > >>> and then consume the event. I think that will be more work and be more > >>> error-prone though. As you mention you would have to handle pasting > and > >>> drag and drop and all ugly details. Overriding seems cleaner. > >>> > >>> Perhaps you should take a look at the source code to TextInputControl. > >>> Instead of the Document they have a Content interface. Maybe you can > do > >>> some of what you want by overriding getContent(). > >>> > >>> Scott > >>> > >>> On 2012-10-17, at 4:41 PM, Mark Claassen > wrote: > >>> > >>>> Thanks for the tips. The overriding method does not seem very > >>> pluggable, > >>>> so I started with the event filter. > >>>> > >>>> I like the idea of an event filter, and I really like the how JavaFX > >>>> defined the process and the order in which items will receive events. > >>>> > >>>> So, I quickly implemented my event filter like this: > >>>> input.addEventFilter(KeyEvent. > >>>> KEY_TYPED, new EventHandler() { > >>>> @Override > >>>> public void handle(KeyEvent t) { > >>>> if (input.getText().length() >=10) > >>>> t.consume(); > >>>> } > >>>> }); > >>>> > >>>> This works for typing, but, of course, I can paste whatever I wanted. > >>>> (Perhaps I need to find a second filter for that? How about DnD?) > >>>> > >>>> All input events go through the Swing Document, so with that, there > was > >>>> just one method to mess with. > >>>> > >>>> Further, I currently have a Document implementation that takes user > >>> input > >>>> and converts it to upper case. (It doesn't force the user to type in > an > >>>> upper case character, it just converts it if it is not.) Since, in > the > >>>> case of a Document, I can control exactly what the data is, this is > >>> pretty > >>>> straightforward. How is that accomplished here? Consume the event, > and > >>>> then first a new modified copy of the original. Or do I need to start > >>>> overriding various methods? > >>>> > >>>> > >>>> On Wed, Oct 17, 2012 at 4:40 PM, Mark Claassen < > markclaassenx at gmail.com > >>>> wrote: > >>>> > >>>>> Thanks for the tips. The overriding method does not seem very > >>> pluggable, > >>>>> so I started with the event filter. > >>>>> > >>>>> I like the idea of an event filter, and I really like the how JavaFX > >>>>> defined the process and the order in which items will receive events. > >>>>> > >>>>> So, I quickly implemented my event filter like this: > >>>>> input.addEventFilter(KeyEvent.KEY_TYPED, new > >>>>> EventHandler() { > >>>>> @Override > >>>>> public void handle(KeyEvent t) { > >>>>> if (input.getText().length() >=10) > >>>>> t.consume(); > >>>>> } > >>>>> }); > >>>>> > >>>>> This works for typing, but, of course, I can paste whatever I wanted. > >>>>> (Perhaps I need to find a second filter for that? How about DnD?) > >>>>> > >>>>> All input events go through the Swing Document, so with that, there > was > >>>>> just one method to mess with. > >>>>> > >>>>> Further, I currently have a Document implementation that takes user > >>> input > >>>>> and converts it to upper case. (It doesn't force the user to type in > >>> an > >>>>> upper case character, it just converts it if it is not.) Since, in > the > >>>>> case of a Document, I can control exactly what the data is, this is > >>> pretty > >>>>> straightforward. How is that accomplished here? Consume the event, > >>> and > >>>>> then first a new modified copy of the original. Or do I need to > start > >>>>> overriding various methods? > >>>>> > >>>>> Mark > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> On Wed, Oct 17, 2012 at 2:13 PM, Will Hoover >>>> wrote: > >>>>> > >>>>>> Have you tried: > >>>>>> > >>>>>> final TextField tf = new TextField() { > >>>>>> final String restictTo = "[A-Z\\s]*"; > >>>>>> @Override > >>>>>> public void replaceText(int start, int end, String text) { > >>>>>> if (matchTest(text)) { > >>>>>> super.replaceText(start, end, text); > >>>>>> } > >>>>>> } > >>>>>> @Override > >>>>>> public void replaceSelection(String text) { > >>>>>> if (matchTest(text)) { > >>>>>> super.replaceSelection(text); > >>>>>> } > >>>>>> } > >>>>>> private boolean matchTest(String text) { > >>>>>> return text.isEmpty() || text.matches(restictTo); > >>>>>> } > >>>>>> }; > >>>>>> > >>>>>> -----Original Message----- > >>>>>> From: openjfx-dev-bounces at openjdk.java.net > >>>>>> [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Mark > >>> Claassen > >>>>>> Sent: Wednesday, October 17, 2012 1:08 PM > >>>>>> To: openjfx-dev at openjdk.java.net > >>>>>> Subject: TextField Document model > >>>>>> > >>>>>> JTextComponents (like JTextField) has a javax.swing.text.Document > >>> model > >>>>>> that > >>>>>> made it pretty easy to create a text field that only allowed a > certain > >>>>>> number of characters in it. Similarly, it was also easy to make a > >>>>>> Document > >>>>>> model that took all input, but forced characters to upper case. > >>>>>> > >>>>>> @Override > >>>>>> public void insertString(int offs, String str, AttributeSet a) > throws > >>>>>> BadLocationException { > >>>>>> > >>>>>> } > >>>>>> > >>>>>> What is there going to be in JavaFX to accomplish the same goals? > >>>>>> > >>>>>> Mark > >>>>>> > >>>>>> > >>>>> > >>> > >>> > >> > > From hang.vo at oracle.com Thu Oct 18 13:03:42 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 18 Oct 2012 20:03:42 +0000 Subject: hg: openjfx/8/controls/rt: fix RT-23812 StackedAreaChart ClassCastException on CategoryAxis Message-ID: <20121018200347.105FA4741F@hg.openjdk.java.net> Changeset: d811a42d75ba Author: Paru Somashekar Date: 2012-10-18 12:57 -0700 URL: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/d811a42d75ba fix RT-23812 StackedAreaChart ClassCastException on CategoryAxis + unit test. ! javafx-ui-charts/src/javafx/scene/chart/StackedAreaChart.java ! javafx-ui-charts/test/javafx/scene/chart/StackedAreaChartTest.java From phidias51 at gmail.com Thu Oct 18 13:04:17 2012 From: phidias51 at gmail.com (Mark Fortner) Date: Thu, 18 Oct 2012 13:04:17 -0700 Subject: Refactoring JavaFX Builds & Sources In-Reply-To: References: Message-ID: Hi Richard, There's probably two overlapping aims here: 1) to build JavaFX itself, and 2) to build JavaFX projects (in your case, projects like Ensemble). As you pointed out, Maven can be rigid if you want to do something that it doesn't normally do. It's goal is value convention over configuration. But you can mix and match Maven and Gradle, or you can write your own Mojo to provide any custom functionality (it's similar to writing an Ant Task). The nice thing about Maven is that you can use the artifacts with Gradle, Ivy and other build tools. And those tools include plugins that let them interoperate with maven builds. As I mentioned in this issue: http://javafx-jira.kenai.com/browse/RT-25723 You can generate project files for most IDEs. Most external developers won't really want to build the native bits. In the past I've created jars that include native DLLs, SOs, and added those as dependencies. If you are using Hudson or some other CI tool, it should be able to handle nightly builds and publish them to a Maven compliant repo (thus making them usable by anyone using Maven, Gradle, or Ivy). The next time a developer builds, it will fetch the latest build including the native bits (assuming that they've configured their POMs to depend on the latest SNAPSHOT). Hudson can also handle generating the coverage, and test reports for you. Mark On Thu, Oct 18, 2012 at 12:16 PM, Richard Bair wrote: > I've spent a couple days (spread out over the last week and a half or so) > looking at our build system and what we can do to improve it. As I have > mentioned in other threads, my test for success in the build system is if a > developer wanting to change Java code simply had to: > > 1) Download (or Clone) the sources > 2) Open the JavaFX project in their IDE of choice (IntelliJ IDEA, > Eclipse, Netbeans) > 3) Hit "run" and it runs Ensemble. > > And likewise, hitting "test" should run all the automatic tests and > hitting "coverage" should generate code coverage stats, and "debug" should > work -- exactly as one might hope. Today, in order to make this work, Steve > has a carefully constructed Eclipse project setup and I have a carefully > (laboriously) constructed IDEA setup and nobody has a very good NetBeans > setup. This is bad. > > Further more, you should be able to do "find usages" in your IDE and get > EVERYTHING IN THE UNIVERSE, rather than right now where in NB it doesn't > have enough information about the 160 other projects in our system to be > able to do this. This is bad. > > Right now we build with ant. Many of you have suggested Maven. Some of you > at JavaOne suggested Gradle. I am presently looking into Gradle. The key > things I like about Gradle are: > > 1) It isn't XML > 2) Like Ivy & Maven, it handles dependencies well > > We presently have a pile of XML files and nasty build logic for > downloading dependencies (this is all in the closed repo, but you would be > exposed to the horror if we just made it all public). I wanted instead to > use Ivy at the very least, but rather if I can get better build happiness > from another setup entirely (like Gradle) then I might as well give it a > try. > > Of course, I'm hoping Danno & Andres will help maintain the build scripts > :-D > > I have two different scripts, one which is to be used during transition, > and will generate the "new world" from the old, and another which will be > the build file going forward. I want to emphasize that this is at the > moment only a prototype. Also, there will be no loss in functionality > migrating from the current system to any future system. In particular: > > 1) I'll make sure cross builds all continue to work > 2) Partial builds (for native code particularly) will continue to > work such that you don't HAVE to build native code > 3) It will produce bit-for-bit compatible output in the artifacts/ > directory, so all our RE (Release Engineering) scripts continue to work > with little or no modification > > Also, in my tests so far the speed of the build is dramatically faster -- > but then I don't have everything in yet so that might just be wishful > thinking. I hope and expect it to be faster though. > > We generate code in our build system for the following reasons: > > 1) We have a VersionInfo class which the build system will update > with version information. It is a com.sun.something class > 2) We have an annotation processor which generates all of the > builders > 3) We have two grammars that Antlr has process to produce parsers > -- one for JSL (for our shaders) and one for CSS > 4) We have a "decora compiler" which takes JSL files and feeds it > through the JSL parser and produces code / shaders > > In addition to code generation, we also build a ton of native code > (gstreamer, webkit, prism, fonts, glass, image loading). So that has to fit > into the build system. Building native code is SLOW, so being able to avoid > it for "normal" developers, and being able to avoid native builds when > nothing changed in the native code, is important. > > Also, testing. We have a variety of tests that we need to organize better. > At the moment we have basically two types of tests: JUnit tests and SQE has > visual tests (using Jemmy). The unit tests are all going open source along > with the code projects they belong to. We have not yet got complete > clearance for all of the SQE tests, although I firmly believe it is the > right thing to do, and will push on it again once the rest of our > "homework" (fixing the build system etc) is taken care of. > > I have found that some of our unit tests are written such that they > require more of the platform, rather than just one class. So for example, > there are tests in the scene graph which might want to use a UI control for > some purpose. I'm thinking the easiest thing to do is to have a test > directory at the top level which houses all the tests, and break them up > based on whether they are part of the smoke test, integration test, or > manual test suite. Smoke tests are those that are run continuously. They > must be headless, and they must be completely automated, and they must > execute within some reasonable amount of time (since hudson is going to be > doing it continuously). The integration tests are the rest of the automated > tests that need to be run between every integration with "master". Finally > the manual tests are not run as part of the integration / smoke tests, but > really are just little "toys" or apps we've written that are useful when > developing a feature or whatnot. We've got a ton of these little guys > (mostly of the "HelloWorld" variety), and these would go into "manual". > > We also will have an apps directory, where we will place all the samples > (like Ensemble) and experiments (like the JavaOne Schedule Builder). > > And I want to have a "benchmarks" directory where all of our benchmarks > will live. The only problem with this one is that we have a dependency on > JRockit benchmark harness, and I'm not sure how to resolve that with the > open source bits. Maybe the JRockit benchmark harness is already open > source, I haven't dug into it yet to find out. However I believe we *must* > have benchmarks open, as well as the SQE tests. My goal is to run OpenJFX > in the open and to have meaningful contributions -- how can that happen if > we're keeping back essential verification tools? How can somebody submit a > patch and not know whether it is going to impact performance? So I want to > get the benchmarks all out, but we need to figure out what to do about this > dependency. Another option is to replace this dependency with one of the > other open source benchmark harnesses, but this would need to be carefully > considered as it would disrupt our benchmark reporting for some period of > time. But ultimately having public numbers and public tests would, I think, > be very beneficial across the board. > > So, I am proposing a project structure something like: > > javafx/ > apps > experiments > samples > build-tools > src/java (annotation stuff) > modules > base (javafx.beans, javafx.collections, etc) > graphics (scene graph, prism, glass) > controls (controls, charts) > src/ > decora-d3d > prism-egl > ... > java > swing (javafx.embed.swing) > swt (javafx.embed.swt) > media > web > tests > smoke > integration > manual > > Each module directory is basically just a home for the sources. All native > sources are right there along with the Java sources, and we pick the right > natives to use depending on what the build target is (for all the > cross-compile stuff). > > Thoughts? > Richard From richard.bair at oracle.com Thu Oct 18 13:16:52 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 13:16:52 -0700 Subject: TextField Document model In-Reply-To: References: <507ef547.41c5ec0a.2e1f.7e39@mx.google.com> <71937D8F-E326-455D-9E24-669F4D223AFB@oracle.com> Message-ID: <7BE4C851-66CE-47C4-9868-E7C49CD48667@oracle.com> > Sure. How do I proceed with this? Create a Jira issue and then submit the > changes that way? Yes, that would be best. If the code is relatively simple, then that is all you need to do. If it is more complex, then (bear with me) you will need to sign and send in the Oracle Contributor Agreement which gives oracle joint copyright so that we can relicense for mobile / embedded / licensees / etc. I'm guessing this one falls into the former category (adding a couple setters is not a big deal). >> Content should be pluggable on a given TextInputControl, or whether it > should require subclassing. > > Subclassing seems a bit inconvenient. To control the input on every text > field on a form, all the fields would need to be custom components. This > would mean that there would be very few TextFields in my app, I would have > just MyTextField everywhere. Also, how would I code it? If I was just > using setContent() I would do something like: > > firstField.setContent(new > RestrictedLengthContent(Person.FIRST_NAME_LENGTH)); > lastField.setContent(new RestrictedLengthContent(Person.LAST_NAME_LENGTH)); > > How would I do that in subclasses and still use SceneBuilder? Maybe there > would be a way in SceneBuilder to allow the use of a parameterized > constructor with a custom parameter, but that seems pretty complex. With subclassing, I might have done something like: public class BetterTextField extends TextField { private IntegerProperty maxLength = new SimpleIntegerProperty(this, "maxLength", -1); // getters / setters // any other properties your ideal text field would have -- maybe a regex for validation, etc private static final class BetterContent extends Content { private IntegerProperty maxLength; // other properties // implementation.... } public BetterTextField() { super(new BetterContent()); BetterContent content = (BetterContent) getContent(); content.maxLength = maxLength; // alias the property } } Then in FXML: Now in Scene Builder I'm not sure this is well handled at present, it was on the task list for 8, although those plans haven't been finalized. It does something, but it might just be an empty box on the form, I'm not sure (depends on whether they are figuring out the classpath). The theory was that some things (like maxLength) should just be added to TextField in the future, and we wanted to have some FormattedTextField (or whatnot) that would handle the other cases. These are all subclasses, so that's fine. If I were to do a SearchField, it would be a subclass. So for most cases it seemed a subclass would be done anyway. Also I think the TextField's Content does special things with regards to \n \t etc that are set on the field, so if you replace with a custom Content, you might want to wrap the original one to avoid problems. >> might fail in the control & in the skin > > I am pretty new to this, and I have not really addressed the Skin and > Behavior aspects of everything. Is there a good place to learn how this > all is intended to work together? It sounds like this is to break apart > the PLAF Look and the PLAF Feel. (Also, a FX skin is more about how things > are painted, and is not the definition that some products use where a > different skin completely rearranges the UI.) Jonathan and Paru did a talk on this at JavaOne, as did Gerrit. Go to http://oracle.com/javaone Click on JavaOne Technical Sessions link I haven't tried to watch them yet via that page, but in theory it should work. Richard From richard.bair at oracle.com Thu Oct 18 13:34:20 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 13:34:20 -0700 Subject: Refactoring JavaFX Builds & Sources In-Reply-To: References: Message-ID: Hi Mark > There's probably two overlapping aims here: 1) to build JavaFX itself, and > 2) to build JavaFX projects (in your case, projects like Ensemble). > > As you pointed out, Maven can be rigid if you want to do something that it > doesn't normally do. It's goal is value convention over configuration. > But you can mix and match Maven and Gradle, or you can write your own Mojo > to provide any custom functionality (it's similar to writing an Ant Task). > The nice thing about Maven is that you can use the artifacts with Gradle, > Ivy and other build tools. And those tools include plugins that let them > interoperate with maven builds. > > As I mentioned in this issue: http://javafx-jira.kenai.com/browse/RT-25723 > You can generate project files for most IDEs. Is this issue related to building JavaFX with Maven or building Maven-based projects with JavaFX? I know both have been talked about on this list before. It looks like this is the latter (building javafx apps using Maven). In the latter case, JavaFX (because it is cobundled with the JRE) should be treated much like a Java version dependency -- ie: if you want to use JavaFX 2.2, them you update your build to use JavaSE 7u7 or whatnot. However it is true we have ant tasks for doing things like generating co-bundles, JNLP files, etc and those should have Maven counterparts, so that within your normal Maven build you can very easily add support for FX co-bundle creation. I'm not sure what that looks like in terms of code though. > Most external developers won't really want to build the native bits. In > the past I've created jars that include native DLLs, SOs, and added those > as dependencies. I did some research into how this is done in Maven but it was hard to follow. Does Maven, Ivy, and Gradle only support jar files in their repos? If it is wrapped in a jar, do I then have to unwrap before creating the final artifacts? > If you are using Hudson or some other CI tool, it should be able to handle > nightly builds and publish them to a Maven compliant repo (thus making them > usable by anyone using Maven, Gradle, or Ivy). The next time a developer > builds, it will fetch the latest build including the native bits (assuming > that they've configured their POMs to depend on the latest SNAPSHOT). > Hudson can also handle generating the coverage, and test reports for you. I don't see how putting JavaFX into Maven repos helps though, since it is co-bundled with the JRE and relies on certain versions in the JRE. In the past, JavaFX was a standalone, and so publishing to a Maven repo would make perfect sense. However now that we're cobundled with the JRE, it seems like it doesn't make sense to publish into a repo. One of the reasons we went for co-bundling was a step along the (hopefully) inevitable path to becoming part of the JavaSE spec (in which case we would have to be co-bundled). Also it allows us to take advantage of advances in JavaSE for performance, Swing integration, deployment fixes, etc. Cheers Richard From richard.bair at oracle.com Thu Oct 18 13:58:01 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 13:58:01 -0700 Subject: Annotation Processing in Gradle Message-ID: OK, I apologize up front -- this gradle script is not something you can reproduce in its entirety because some of the sources I'm building with have not been made public yet (see other email thread today on that subject). However I thought it would be good to detail what I'm up to and any Gradle master's could lend a hand if you have a moment :-) Here is my current directory structure: javafx/ build-tools/ src/ java/ META-INF/services/javafx.annotation.processing.Processor com/ javafx/ modules/ base/ src/ build/ com/sun/javafx/runtime/VersionInfo.java java/ com/ javafx/ Here is my settings.gradle file: include 'build-tools', 'base', 'graphics', 'controls', 'swing', 'swt', 'web', 'fxml' project(':base').projectDir = file('modules/base') project(':graphics').projectDir = file('modules/graphics') project(':controls').projectDir = file('modules/controls') project(':swing').projectDir = file('modules/swing') project(':swt').projectDir = file('modules/swt') project(':web').projectDir = file('modules/web') project(':fxml').projectDir = file('modules/fxml') And here is a portion of my build.gradle file: allprojects { apply plugin: 'java' repositories { mavenCentral() } } project(':build-tools') { sourceSets { main { java { srcDirs = ['src/java'] exclude "META-INF/services/*" } resources { srcDirs = ['src/java'] include "META-INF/services/*" } } } } project(':base') { sourceSets.main.java.srcDirs = ['src/java', 'src/build'] // TODO need to transform the VersionInfo in the src/build prior to compilation dependencies { compile project(':build-tools') } } Now, my current issue is this: in build-tools, I have my annotation processor (BuilderProcessor). It also has some annotations. We use the annotations in our sources, such that we can say "@NoBuilder" or define default values for properties in constructors, etc, so that the builder annotation processor can create the right Builder implementation. So the Annotations need to be available to build-tools, and the annotation processor is also in build-tools, and base (and other modules) must both depend on build-tools (for the annotations) as well as use the annotation processor in build-tools during build time. OK, so that goop in the project(':build-tools') block makes sure teh META-INF of the generated build-tools.jar is correct, so that hopefully the classpath is right for base, so that the annotation processor will be run. Fine. Unfortunately I'm getting a very unhelpful error message: Exception thrown while constructing Processor object: null I'm not sure where the error lies, will keep digging. If anybody has an idea, let me know. Thanks Richard From swpalmer at gmail.com Thu Oct 18 14:09:13 2012 From: swpalmer at gmail.com (Scott Palmer) Date: Thu, 18 Oct 2012 17:09:13 -0400 Subject: TextField Document model In-Reply-To: <71937D8F-E326-455D-9E24-669F4D223AFB@oracle.com> References: <507ef547.41c5ec0a.2e1f.7e39@mx.google.com> <71937D8F-E326-455D-9E24-669F4D223AFB@oracle.com> Message-ID: On 2012-10-18, at 3:28 PM, Richard Bair wrote: > I don't have any philosophical reason for not having content be mutable. My only concern here is that having it mutable introduces some additional complexity in the class / skin -- or at least it might. > > BTW, if you find that changing it dynamically works perfect, I'd be happy to do the code review (including Jonathan). Adding a new constructor to set it once would likely work for most cases. I suspect making it dynamic is a lot more work. Scott From richard.bair at oracle.com Thu Oct 18 14:11:45 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 14:11:45 -0700 Subject: Refactoring JavaFX Builds & Sources In-Reply-To: References: Message-ID: <80B3D614-DACD-412A-B89D-BEE09082D958@oracle.com> OK, so we have the following issues: - JavaFX is cobundled with the JRE, but is not on the classpath, and thus basically doesn't exist for developers (that is, they have to manually setup javafx on their classpath since the JRE doesn't have it) - Native app bundles require the target OS to be available in order to create the bundle (obvious pain ensues) - Having to reinstall the JRE to test the latest build of FX stinks (even if it is ultimately deployed with the JRE, being able to link-to / run JavaFX separately makes development easier) Is that right? I'll probably circle back with you on the native / jar issue in a bit, my head is in another space at the moment (trying to get annotation processor working). These are all definitely issues. Would you be able to check and see what the corresponding issues are in JIRA, or file new issues an let me know? I'm going to wrangle the right people. Richard On Oct 18, 2012, at 2:02 PM, Mark Fortner wrote: > Hi Richard, > The issue below is about making JavaFX projects build with Maven. In particular it makes the process of creating a JavaFX project a snap to do by generating the appropriate directory structure, and configuring the POM file to generate the artifacts that people want (like JNLP files, JARs, RPMs, etc). You could test the archetype using your Ensemble project. > > Cobundling of JavaFX solves certain problems, but since the source isn't released yet, and since the default build classpath doesn't include JavaFX you still have to do add JavaFX as a dependency. > > > > > > As I mentioned in this issue: http://javafx-jira.kenai.com/browse/RT-25723 > > You can generate project files for most IDEs. > > Is this issue related to building JavaFX with Maven or building Maven-based projects with JavaFX? I know both have been talked about on this list before. It looks like this is the latter (building javafx apps using Maven). In the latter case, JavaFX (because it is cobundled with the JRE) should be treated much like a Java version dependency -- ie: if you want to use JavaFX 2.2, them you update your build to use JavaSE 7u7 or whatnot. > > However it is true we have ant tasks for doing things like generating co-bundles, JNLP files, etc and those should have Maven counterparts, so that within your normal Maven build you can very easily add support for FX co-bundle creation. I'm not sure what that looks like in terms of code though. > > > Most external developers won't really want to build the native bits. In > > the past I've created jars that include native DLLs, SOs, and added those > > as dependencies. > > I did some research into how this is done in Maven but it was hard to follow. Does Maven, Ivy, and Gradle only support jar files in their repos? If it is wrapped in a jar, do I then have to unwrap before creating the final artifacts? > > > Maven repos can include a variety of different artifacts; however, since the non-native code is expecting the native code in the same directory, it's easier to simply bundle a copy of the class jar with the native artifacts. For example, in my case, I put the dylib files into a jar called jfxrt-mac-2.2.0.jar. I then installed the jar into my local maven repository. > > > > > If you are using Hudson or some other CI tool, it should be able to handle > > nightly builds and publish them to a Maven compliant repo (thus making them > > usable by anyone using Maven, Gradle, or Ivy). The next time a developer > > builds, it will fetch the latest build including the native bits (assuming > > that they've configured their POMs to depend on the latest SNAPSHOT). > > Hudson can also handle generating the coverage, and test reports for you. > > I don't see how putting JavaFX into Maven repos helps though, since it is co-bundled with the JRE and relies on certain versions in the JRE. In the past, JavaFX was a standalone, and so publishing to a Maven repo would make perfect sense. However now that we're cobundled with the JRE, it seems like it doesn't make sense to publish into a repo. One of the reasons we went for co-bundling was a step along the (hopefully) inevitable path to becoming part of the JavaSE spec (in which case we would have to be co-bundled). Also it allows us to take advantage of advances in JavaSE for performance, Swing integration, deployment fixes, etc. > > > Assuming that you don't need the native bits to create platform-specific builds of your app, then we should be OK. I looked into your Native Packaging tools earlier in the year, it seemed that you needed to be on the platform you were building for. Which was a non-starter for me since I build on a Mac and deploy to both Windows and Mac. > > The only problem that not deploying the latest build would have, would be in cases where you've submitted a bug, somebody posts a fix for it, and you want to verify the fix. If you use the nightly build, then you should be able to verify that the fix addresses the problem by running your code with the nightly snapshot libraries without having to build JavaFX from source. Often times waiting until an official release occurs, will cause you to miss your own deadline. > > Cheers, > > Mark From richard.bair at oracle.com Thu Oct 18 14:13:14 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 14:13:14 -0700 Subject: Annotation Processing in Gradle In-Reply-To: References: Message-ID: <3903150F-F562-4AFF-B8EB-7A79F58DDDB2@oracle.com> > Exception thrown while constructing Processor object: null To be more clear, the error occurs when trying to compile "base", apparently because the processor cannot be found? Not sure. :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :build-tools:compileJava UP-TO-DATE :build-tools:processResources UP-TO-DATE :build-tools:classes UP-TO-DATE :build-tools:jar UP-TO-DATE :base:compileJava error: Exception thrown while constructing Processor object: null :base:compileJava FAILED From richard.bair at oracle.com Thu Oct 18 14:27:53 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 14:27:53 -0700 Subject: Annotation Processing in Gradle In-Reply-To: <3903150F-F562-4AFF-B8EB-7A79F58DDDB2@oracle.com> References: <3903150F-F562-4AFF-B8EB-7A79F58DDDB2@oracle.com> Message-ID: <42B647F5-C556-4B29-8E15-83AA2E72DA37@oracle.com> I know this is hopeless noise, sorry about that. But its too late now! Building by hand: Richards-MacBook-Pro-3:base richardbair$ javac -d /Users/richardbair/Projects/Work/jfx/graphics-8.0-refactor/javafx/modules/base/build/classes/main -g -classpath /Users/richardbair/Projects/Work/jfx/graphics-8.0-refactor/javafx/build-tools/build/libs/build-tools.jar /Users/richardbair/Projects/Work/jfx/graphics-8.0-refactor/javafx/modules/base/src/java/com/oracle/javafx/jmx/SGMXBean.java /Users/richardbair/Projects/Work/jfx/graphics-8.0-refactor/javafx/modules/base/src/java/com/sun/javafx/PlatformUtil.java error: Exception thrown while constructing Processor object: null And everything in that Jar which is on the classpath: Richards-MacBook-Pro-3:base richardbair$ jar -tvf /Users/richardbair/Projects/Work/jfx/graphics-8.0-refactor/javafx/build-tools/build/libs/build-tools.jar 0 Thu Oct 18 13:48:36 PDT 2012 META-INF/ 25 Thu Oct 18 13:48:36 PDT 2012 META-INF/MANIFEST.MF 0 Thu Oct 18 13:19:44 PDT 2012 com/ 0 Thu Oct 18 13:19:44 PDT 2012 com/sun/ 0 Thu Oct 18 13:19:44 PDT 2012 com/sun/javafx/ 0 Thu Oct 18 13:19:44 PDT 2012 com/sun/javafx/beans/ 0 Thu Oct 18 13:48:34 PDT 2012 com/sun/javafx/beans/annotations/ 433 Thu Oct 18 13:48:34 PDT 2012 com/sun/javafx/beans/annotations/Default.class 400 Thu Oct 18 13:48:34 PDT 2012 com/sun/javafx/beans/annotations/Delegate.class 484 Thu Oct 18 13:48:34 PDT 2012 com/sun/javafx/beans/annotations/DuplicateInBuilderProperties.class 401 Thu Oct 18 13:48:34 PDT 2012 com/sun/javafx/beans/annotations/NoBuilder.class 410 Thu Oct 18 13:48:34 PDT 2012 com/sun/javafx/beans/annotations/NoInit.class 490 Thu Oct 18 13:48:34 PDT 2012 com/sun/javafx/beans/annotations/NonNull.class 0 Thu Oct 18 13:19:44 PDT 2012 com/sun/javafx/collections/ 0 Thu Oct 18 13:48:34 PDT 2012 com/sun/javafx/collections/annotations/ 449 Thu Oct 18 13:48:34 PDT 2012 com/sun/javafx/collections/annotations/ReturnsUnmodifiableCollection.class 0 Thu Oct 18 13:19:44 PDT 2012 javafx/ 0 Thu Oct 18 13:19:44 PDT 2012 javafx/builder/ 0 Thu Oct 18 13:48:36 PDT 2012 javafx/builder/processor/ 2416 Thu Oct 18 13:48:36 PDT 2012 javafx/builder/processor/BuilderProcessor$1SetterCall.class 3552 Thu Oct 18 13:48:36 PDT 2012 javafx/builder/processor/BuilderProcessor$Scanned.class 33393 Thu Oct 18 13:48:36 PDT 2012 javafx/builder/processor/BuilderProcessor.class 0 Thu Oct 18 13:19:44 PDT 2012 META-INF/services/ 42 Thu Oct 18 13:19:44 PDT 2012 META-INF/services/javax.annotation.processing.Processor and "META-INF/services/javax.annotation.processing.Processor has: javafx.builder.processor.BuilderProcessor as its content. Its a mystery to me. Wondering why META-INF is split on the top & bottom of that output, though. From John_Smith at symantec.com Thu Oct 18 14:37:56 2012 From: John_Smith at symantec.com (John Smith) Date: Thu, 18 Oct 2012 14:37:56 -0700 Subject: Open Sourcing Status Report In-Reply-To: <65D94E2E-335A-478F-BA27-B22308CD6BE0@oracle.com> References: <65D94E2E-335A-478F-BA27-B22308CD6BE0@oracle.com> Message-ID: <411E73D23DEC4C46BA48F2B6D8BF3D221601FEF3C2@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> Thanks for the hard work on open sourcing JavaFX. I noticed some of the fxml work was open sourced recently, so that's progress. Looking at the repository, this is a list of modules currently open sourced: javafx-beans-dt javafx-concurrent javafx-designtime javafx-fxml javafx-ueber-jar javafx-ui-charts javafx-ui-common javafx-ui-controls javafx-util-converter test-stub-toolkit I also think WebKit source modifications are open source somewhere. It would be nice to have an equivalent list of modules which will be open sourced. For example, it is unclear to me whether or not things like the browser plugin, the packaging infrastructure (javafx ant tasks and javafxpackager source) and the packager embedded launcher and fallback code will be open source. Also, will all of the code for the native libraries supporting prism, glass, media, opengl and direct3d bindings be open source by February? In terms of project infrastructure, any chance that github could be used as the primary infrastructure or as a mirror of the existing infrastructure (similar to how redhat manage Ceylon https://github.com/ceylon/)? Access via github might help the project feel a little more accessible and a bit more like a community project than an Oracle project. Just asking, I understand if the answer to that question is no. - John -----Original Message----- From: openjfx-dev-bounces at openjdk.java.net [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Richard Bair Sent: Thursday, October 18, 2012 11:42 AM To: openjfx-dev at openjdk.java.net Mailing Subject: Open Sourcing Status Report I wanted to give a status report on where we're at in the process of open sourcing JavaFX. Obviously we started this process earlier this year or late last year (UI Controls went out either last December or this January, I don't remember exactly), but it stalled awaiting internal approvals, but now that those have been cleared, we're moving forward as quickly as we can. For each chunk of code that we open source, we need to perform the following work: - Update the build system to build the open source bits - Review for Security - Sanity check headers - Review rights (some parts like T2K are licensed and cannot be open sourced) The long pole in this process is the "review for security". In some parts of the code, as we audit we may find a potential security hole. Much of the code we will be able to simply fix and then release (or may have no issues anyway in which case it can just be released after audit), but there will likely be some parts that need to wait until the next security release in February 2013 before we can even apply the patches to the workspace, let alone open source the code. I'm hoping this latter category will be small and that most if not all of our code will be clean and we can push before next February. But just a heads-up that it may take until February for the process to complete. In addition, I'm engaged in a proposal for revamping the project structure and build infrastructure. My main goals are: 1) Make it trivial to develop JavaFX using an IDE 2) Allow for partial builds, cross builds (especially speaking of native compilation. Compiling WebKit can take an hour on my system) 3) Download dependencies dynamically 4) Reduce the number of lines in our build script(s) 5) Simplify the project structure Over the last 4 years things have grown to be quite difficult and cumbersome, and on embedded David Hill said he is spending upwards of 40% of his time wrestling with the build system. Further, only a few of us use IDE's to their maximum potential, and only after wrestling quite hard with the system and coming up with our own "magic sauce" for how to build JavaFX. Clearly this isn't scalable or desirable. To declare success, the process needs to be as simple as: 1) Download the Sources 2) Use your favorite IDE to open the project 3) Hit run If I have to concede defeat, then there might be a 2b) 2b) execute a build step to download dependencies I'll send a separate email in a moment discussing what I want to do around project structure (ie: source file layout etc) and the build. Most of our time at present is spent on Security audits, and as soon as we get those done for some chunk of code, we'll move it into the open. Richard From richard.bair at oracle.com Thu Oct 18 14:38:24 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 14:38:24 -0700 Subject: Annotation Processing in Gradle In-Reply-To: <42B647F5-C556-4B29-8E15-83AA2E72DA37@oracle.com> References: <3903150F-F562-4AFF-B8EB-7A79F58DDDB2@oracle.com> <42B647F5-C556-4B29-8E15-83AA2E72DA37@oracle.com> Message-ID: Found it. For some reason, BuilderProcessor.properties is not being copied over. So the Gradle says: project(':build-tools') { sourceSets { main { java { srcDirs = ['src/java'] exclude "META-INF/services/*" } resources { srcDirs = ['src/java'] include "META-INF/services/*" } } } } So I guess .properties files are not copied as part of the "java" dir normally. I wonder what else isn't copied normally (we've got a bunch of non .java files that are in the java dir. We don't use a separate resources dir). Richard From hang.vo at oracle.com Thu Oct 18 14:39:01 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Thu, 18 Oct 2012 21:39:01 +0000 Subject: hg: openjfx/8/master/rt: 18 new changesets Message-ID: <20121018213920.39FE047429@hg.openjdk.java.net> Changeset: 91c30a8859db Author: rbair Date: 2012-09-20 22:51 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/91c30a8859db Improved handling of thumb size, from previous patch 81cc13fe6f96 ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/VirtualFlow.java Changeset: 408ee6a41174 Author: David Hill Date: 2012-10-09 17:44 -0400 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/408ee6a41174 Automated merge with ssh://javafxsrc.us.oracle.com//javafx/8.0/scrum//graphics/jfx/rt Changeset: 19bdbf3b30ee Author: David Hill Date: 2012-10-12 11:01 -0400 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/19bdbf3b30ee Automated merge with ssh://javafxsrc.us.oracle.com//javafx/8.0/scrum//graphics/jfx/rt Changeset: 7831b4f4de86 Author: Martin Sladecek Date: 2012-10-16 14:37 +0200 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/7831b4f4de86 RT-25147 [FindBugs] GradientUtils$Point - A mutable static field could be changed by malicious code or by accident from another package. ! javafx-ui-common/src/com/sun/javafx/scene/paint/GradientUtils.java Changeset: bae4dedcad85 Author: Martin Sladecek Date: 2012-10-16 14:39 +0200 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/bae4dedcad85 merge Changeset: 4dd0ce0f750e Author: Lubomir Nerad Date: 2012-10-16 14:41 +0200 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/4dd0ce0f750e Fix for RT-25148: [FindBugs] Toolkit.java - A mutable static field could be changed by malicious code or by accident from another package. ! javafx-ui-common/src/com/sun/javafx/tk/Toolkit.java Changeset: a49900764c1d Author: jpgodine at JPGODINE-LAP.st-users.us.oracle.com Date: 2012-10-16 09:40 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/a49900764c1d Automated merge with ssh://jpgodine at jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx//rt Changeset: 988f6f79107b Author: rbair Date: 2012-10-10 11:30 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/988f6f79107b Fix for RT-25049: SplitMenuButton have gap. As near as I can tell, they have a gap going back a long way. In fact, the gap is still there with Region caching disabled (in fact with region caching turned on, you don't get this gap at all, so I think this error came from some time in the past). The MenuButtonSkinBase layout was incorrect, along with the CSS. ! javafx-ui-common/src/javafx/scene/layout/CornerRadii.java ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/MenuButtonSkinBase.java ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/caspian.css Changeset: 32ed56155a53 Author: rbair Date: 2012-10-11 10:10 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/32ed56155a53 Updated documentation to indicate contents draw over borders on regions. ! javafx-ui-common/src/javafx/scene/doc-files/cssref.html Changeset: 8d346510b927 Author: leifs Date: 2012-10-11 12:48 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/8d346510b927 Additional fix for RT-25049 to avoid label truncation. ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/MenuButtonSkinBase.java Changeset: 41cfd7b80910 Author: David Grieve Date: 2012-10-11 15:13 -0400 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/41cfd7b80910 RT-25016: calculated value not stored in cache when styles are recalculted. remove fastpath check and always cache calculated value. ensure inline styles are cached locally ! javafx-ui-common/src/com/sun/javafx/css/StyleHelper.java Changeset: ef37b66b00b0 Author: David Grieve Date: 2012-10-11 15:58 -0400 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/ef37b66b00b0 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/scrum/controls/jfx/rt Changeset: 09253f3afb0b Author: leifs Date: 2012-10-11 13:04 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/09253f3afb0b Make VK_TYPE_NAMES array package private. ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/FXVK.java Changeset: 393c90eb52e0 Author: David Grieve Date: 2012-10-12 14:51 -0400 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/393c90eb52e0 RT-25225: default background color should be transparent per w3c spec ! javafx-ui-common/src/javafx/scene/layout/Background.java Changeset: 9352015d712d Author: David Grieve Date: 2012-10-12 14:51 -0400 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/9352015d712d RT-24784: ensure parent style manager is properly initialized ! javafx-ui-common/src/javafx/scene/Parent.java Changeset: c731a926c171 Author: mickf Date: 2012-10-16 14:13 +0100 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/c731a926c171 RT-20786 : Focus couldn't be received or traversed. ! javafx-ui-common/src/com/sun/javafx/scene/KeyboardShortcutsHandler.java ! javafx-ui-common/src/javafx/scene/Scene.java Changeset: 97d1312344e8 Author: leifs Date: 2012-10-16 13:34 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/97d1312344e8 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/rt Changeset: dafaa830d4d0 Author: hudson Date: 2012-10-18 14:33 -0700 URL: http://hg.openjdk.java.net/openjfx/8/master/rt/rev/dafaa830d4d0 Added tag 8.0-b61 for changeset 97d1312344e8 ! .hgtags From richard.bair at oracle.com Thu Oct 18 14:50:38 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 14:50:38 -0700 Subject: Open Sourcing Status Report In-Reply-To: <411E73D23DEC4C46BA48F2B6D8BF3D221601FEF3C2@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> References: <65D94E2E-335A-478F-BA27-B22308CD6BE0@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D221601FEF3C2@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> Message-ID: <3C4F4F6F-2BDD-486C-A806-DB9B0C1E05CC@oracle.com> Hi John, On Oct 18, 2012, at 2:37 PM, John Smith wrote: > Thanks for the hard work on open sourcing JavaFX. > I noticed some of the fxml work was open sourced recently, so that's progress. > > Looking at the repository, this is a list of modules currently open sourced: > javafx-beans-dt > javafx-concurrent > javafx-designtime > javafx-fxml > javafx-ueber-jar > javafx-ui-charts > javafx-ui-common > javafx-ui-controls > javafx-util-converter > test-stub-toolkit > I also think WebKit source modifications are open source somewhere. > > It would be nice to have an equivalent list of modules which will be open sourced. > > For example, it is unclear to me whether or not things like the browser plugin, the packaging infrastructure (javafx ant tasks and javafxpackager source) and the packager embedded launcher and fallback code will be open source. Also, will all of the code for the native libraries supporting prism, glass, media, opengl and direct3d bindings be open source by February? Right, deployment is an open question because I don't know what all the bits are in the javafx-deploy workspace right now. Certainly the JavaSE plugin / deployment code is not open source yet, and so I would imagine any FX bits derived from it will likewise not be open. But hopefully we can get a replacement in the open, much like IcedTea has for applets. All the native libs for prism, glass, media, opengl, direct3d, etc should all be open sourced by February. Its a tall order (since native code is harder to finish security audits for), but that is definitely the goal. And definitely all of these will be open sourced. The list of modules presently would include: javafx-annotation-processor javafx-util-converter javafx-anim javafx-beans javafx-common javafx-logging javafx-mx-common javafx-ui-common javafx-concurrent decora-compiler decora-d3d decora-es2 decora-jsw decora-prism decora-prism-ps decora-prism-sw decora-runtime decora-sse glass javafx-font javafx-geom javafx-iio javafx-sg-common javafx-sg-prism javafx-ui-quantum pisces prism-common prism-d3d prism-es2 prism-es2-eglfb prism-es2-eglx11 prism-es2-mac prism-es2-win prism-es2-x11 prism-j2d prism-null prism-ps prism-sw prism-util javafx-ui-desktop decora-compiler javafx-beans-dt javafx-designtime decora-d3d-native decora-sse-native javafx-font-native javafx-iio-native prism-common-native prism-d3d-native prism-es2-native prism-sw-native javafx-ui-charts javafx-ui-controls javafx-ui-webnode webnode-prism javafx-embed-swing javafx-embed-swt javafx-fxml This doesn't include benchmarks or apps, just the core runtime libraries. Apps and benchmarks will also be added, and hopefully a pile of SQE tests. > In terms of project infrastructure, any chance that github could be used as the primary infrastructure or as a mirror of the existing infrastructure (similar to how redhat manage Ceylon https://github.com/ceylon/)? Access via github might help the project feel a little more accessible and a bit more like a community project than an Oracle project. Just asking, I understand if the answer to that question is no. I don't know how that would work? Certainly we want to host things on the openjfx / openjdk, especially as we get more integrated in their processes (gulp). However Danno has a bitbucket mirror up, would this be essentially the same thing? Its an open source project so mirroring the open bits is certainly not a problem, but the main repos will remain here on openjdk. Cheers Richard From John_Smith at symantec.com Thu Oct 18 15:26:41 2012 From: John_Smith at symantec.com (John Smith) Date: Thu, 18 Oct 2012 15:26:41 -0700 Subject: Open Sourcing Status Report In-Reply-To: <3C4F4F6F-2BDD-486C-A806-DB9B0C1E05CC@oracle.com> References: <65D94E2E-335A-478F-BA27-B22308CD6BE0@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D221601FEF3C2@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <3C4F4F6F-2BDD-486C-A806-DB9B0C1E05CC@oracle.com> Message-ID: <411E73D23DEC4C46BA48F2B6D8BF3D221601FEF45A@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> Thanks Richard, the potential list of open-sourced modules is helpful in understanding the scope of the open source effort. Re: the github stuff, I guess as you say, if somebody decided to do that then it would be similar to Danno's bitbucket mirror of the openjdk hosts masters. In terms of build support, you might want to make it easy to hook into the openjdk build and distribution system that Henri Gomez has put together here: http://obuildfactory.hgomez.net/ http://code.google.com/p/openjdk-osx-build/ There are still some jira issues which give permission violations when you try to look at them. Is it possible to limit the jira issues which have restricted permissions to those which are unresolved security issues and to allow anybody to view jira cases without signing up for a jira account and logging in? Regards, John -----Original Message----- From: Richard Bair [mailto:richard.bair at oracle.com] Sent: Thursday, October 18, 2012 2:51 PM To: John Smith Cc: openjfx-dev at openjdk.java.net Mailing Subject: Re: Open Sourcing Status Report Hi John, On Oct 18, 2012, at 2:37 PM, John Smith wrote: > Thanks for the hard work on open sourcing JavaFX. > I noticed some of the fxml work was open sourced recently, so that's progress. > > Looking at the repository, this is a list of modules currently open sourced: > javafx-beans-dt > javafx-concurrent > javafx-designtime > javafx-fxml > javafx-ueber-jar > javafx-ui-charts > javafx-ui-common > javafx-ui-controls > javafx-util-converter > test-stub-toolkit > I also think WebKit source modifications are open source somewhere. > > It would be nice to have an equivalent list of modules which will be open sourced. > > For example, it is unclear to me whether or not things like the browser plugin, the packaging infrastructure (javafx ant tasks and javafxpackager source) and the packager embedded launcher and fallback code will be open source. Also, will all of the code for the native libraries supporting prism, glass, media, opengl and direct3d bindings be open source by February? Right, deployment is an open question because I don't know what all the bits are in the javafx-deploy workspace right now. Certainly the JavaSE plugin / deployment code is not open source yet, and so I would imagine any FX bits derived from it will likewise not be open. But hopefully we can get a replacement in the open, much like IcedTea has for applets. All the native libs for prism, glass, media, opengl, direct3d, etc should all be open sourced by February. Its a tall order (since native code is harder to finish security audits for), but that is definitely the goal. And definitely all of these will be open sourced. The list of modules presently would include: javafx-annotation-processor javafx-util-converter javafx-anim javafx-beans javafx-common javafx-logging javafx-mx-common javafx-ui-common javafx-concurrent decora-compiler decora-d3d decora-es2 decora-jsw decora-prism decora-prism-ps decora-prism-sw decora-runtime decora-sse glass javafx-font javafx-geom javafx-iio javafx-sg-common javafx-sg-prism javafx-ui-quantum pisces prism-common prism-d3d prism-es2 prism-es2-eglfb prism-es2-eglx11 prism-es2-mac prism-es2-win prism-es2-x11 prism-j2d prism-null prism-ps prism-sw prism-util javafx-ui-desktop decora-compiler javafx-beans-dt javafx-designtime decora-d3d-native decora-sse-native javafx-font-native javafx-iio-native prism-common-native prism-d3d-native prism-es2-native prism-sw-native javafx-ui-charts javafx-ui-controls javafx-ui-webnode webnode-prism javafx-embed-swing javafx-embed-swt javafx-fxml This doesn't include benchmarks or apps, just the core runtime libraries. Apps and benchmarks will also be added, and hopefully a pile of SQE tests. > In terms of project infrastructure, any chance that github could be used as the primary infrastructure or as a mirror of the existing infrastructure (similar to how redhat manage Ceylon https://github.com/ceylon/)? Access via github might help the project feel a little more accessible and a bit more like a community project than an Oracle project. Just asking, I understand if the answer to that question is no. I don't know how that would work? Certainly we want to host things on the openjfx / openjdk, especially as we get more integrated in their processes (gulp). However Danno has a bitbucket mirror up, would this be essentially the same thing? Its an open source project so mirroring the open bits is certainly not a problem, but the main repos will remain here on openjdk. Cheers Richard From richard.bair at oracle.com Thu Oct 18 15:37:22 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 15:37:22 -0700 Subject: Open Sourcing Status Report In-Reply-To: <411E73D23DEC4C46BA48F2B6D8BF3D221601FEF45A@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> References: <65D94E2E-335A-478F-BA27-B22308CD6BE0@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D221601FEF3C2@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> <3C4F4F6F-2BDD-486C-A806-DB9B0C1E05CC@oracle.com> <411E73D23DEC4C46BA48F2B6D8BF3D221601FEF45A@TUS1XCHEVSPIN34.SYMC.SYMANTEC.COM> Message-ID: > In terms of build support, you might want to make it easy to hook into the openjdk build and distribution system that Henri Gomez has put together here: > http://obuildfactory.hgomez.net/ > http://code.google.com/p/openjdk-osx-build/ I'll send him a note, JavaFX should be co-bundled with JRE builds, but I could imagine OpenJDK builds don't co-bundle, but it would be awesome if they did. > There are still some jira issues which give permission violations when you try to look at them. Is it possible to limit the jira issues which have restricted permissions to those which are unresolved security issues and to allow anybody to view jira cases without signing up for a jira account and logging in? I'm not sure why we don't already allow un-authenticated users from browsing JIRA. It seems odd because we should want Google indexing the thing and so forth. I've put in a question to Brian and Kevin to find out what the story on that is. I'm not comfortable with un-authenticated editing of a JIRA issue (darn spam bots), but certainly browsing should be allowed it seems. Thanks Richard From swpalmer at gmail.com Thu Oct 18 15:56:13 2012 From: swpalmer at gmail.com (Scott Palmer) Date: Thu, 18 Oct 2012 18:56:13 -0400 Subject: Refactoring JavaFX Builds & Sources In-Reply-To: <80B3D614-DACD-412A-B89D-BEE09082D958@oracle.com> References: <80B3D614-DACD-412A-B89D-BEE09082D958@oracle.com> Message-ID: On Thu, Oct 18, 2012 at 5:11 PM, Richard Bair wrote: > OK, so we have the following issues: > > - JavaFX is cobundled with the JRE, but is not on the classpath, > and thus basically doesn't exist for developers > (that is, they have to manually setup javafx on their > classpath since the JRE doesn't have it) > - Native app bundles require the target OS to be available in > order to create the bundle (obvious pain ensues) > - Having to reinstall the JRE to test the latest build of FX > stinks (even if it is ultimately deployed with the JRE, > being able to link-to / run JavaFX separately makes > development easier) > > Is that right? I don't think you are going to avoid the target OS requirement to produce those native bundles. (I.e. you aren't going to run WiX or Innosetup without running it on Windows.) As a developer, you shouldn't be providing an app specific bundle that you haven't tested anyway, so access to said OS is implied. Run VirtualBox if you must, to get access to alternate OS environments for building and testing. Or have a build-buddy that runs the OS if you can't afford the OS license. The last step isn't a big deal for me. If JavaFX is just part of the JRE I'm not sure as a developer that I need anything more than early-access builds (of the JRE) in order to avoid surprises. Once JavaFX is on the classpath most issues are solved as far as I'm concerned. We might be able to deal with some issues now with an ugly scope Maven dependency and a check for a minimum JDK version. I'm already using JavaFX in a local Maven repo with some hackery to augment the classpath and force the JFX runtime to load from somewhere other than the Maven cache. One option is java -Xbootclasspath/a: which works for running in the IDE where it loads classes from build folders instead of jars. At runtime our Swing app does ugly classpath hacking to put the JRE's JavaFX runtime on the class path.. much like what the jfxpackager stubs must do. It will be great to get rid of that nasty hacking, but it works well for now. Scott From markclaassenx at gmail.com Thu Oct 18 15:57:10 2012 From: markclaassenx at gmail.com (Mark Claassen) Date: Thu, 18 Oct 2012 18:57:10 -0400 Subject: TextField Document model In-Reply-To: References: <507ef547.41c5ec0a.2e1f.7e39@mx.google.com> <71937D8F-E326-455D-9E24-669F4D223AFB@oracle.com> Message-ID: > Adding a new constructor to set it once would likely work for most cases. > I suspect making it dynamic is a lot more work. Maybe it is a bit more for the API designer, but, the way I understand it, this would preclude the use of the SceneBuilder to create the components, without a lot of subclassing. (See the rest of this thread.) If this is not the case, I would be very interested to know how to accomplish this. On Thu, Oct 18, 2012 at 5:09 PM, Scott Palmer wrote: > On 2012-10-18, at 3:28 PM, Richard Bair wrote: > > > I don't have any philosophical reason for not having content be mutable. > My only concern here is that having it mutable introduces some additional > complexity in the class / skin -- or at least it might. > > > > BTW, if you find that changing it dynamically works perfect, I'd be > happy to do the code review (including Jonathan). > > Adding a new constructor to set it once would likely work for most cases. > I suspect making it dynamic is a lot more work. > > Scott From danno.ferrin at shemnon.com Thu Oct 18 16:00:55 2012 From: danno.ferrin at shemnon.com (Danno Ferrin) Date: Thu, 18 Oct 2012 17:00:55 -0600 Subject: Annotation Processing in Gradle In-Reply-To: References: <3903150F-F562-4AFF-B8EB-7A79F58DDDB2@oracle.com> <42B647F5-C556-4B29-8E15-83AA2E72DA37@oracle.com> Message-ID: I would much prefer that it went to the maven/gradle src/main/java style, with resources and java sources. There is less text in the build file and what is left is really what is relevant to the peculiarities of the build. On Thu, Oct 18, 2012 at 3:38 PM, Richard Bair wrote: > Found it. For some reason, BuilderProcessor.properties is not being copied > over. So the Gradle says: > > project(':build-tools') { > sourceSets { > main { > java { > srcDirs = ['src/java'] > exclude "META-INF/services/*" > } > resources { > srcDirs = ['src/java'] > include "META-INF/services/*" > } > } > } > } > > So I guess .properties files are not copied as part of the "java" dir > normally. I wonder what else isn't copied normally (we've got a bunch of > non .java files that are in the java dir. We don't use a separate resources > dir). > > Richard -- There is nothing that will hold me back. I know who I am.... I remember wher I came from, and I feel stronger for knowing. Zane, Ninja of Ice. Ninjago S01E07 From swpalmer at gmail.com Thu Oct 18 16:22:40 2012 From: swpalmer at gmail.com (Scott Palmer) Date: Thu, 18 Oct 2012 19:22:40 -0400 Subject: TextField Document model In-Reply-To: References: <507ef547.41c5ec0a.2e1f.7e39@mx.google.com> <71937D8F-E326-455D-9E24-669F4D223AFB@oracle.com> Message-ID: I think you are correct. I don' t know enough about the builders used during FXML loading. Some classes have an initBlah(x) instead of a setBlah(x) when the value can't be changed. I doubt that can be made to work for something like this without breaking TextField. For now, subclassing instead of setContent is probably the path of least resistance. But I'm in agreement that something better is preferred. It's just that there are a lot of bigger problems with JavaFX... so I'm not sure where re-working TextFieldSkin interactions sits. I would like to be able to augment or replace the context menu on a TextField for example, or be able to get the on-screen position of the caret so I can popup assistance windows at the right place (I've got that working reasonably by subclassing TextFieldSkin so I can get at the font metrics). There are rough edges but I'm really loving the direction that JavaFX is taking and how responsive the JavaFX team is. I've submitted bug reports on a Saturday morning and observed activity on the issue in Jira within fifteen minutes. Scott On Thu, Oct 18, 2012 at 6:57 PM, Mark Claassen wrote: > > Adding a new constructor to set it once would likely work for most cases. > > I suspect making it dynamic is a lot more work. > Maybe it is a bit more for the API designer, but, the way I understand it, > this would preclude the use of the SceneBuilder to create the components, > without a lot of subclassing. (See the rest of this thread.) > If this is not the case, I would be very interested to know how to > accomplish this. > > On Thu, Oct 18, 2012 at 5:09 PM, Scott Palmer wrote: > > > On 2012-10-18, at 3:28 PM, Richard Bair wrote: > > > > > I don't have any philosophical reason for not having content be > mutable. > > My only concern here is that having it mutable introduces some additional > > complexity in the class / skin -- or at least it might. > > > > > > BTW, if you find that changing it dynamically works perfect, I'd be > > happy to do the code review (including Jonathan). > > > > Adding a new constructor to set it once would likely work for most cases. > > I suspect making it dynamic is a lot more work. > > > > Scott > From richard.bair at oracle.com Thu Oct 18 16:23:18 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 16:23:18 -0700 Subject: TextField Document model In-Reply-To: References: <507ef547.41c5ec0a.2e1f.7e39@mx.google.com> <71937D8F-E326-455D-9E24-669F4D223AFB@oracle.com> Message-ID: <0CFE919A-7CA9-4B24-8527-E42B2B6D7C1E@oracle.com> >> Adding a new constructor to set it once would likely work for most cases. >> I suspect making it dynamic is a lot more work. > Maybe it is a bit more for the API designer, but, the way I understand it, > this would preclude the use of the SceneBuilder to create the components, > without a lot of subclassing. (See the rest of this thread.) > If this is not the case, I would be very interested to know how to > accomplish this. Actually, as long as there is a Builder for the class, you should be able to build it from FXML even if there is no default constructor. From richard.bair at oracle.com Thu Oct 18 16:26:21 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 16:26:21 -0700 Subject: Annotation Processing in Gradle In-Reply-To: References: <3903150F-F562-4AFF-B8EB-7A79F58DDDB2@oracle.com> <42B647F5-C556-4B29-8E15-83AA2E72DA37@oracle.com> Message-ID: <3FF6B402-D9A0-4DC0-868E-006668A7547D@oracle.com> I don't know, for example, I have .java files, .css files, .png and other files, .properties files (that are not build related), and then this property file which actually is build related. It seems like storing the .css files / .png files etc along with the source files in one tree is cleaner (that is, from the IDE I only have one tree expanded instead of two). I'm wondering if it is just a preferences thing or is there a compelling argument one way or the other? On Oct 18, 2012, at 4:00 PM, Danno Ferrin wrote: > I would much prefer that it went to the maven/gradle src/main/java style, with resources and java sources. There is less text in the build file and what is left is really what is relevant to the peculiarities of the build. > > On Thu, Oct 18, 2012 at 3:38 PM, Richard Bair wrote: > Found it. For some reason, BuilderProcessor.properties is not being copied over. So the Gradle says: > > project(':build-tools') { > sourceSets { > main { > java { > srcDirs = ['src/java'] > exclude "META-INF/services/*" > } > resources { > srcDirs = ['src/java'] > include "META-INF/services/*" > } > } > } > } > > So I guess .properties files are not copied as part of the "java" dir normally. I wonder what else isn't copied normally (we've got a bunch of non .java files that are in the java dir. We don't use a separate resources dir). > > Richard > > > > -- > There is nothing that will hold me back. I know who I am.... > I remember wher I came from, and I feel stronger for knowing. > Zane, Ninja of Ice. Ninjago S01E07 > From richard.bair at oracle.com Thu Oct 18 16:30:35 2012 From: richard.bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 16:30:35 -0700 Subject: SWT build dependency Message-ID: <15498258-EB9E-4C09-A2C0-A98B6DA06D2D@oracle.com> So may latest headache is downloading the SWT dependency for our build. We use SWT for the SWT embedding support. So this is what I tried from looking at various blogs, because the version of SWT I'm looking for isn't in a Repo: project(':swt') { sourceSets.main.java.srcDirs = ['src/java'] dependencies { compile project(':build-tools'), project(':base'), project(':graphics') compile module('org.eclipse.swt:org.eclipse.swt:3.7.1 at jar') { //name = 'org.eclipse.swt' extension = 'jar' url = 'http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.7.1-201109091335/swt-3.7.1-cocoa-macosx-x86_64.zip' } } } so I'm trying to download directly from a URL. No dice. Still browsing the web looking for some solution From phidias51 at gmail.com Thu Oct 18 16:55:32 2012 From: phidias51 at gmail.com (Mark Fortner) Date: Thu, 18 Oct 2012 16:55:32 -0700 Subject: Annotation Processing in Gradle In-Reply-To: <3FF6B402-D9A0-4DC0-868E-006668A7547D@oracle.com> References: <3903150F-F562-4AFF-B8EB-7A79F58DDDB2@oracle.com> <42B647F5-C556-4B29-8E15-83AA2E72DA37@oracle.com> <3FF6B402-D9A0-4DC0-868E-006668A7547D@oracle.com> Message-ID: I'd have to agree with Danno on this one. The problem is the clutter factor. When you have a large number of classes and resources stored together it gets harder to find what you're looking for when you're scanning through the project tree. It's easier if the resources are separated. It's also difficult to build with maven if you don't follow the standards. :-) Cheers, Mark On Thu, Oct 18, 2012 at 4:26 PM, Richard Bair wrote: > I don't know, for example, I have .java files, .css files, .png and other > files, .properties files (that are not build related), and then this > property file which actually is build related. It seems like storing the > .css files / .png files etc along with the source files in one tree is > cleaner (that is, from the IDE I only have one tree expanded instead of > two). I'm wondering if it is just a preferences thing or is there a > compelling argument one way or the other? > > On Oct 18, 2012, at 4:00 PM, Danno Ferrin wrote: > > > I would much prefer that it went to the maven/gradle src/main/java > style, with resources and java sources. There is less text in the build > file and what is left is really what is relevant to the peculiarities of > the build. > > > > On Thu, Oct 18, 2012 at 3:38 PM, Richard Bair > wrote: > > Found it. For some reason, BuilderProcessor.properties is not being > copied over. So the Gradle says: > > > > project(':build-tools') { > > sourceSets { > > main { > > java { > > srcDirs = ['src/java'] > > exclude "META-INF/services/*" > > } > > resources { > > srcDirs = ['src/java'] > > include "META-INF/services/*" > > } > > } > > } > > } > > > > So I guess .properties files are not copied as part of the "java" dir > normally. I wonder what else isn't copied normally (we've got a bunch of > non .java files that are in the java dir. We don't use a separate resources > dir). > > > > Richard > > > > > > > > -- > > There is nothing that will hold me back. I know who I am.... > > I remember wher I came from, and I feel stronger for knowing. > > Zane, Ninja of Ice. Ninjago S01E07 > > > > From tom.schindl at bestsolution.at Thu Oct 18 16:57:32 2012 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Fri, 19 Oct 2012 01:57:32 +0200 Subject: SWT build dependency In-Reply-To: <15498258-EB9E-4C09-A2C0-A98B6DA06D2D@oracle.com> References: <15498258-EB9E-4C09-A2C0-A98B6DA06D2D@oracle.com> Message-ID: <5080976C.3050908@bestsolution.at> That can't work there you get a zip which inlcude swt.jar. You need to have the plain jar. Which you can get from: http://download.eclipse.org/eclipse/updates/3.7/R-3.7.2-201202080800/plugins/ The mac one is named org.eclipse.swt.cocoa.macosx_3.7.2.v3740f.jar because you only need to compile against it doesn't really matter which platform you compile against. Tom Am 19.10.12 01:30, schrieb Richard Bair: > So may latest headache is downloading the SWT dependency for our build. We use SWT for the SWT embedding support. So this is what I tried from looking at various blogs, because the version of SWT I'm looking for isn't in a Repo: > > project(':swt') { > sourceSets.main.java.srcDirs = ['src/java'] > dependencies { > compile project(':build-tools'), project(':base'), project(':graphics') > compile module('org.eclipse.swt:org.eclipse.swt:3.7.1 at jar') { > //name = 'org.eclipse.swt' > extension = 'jar' > url = 'http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.7.1-201109091335/swt-3.7.1-cocoa-macosx-x86_64.zip' > } > } > } > > > so I'm trying to download directly from a URL. No dice. Still browsing the web looking for some solution > -- B e s t S o l u t i o n . a t EDV Systemhaus GmbH ------------------------------------------------------------------------ tom schindl gesch?ftsf?hrer/CEO ------------------------------------------------------------------------ eduard-bodem-gasse 5-7/1 A-6020 innsbruck fax ++43 512 935833 http://www.BestSolution.at phone ++43 512 935834 From phidias51 at gmail.com Thu Oct 18 17:22:15 2012 From: phidias51 at gmail.com (Mark Fortner) Date: Thu, 18 Oct 2012 17:22:15 -0700 Subject: Lombard? Presidio? Message-ID: Could somebody add a note in the description of the Lombard & Presidio releases in JIRA that explains how these code names map to the current JavaFX version numbers? I think there was some discussion earlier about this. If the description's in JIRA at least it will be easier to set expectations. Cheers, Mark From Richard.Bair at oracle.com Thu Oct 18 19:17:59 2012 From: Richard.Bair at oracle.com (Richard Bair) Date: Thu, 18 Oct 2012 19:17:59 -0700 Subject: Ensemble in Mac App Store Message-ID: <2820926E-9933-46F4-87B3-E579990BD094@oracle.com> Awesome :-) https://itunes.apple.com/us/app/ensemble/id557744983?mt=12 Jasper, great looking icon. Scott, awesome work fixing all the issues and pushing it through! From richard.bair at oracle.com Fri Oct 19 00:48:57 2012 From: richard.bair at oracle.com (Richard Bair) Date: Fri, 19 Oct 2012 00:48:57 -0700 Subject: Lombard? Presidio? In-Reply-To: References: Message-ID: <48E5B103-C29D-4249-8BA1-178395964CDA@oracle.com> I've wondered why we don't rename Lombard to 8.0 in JIRA, since that's what it is. Presidio was 2.0, wasn't it? Gosh, I should go to bed. From here out I think we're sticking with version numbers. I'll ask Brian Beck (Brian, are you there?) what the story on that is. Richard On Oct 18, 2012, at 5:22 PM, Mark Fortner wrote: > Could somebody add a note in the description of the Lombard & Presidio > releases in JIRA that explains how these code names map to the current > JavaFX version numbers? I think there was some discussion earlier about > this. If the description's in JIRA at least it will be easier to set > expectations. > > Cheers, > > Mark From goddard at seznam.cz Fri Oct 19 01:08:49 2012 From: goddard at seznam.cz (goddard at seznam.cz) Date: Fri, 19 Oct 2012 10:08:49 +0200 (CEST) Subject: =?us-ascii?Q?Re=3A=20Ensemble=20in=20Mac=20App=20Store?= In-Reply-To: <2820926E-9933-46F4-87B3-E579990BD094@oracle.com> Message-ID: <136654.14750.50169-10923-359997412-1350634129@seznam.cz> Congratulation guys! :) Jiri ------------ P?vodn? zpr?va ------------ Od: Richard Bair P?edm?t: Ensemble in Mac App Store Datum: 19.10.2012 04:20:12 ---------------------------------------- Awesome :-) https://itunes.apple.com/us/app/ensemble/id557744983?mt=12 Jasper, great looking icon. Scott, awesome work fixing all the issues and pushing it through! From johan at lodgon.com Fri Oct 19 01:24:32 2012 From: johan at lodgon.com (Johan Vos) Date: Fri, 19 Oct 2012 10:24:32 +0200 Subject: Ensemble in Mac App Store In-Reply-To: <2820926E-9933-46F4-87B3-E579990BD094@oracle.com> References: <2820926E-9933-46F4-87B3-E579990BD094@oracle.com> Message-ID: This is a major step forward indeed. - Johan 2012/10/19 Richard Bair > Awesome :-) > > https://itunes.apple.com/us/app/ensemble/id557744983?mt=12 > > Jasper, great looking icon. Scott, awesome work fixing all the issues and > pushing it through! From sven.reimers at gmail.com Fri Oct 19 02:25:38 2012 From: sven.reimers at gmail.com (Sven Reimers) Date: Fri, 19 Oct 2012 11:25:38 +0200 Subject: Ensemble in Mac App Store In-Reply-To: References: <2820926E-9933-46F4-87B3-E579990BD094@oracle.com> Message-ID: Really good.... So - who's next? -Sven On Fri, Oct 19, 2012 at 10:24 AM, Johan Vos wrote: > This is a major step forward indeed. > > - Johan > > 2012/10/19 Richard Bair > >> Awesome :-) >> >> https://itunes.apple.com/us/app/ensemble/id557744983?mt=12 >> >> Jasper, great looking icon. Scott, awesome work fixing all the issues and >> pushing it through! -- Sven Reimers * Senior Expert Software Architect * NetBeans Dream Team Member: http://dreamteam.netbeans.org * NetBeans Governance Board Member: http://netbeans.org/about/os/governance.html * Community Leader NetBeans: http://community.java.net/netbeans Desktop Java: http://community.java.net/javadesktop * Duke's Choice Award Winner 2009 * Blog: http://nbguru.blogspot.com * XING: https://www.xing.com/profile/Sven_Reimers8 * LinkedIn: http://www.linkedin.com/in/svenreimers Join the NetBeans Groups: * XING: http://www.xing.com/group-20148.82db20 * NUGM: http://haug-server.dyndns.org/display/NUGM/Home * LinkedIn: http://www.linkedin.com/groups?gid=1860468 http://www.linkedin.com/groups?gid=107402 http://www.linkedin.com/groups?gid=1684717 * Oracle: https://mix.oracle.com/groups/18497 From mp at jugs.org Fri Oct 19 03:36:00 2012 From: mp at jugs.org (Dr. Michael Paus) Date: Fri, 19 Oct 2012 12:36:00 +0200 Subject: Ensemble in Mac App Store In-Reply-To: References: <2820926E-9933-46F4-87B3-E579990BD094@oracle.com> Message-ID: <50812D10.1060908@jugs.org> Am 19.10.2012 11:25, schrieb Sven Reimers: > Really good.... > > So - who's next? The Android and iOS App Store ? Sorry, couldn't resist :-) > > -Sven > > On Fri, Oct 19, 2012 at 10:24 AM, Johan Vos wrote: >> This is a major step forward indeed. >> >> - Johan >> >> 2012/10/19 Richard Bair >> >>> Awesome :-) >>> >>> https://itunes.apple.com/us/app/ensemble/id557744983?mt=12 >>> >>> Jasper, great looking icon. Scott, awesome work fixing all the issues and >>> pushing it through! > > -- -------------------------------------------------------------------------------------- Dr. Michael Paus, Chairman of the Java User Group Stuttgart e.V. (JUGS). For more information visit www.jugs.de. From hang.vo at oracle.com Fri Oct 19 05:03:46 2012 From: hang.vo at oracle.com (hang.vo at oracle.com) Date: Fri, 19 Oct 2012 12:03:46 +0000 Subject: hg: openjfx/8/graphics/rt: 12 new changesets Message-ID: <20121019120401.68EB247454@hg.openjdk.java.net> Changeset: 988f6f79107b Author: rbair Date: 2012-10-10 11:30 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/988f6f79107b Fix for RT-25049: SplitMenuButton have gap. As near as I can tell, they have a gap going back a long way. In fact, the gap is still there with Region caching disabled (in fact with region caching turned on, you don't get this gap at all, so I think this error came from some time in the past). The MenuButtonSkinBase layout was incorrect, along with the CSS. ! javafx-ui-common/src/javafx/scene/layout/CornerRadii.java ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/MenuButtonSkinBase.java ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/caspian/caspian.css Changeset: 32ed56155a53 Author: rbair Date: 2012-10-11 10:10 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/32ed56155a53 Updated documentation to indicate contents draw over borders on regions. ! javafx-ui-common/src/javafx/scene/doc-files/cssref.html Changeset: 8d346510b927 Author: leifs Date: 2012-10-11 12:48 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/8d346510b927 Additional fix for RT-25049 to avoid label truncation. ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/MenuButtonSkinBase.java Changeset: 41cfd7b80910 Author: David Grieve Date: 2012-10-11 15:13 -0400 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/41cfd7b80910 RT-25016: calculated value not stored in cache when styles are recalculted. remove fastpath check and always cache calculated value. ensure inline styles are cached locally ! javafx-ui-common/src/com/sun/javafx/css/StyleHelper.java Changeset: ef37b66b00b0 Author: David Grieve Date: 2012-10-11 15:58 -0400 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/ef37b66b00b0 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/scrum/controls/jfx/rt Changeset: 09253f3afb0b Author: leifs Date: 2012-10-11 13:04 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/09253f3afb0b Make VK_TYPE_NAMES array package private. ! javafx-ui-controls/src/com/sun/javafx/scene/control/skin/FXVK.java Changeset: 393c90eb52e0 Author: David Grieve Date: 2012-10-12 14:51 -0400 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/393c90eb52e0 RT-25225: default background color should be transparent per w3c spec ! javafx-ui-common/src/javafx/scene/layout/Background.java Changeset: 9352015d712d Author: David Grieve Date: 2012-10-12 14:51 -0400 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/9352015d712d RT-24784: ensure parent style manager is properly initialized ! javafx-ui-common/src/javafx/scene/Parent.java Changeset: c731a926c171 Author: mickf Date: 2012-10-16 14:13 +0100 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/c731a926c171 RT-20786 : Focus couldn't be received or traversed. ! javafx-ui-common/src/com/sun/javafx/scene/KeyboardShortcutsHandler.java ! javafx-ui-common/src/javafx/scene/Scene.java Changeset: 97d1312344e8 Author: leifs Date: 2012-10-16 13:34 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/97d1312344e8 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/rt Changeset: dafaa830d4d0 Author: hudson Date: 2012-10-18 14:33 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/dafaa830d4d0 Added tag 8.0-b61 for changeset 97d1312344e8 ! .hgtags Changeset: 923b26ed6ea4 Author: kcr Date: 2012-10-19 05:00 -0700 URL: http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/923b26ed6ea4 Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt From weiqigao at gmail.com Fri Oct 19 05:11:57 2012 From: weiqigao at gmail.com (Weiqi Gao) Date: Fri, 19 Oct 2012 07:11:57 -0500 Subject: Lombard? Presidio? In-Reply-To: <48E5B103-C29D-4249-8BA1-178395964CDA@oracle.com> References: <48E5B103-C29D-4249-8BA1-178395964CDA@oracle.com> Message-ID: <19D2C243-8C77-4745-85A8-D6E7BA7454E2@gmail.com> The problem with version numbers is that you never know exactly which version you are working on until you are about to release. Just make sure people who needs to know the mapping from code names to actual version numbers know about them. A couple lines of explanation in the project's front page will do fine. -- Weiqi On Oct 19, 2012, at 2:48 AM, Richard Bair wrote: > I've wondered why we don't rename Lombard to 8.0 in JIRA, since that's what it is. Presidio was 2.0, wasn't it? Gosh, I should go to bed. From here out I think we're sticking with version numbers. I'll ask Brian Beck (Brian, are you there?) what the story on that is. > > Richard > > On Oct 18, 2012, at 5:22 PM, Mark Fortner wrote: > >> Could somebody add a note in the description of the Lombard & Presidio >> releases in JIRA that explains how these code names map to the current >> JavaFX version numbers? I think there was some discussion earlier about >> this. If the description's in JIRA at least it will be easier to set >> expectations. >> >> Cheers, >> >> Mark > From goddard at seznam.cz Fri Oct 19 05:27:19 2012 From: goddard at seznam.cz (goddard at seznam.cz) Date: Fri, 19 Oct 2012 14:27:19 +0200 (CEST) Subject: =?us-ascii?Q?Re=3A=20Re=3A=20Open=20Sourcing=20Status=20Report?= In-Reply-To: Message-ID: <136674.14725.50197-25437-2079876434-1350649639@seznam.cz> This is awesome, thanks for doing this :) Jiri ------------ P?vodn? zpr?va ------------ Od: Richard Bair P?edm?t: Re: Open Sourcing Status Report Datum: 19.10.2012 00:39:21 ---------------------------------------- > In terms of build support, you might want to make it easy to hook into the openjdk build and distribution system that Henri Gomez has put together here: > http://obuildfactory.hgomez.net/ > http://code.google.com/p/openjdk-osx-build/ I'll send him a note, JavaFX should be co-bundled with JRE builds, but I could imagine OpenJDK builds don't co-bundle, but it would be awesome if they did. > There are still some jira issues which give permission violations when you try to look at them. Is it possible to limit the jira issues which have restricted permissions to those which are unresolved security issues and to allow anybody to view jira cases without signing up for a jira account and logging in? I'm not sure why we don't already allow un-authenticated users from browsing JIRA. It seems odd because we should want Google indexing the thing and so forth. I've put in a question to Brian and Kevin to find out what the story on that is. I'm not comfortable with un-authenticated editing of a JIRA issue (darn spam bots), but certainly browsing should be allowed it seems. Thanks Richard From anthony.petrov at oracle.com Fri Oct 19 05:37:12 2012 From: anthony.petrov at oracle.com (Anthony Petrov) Date: Fri, 19 Oct 2012 16:37:12 +0400 Subject: Refactoring JavaFX Builds & Sources In-Reply-To: References: Message-ID: <50814978.8080605@oracle.com> On 10/18/2012 11:16 PM, Richard Bair wrote: > In addition to code generation, we also build a ton of native code (gstreamer, webkit, prism, fonts, glass, image loading). So that has to fit into the build system. Building native code is SLOW, so being able to avoid it for "normal" developers, and being able to avoid native builds when nothing changed in the native code, is important. Building native code may be slow in general, but building e.g. Glass takes under a minute. Of course I agree that if code hasn't changed, it shouldn't be re-built. One more point: presently we can clone the repository and build just glass itself (which is very fast as I mentioned above). This is useful for quick testing, and also we have a Glass-only demo app that doesn't depend on FX, so we can work on Glass w/o even building the whole FX right now. Can we make the new build system support this kind of partial builds (at least for Glass)? Another point: I see that the ultimate goal is to be able to build from an IDE, and this is fine. However, I think that building from command line should still be supported and not require any more than it requires now (which is basically just `cd to-my-repo && ant`). -- best regards, Anthony From dalibor.topic at oracle.com Fri Oct 19 05:50:30 2012 From: dalibor.topic at oracle.com (Dalibor Topic) Date: Fri, 19 Oct 2012 14:50:30 +0200 Subject: Refactoring JavaFX Builds & Sources In-Reply-To: References: <80B3D614-DACD-412A-B89D-BEE09082D958@oracle.com> Message-ID: <50814C96.8050501@oracle.com> On 10/19/12 12:56 AM, Scott Palmer wrote: > The last step isn't a big deal for me. If JavaFX is just part of the JRE > I'm not sure as a developer that I need anything more than early-access > builds (of the JRE) in order to avoid surprises. Just in case someone wasn't aware - developer preview builds of the Oracle JDK 7 are available on http://jdk7.java.net , and similarly for 8 on http://jdk8.java.net cheers, dalibor topic -- Oracle Dalibor Topic | Principal Product Manager Phone: +494089091214 | Mobile: +491737185961 Oracle Java Platform Group ORACLE Deutschland B.V. & Co. KG | K?hneh?fe 5 | 22761 Hamburg ORACLE Deutschland B.V. & Co. KG Hauptverwaltung: Riesstr. 25, D-80992 M?nchen Registergericht: Amtsgericht M?nchen, HRA 95603 Gesch?ftsf?hrer: J?rgen Kunz Komplement?rin: ORACLE Deutschland Verwaltung B.V. Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697 Gesch?ftsf?hrer: Alexander van der Ven, Astrid Kepper, Val Maher Green Oracle Oracle is committed to developing practices and products that help protect the environment From kevin.rushforth at oracle.com Fri Oct 19 06:10:32 2012 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 19 Oct 2012 06:10:32 -0700 Subject: Refactoring JavaFX Builds & Sources In-Reply-To: <50814978.8080605@oracle.com> References: <50814978.8080605@oracle.com> Message-ID: <50815148.1070007@oracle.com> > Another point: I see that the ultimate goal is to be able to build > from an IDE, and this is fine. However, I think that building from > command line should still be supported and not require any more than > it requires now ... I would go farther than that and state: Building from the IDE is a very nice developer convenience. Building from the command line is the primary way the product is built and must be supported for developer builds. -- Kevin Anthony Petrov wrote: > On 10/18/2012 11:16 PM, Richard Bair wrote: >> In addition to code generation, we also build a ton of native code >> (gstreamer, webkit, prism, fonts, glass, image loading). So that has >> to fit into the build system. Building native code is SLOW, so being >> able to avoid it for "normal" developers, and being able to avoid >> native builds when nothing changed in the native code, is important. > > Building native code may be slow in general, but building e.g. Glass > takes under a minute. Of course I agree that if code hasn't changed, > it shouldn't be re-built. > > One more point: presently we can clone the repository and build just > glass itself (which is very fast as I mentioned above). This is useful > for quick testing, and also we have a Glass-only demo app that doesn't > depend on FX, so we can work on Glass w/o even building the whole FX > right now. Can we make the new build system support this kind of > partial builds (at least for Glass)? > > Another point: I see that the ultimate goal is to be able to build > from an IDE, and this is fine. However, I think that building from > command line should still be supported and not require any more than > it requires now (which is basically just `cd to-my-repo && ant`). > > -- > best regards, > Anthony From steve.x.northover at oracle.com Fri Oct 19 06:12:53 2012 From: steve.x.northover at oracle.com (steve.x.northover at oracle.com) Date: Fri, 19 Oct 2012 09:12:53 -0400 Subject: Refactoring JavaFX Builds & Sources In-Reply-To: <50815148.1070007@oracle.com> References: <50814978.8080605@oracle.com> <50815148.1070007@oracle.com> Message-ID: <508151D5.7040504@oracle.com> Hilarious, I was typing about the same thing. I love IDE's but if you want to be picked up by a Linux distribution, you have to have a command line build. Stege On 19/10/2012 9:10 AM, Kevin Rushforth wrote: > >> Another point: I see that the ultimate goal is to be able to build >> from an IDE, and this is fine. However, I think that building from >> command line should still be supported and not require any more than >> it requires now ... > > I would go farther than that and state: > > Building from the IDE is a very nice developer convenience. > > Building from the command line is the primary way the product is built > and must be supported for developer builds. > > -- Kevin > > > Anthony Petrov wrote: >> On 10/18/2012 11:16 PM, Richard Bair wrote: >>> In addition to code generation, we also build a ton of native code >>> (gstreamer, webkit, prism, fonts, glass, image loading). So that has >>> to fit into the build system. Building native code is SLOW, so being >>> able to avoid it for "normal" developers, and being able to avoid >>> native builds when nothing changed in the native code, is important. >> >> Building native code may be slow in general, but building e.g. Glass >> takes under a minute. Of course I agree that if code hasn't changed, >> it shouldn't be re-built. >> >> One more point: presently we can clone the repository and build just >> glass itself (which is very fast as I mentioned above). This is >> useful for quick testing, and also we have a Glass-only demo app that >> doesn't depend on FX, so we can work on Glass w/o even building the >> whole FX right now. Can we make the new build system support this >> kind of partial builds (at least for Glass)? >> >> Another point: I see that the ultimate goal is to be able to build >> from an IDE, and this is fine. However, I think that building from >> command line should still be supported and not require any more than >> it requires now (which is basically just `cd to-my-repo && ant`). >> >> -- >> best regards, >> Anthony From markclaassenx at gmail.com Fri Oct 19 06:16:01 2012 From: markclaassenx at gmail.com (Mark Claassen) Date: Fri, 19 Oct 2012 09:16:01 -0400 Subject: TextField Document model In-Reply-To: <0CFE919A-7CA9-4B24-8527-E42B2B6D7C1E@oracle.com> References: <507ef547.41c5ec0a.2e1f.7e39@mx.google.com> <71937D8F-E326-455D-9E24-669F4D223AFB@oracle.com> <0CFE919A-7CA9-4B24-8527-E42B2B6D7C1E@oracle.com> Message-ID: I am still a bit unclear on how I would do this. I would like to create and position the field using the SceneBuilder, but the document model and formatting are determined by other parameters, such as fields read out of a database. Take postal codes for instance, for the US it is #####-####, but for Canada it is A#A-#A# (where A means any letter). It would not be until they chose a country that the formatting could be selected and applied. I don't see how I can do this using the constructor approach and still use SceneBuilder without creating an extra layer of indirection designed specifically sidestep this issue. I could create a subclass of TextField that would simply pass the calls to a delegate Content, which would be pluggable. This approach, however, just sort of pushes the can down the road a bit by forcing a layer of indirection. I did not have time to look at the Skin and Behavior paradigms yet, so I can't speak to the impact on them. I will try to brush up on those this weekend. However, if this subclassing to delegate becomes relatively common, then it seems that whatever Skin and Behavior issues might arise would still need to be addressed. However now they would need to be addressed by application designers instead of by the platform. Mark On Thu, Oct 18, 2012 at 7:23 PM, Richard Bair wrote: > >> Adding a new constructor to set it once would likely work for most > cases. > >> I suspect making it dynamic is a lot more work. > > Maybe it is a bit more for the API designer, but, the way I understand > it, > > this would preclude the use of the SceneBuilder to create the components, > > without a lot of subclassing. (See the rest of this thread.) > > If this is not the case, I would be very interested to know how to > > accomplish this. > > Actually, as long as there is a Builder for the class, you should be able > to build it from FXML even if there is no default constructor. > > From neugens.limasoftware at gmail.com Fri Oct 19 06:31:52 2012 From: neugens.limasoftware at gmail.com (Mario Torre) Date: Fri, 19 Oct 2012 15:31:52 +0200 Subject: Refactoring JavaFX Builds & Sources In-Reply-To: References: Message-ID: > Further more, you should be able to do "find usages" in your IDE and get EVERYTHING IN THE UNIVERSE, rather than right now where in NB it doesn't have enough information about the 160 other projects in our system to be able to do this. This is bad. > > Right now we build with ant. Many of you have suggested Maven. Some of you at JavaOne suggested Gradle. I am presently looking into Gradle. The key things I like about Gradle are: > > 1) It isn't XML > 2) Like Ivy & Maven, it handles dependencies well > > We presently have a pile of XML files and nasty build logic for downloading dependencies (this is all in the closed repo, but you would be exposed to the horror if we just made it all public). I wanted instead to use Ivy at the very least, but rather if I can get better build happiness from another setup entirely (like Gradle) then I might as well give it a try. I kind of like Gradle, but let me put the cart before the horse here (I don't know if this sounds as well in English as it is in Italian, where we actually use the oxen, but well :) While Maven is a well understood tool, Gradle is fairly new. This turns to be especially problematic when building and shipping on Linux distributions because there are some constraints and limitation on what can go or not in a given release (btw, I think this could be considered a problem on Windows and OSX installations in some environments where you can't simply install any tool you want). Maven, on the other end, is pretty likely sitting on your machine already (as are Make, GCC and Configure most of the time on developers machines), so I suspect it will be easier for the average folk as well as heavily filled packager to take care of the build bits. Oh my, I would have never thought I would try to sell Maven myself! Of course, don't make this stop evolutionary attempts at solving the build process, but I thought it's one consideration to take into account when deciding what build system to use, since it's such a fundamental part of the code. Ultimately, the build infrastructure should be what makes more sense for the project obviously. > 1) I'll make sure cross builds all continue to work > 2) Partial builds (for native code particularly) will continue to work such that you don't HAVE to build native code > 3) It will produce bit-for-bit compatible output in the artifacts/ directory, so all our RE (Release Engineering) scripts continue to work with little or no modification > > Also, in my tests so far the speed of the build is dramatically faster -- but then I don't have everything in yet so that might just be wishful thinking. I hope and expect it to be faster though. > > We generate code in our build system for the following reasons: > > 1) We have a VersionInfo class which the build system will update with version information. It is a com.sun.something class > 2) We have an annotation processor which generates all of the builders > 3) We have two grammars that Antlr has process to produce parsers -- one for JSL (for our shaders) and one for CSS > 4) We have a "decora compiler" which takes JSL files and feeds it through the JSL parser and produces code / shaders > > In addition to code generation, we also build a ton of native code (gstreamer, webkit, prism, fonts, glass, image loading). So that has to fit into the build system. Building native code is SLOW, so being able to avoid it for "normal" developers, and being able to avoid native builds when nothing changed in the native code, is important. Speaking about this, I wonder if we will end up doing like IcedTea with OpenJDK, since most of those probably have an OS counterpart we would rather want to use (in other words, make those elements somehow pluggable). > I have found that some of our unit tests are written such that they require more of the platform, rather than just one class. So for example, there are tests in the scene graph which might want to use a UI control for some purpose. I'm thinking the easiest thing to do is to have a test directory at the top level which houses all the tests, and break them up based on whether they are part of the smoke test, integration test, or manual test suite. Smoke tests are those that are run continuously. They must be headless, and they must be completely automated, and they must execute within some reasonable amount of time (since hudson is going to be doing it continuously). The integration tests are the rest of the automated tests that need to be run between every integration with "master". Finally the manual tests are not run as part of the integration / smoke tests, but really are just little "toys" or apps we've written that are useful when developing a feature or whatnot. We've got a ton of these little guys (mostly of the "HelloWorld" variety), and these would go into "manual". This is one advantage of maven, in that you are somehow forced to have this layout. Maven supports the idea of modules, they are a hierarchy that pretty much resembles what the project structure you depict later looks, and for each of those modules you would have unit tests. Integration tests could simply go into an high level module, the same for the manual tests. > We also will have an apps directory, where we will place all the samples (like Ensemble) and experiments (like the JavaOne Schedule Builder). > > And I want to have a "benchmarks" directory where all of our benchmarks will live. The only problem with this one is that we have a dependency on JRockit benchmark harness, and I'm not sure how to resolve that with the open source bits. Maybe the JRockit benchmark harness is already open source, I haven't dug into it yet to find out. However I believe we *must* have benchmarks open, as well as the SQE tests. My goal is to run OpenJFX in the open and to have meaningful contributions -- how can that happen if we're keeping back essential verification tools? How can somebody submit a patch and not know whether it is going to impact performance? So I want to get the benchmarks all out, but we need to figure out what to do about this dependency. Another option is to replace this dependency with one of the other open source benchmark harnesses, but this would need to be carefully considered as it would disrupt our benchmark reporting for some period of time. But ultimately having public numbers and public tests would, I think, be very beneficial across the board. As a side note, we're developing a monitoring tool for OpenJDK (Thermostat). I don't want to put Thermostat in competition with JRockit (well, I did so already!), but by the time the full code is out, we will be quite likely ready for prime time. There are also other tools that do pretty good job, like VisualVM and JConsole. Depending on the harness you have (which I assume means loads of binary files with dumps and performance related data), we can either try to make them compatible with all those tools, or better yet, develop some kind exchange format for Performance Analysis (so that we are not really depending on any tool). This can be a cool collaboration between some other teams (I suspect such an effort would go beyond JavaFX of course). In any case, having the harness in the code doesn't hurt (as soon as we don't depend on them to build the final code). Cheers, Mario -- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/ From sven.reimers at gmail.com Fri Oct 19 06:45:23 2012 From: sven.reimers at gmail.com (Sven Reimers) Date: Fri, 19 Oct 2012 15:45:23 +0200 Subject: Refactoring JavaFX Builds & Sources In-Reply-To: <50815148.1070007@oracle.com> References: <50814978.8080605@oracle.com> <50815148.1070007@oracle.com> Message-ID: Comments in-lined.. On Fri, Oct 19, 2012 at 3:10 PM, Kevin Rushforth wrote: > >> Another point: I see that the ultimate goal is to be able to build from an >> IDE, and this is fine. However, I think that building from command line >> should still be supported and not require any more than it requires now ... > > > I would go farther than that and state: > > Building from the IDE is a very nice developer convenience. Well, if you want participation from the community easy setup for hacking and building sources is more than just a convenience... > > Building from the command line is the primary way the product is built and > must be supported for developer builds. +1, a must have for CI. -Sven > > -- Kevin > > > > Anthony Petrov wrote: >> >> On 10/18/2012 11:16 PM, Richard Bair wrote: >>> >>> In addition to code generation, we also build a ton of native code >>> (gstreamer, webkit, prism, fonts, glass, image loading). So that has to fit >>> into the build system. Building native code is SLOW, so being able to avoid >>> it for "normal" developers, and being able to avoid native builds when >>> nothing changed in the native code, is important. >> >> >> Building native code may be slow in general, but building e.g. Glass takes >> under a minute. Of course I agree that if code hasn't changed, it shouldn't >> be re-built. >> >> One more point: presently we can clone the repository and build just glass >> itself (which is very fast as I mentioned above). This is useful for quick >> testing, and also we have a Glass-only demo app that doesn't depend on FX, >> so we can work on Glass w/o even building the whole FX right now. Can we >> make the new build system support this kind of partial builds (at least for >> Glass)? >> >> Another point: I see that the ultimate goal is to be able to build from an >> IDE, and this is fine. However, I think that building from command line >> should still be supported and not require any more than it requires now >> (which is basically just `cd to-my-repo && ant`). >> >> -- >> best regards, >> Anthony -- Sven Reimers * Senior Expert Software Architect * NetBeans Dream Team Member: http://dreamteam.netbeans.org * NetBeans Governance Board Member: http://netbeans.org/about/os/governance.html * Community Leader NetBeans: http://community.java.net/netbeans Desktop Java: http://community.java.net/javadesktop * Duke's Choice Award Winner 2009 * Blog: http://nbguru.blogspot.com * XING: https://www.xing.com/profile/Sven_Reimers8 * LinkedIn: http://www.linkedin.com/in/svenreimers Join the NetBeans Groups: * XING: http://www.xing.com/group-20148.82db20 * NUGM: http://haug-server.dyndns.org/display/NUGM/Home * LinkedIn: http://www.linkedin.com/groups?gid=1860468 http://www.linkedin.com/groups?gid=107402 http://www.linkedin.com/groups?gid=1684717 * Oracle: https://mix.oracle.com/groups/18497 From roman at kennke.org Fri Oct 19 06:55:52 2012 From: roman at kennke.org (Roman Kennke) Date: Fri, 19 Oct 2012 15:55:52 +0200 Subject: Refactoring JavaFX Builds & Sources In-Reply-To: References: Message-ID: <1350654952.4085.18.camel@mercury> Am Freitag, den 19.10.2012, 15:31 +0200 schrieb Mario Torre: > > Further more, you should be able to do "find usages" in your IDE and get EVERYTHING IN THE UNIVERSE, rather than right now where in NB it doesn't have enough information about the 160 other projects in our system to be able to do this. This is bad. > > > > Right now we build with ant. Many of you have suggested Maven. Some of you at JavaOne suggested Gradle. I am presently loo