Backwards compatibility broken: Why was Color made final
After upgrading to FX8, the framework I have been developing since the early access release of JavaFX three years ago is now broken. My framework has some really cool features for working with color, which relies on our own class PaletteColor which extends javafx.scene.paint.Color. Why would you, after three years, make the Color class final, thereby breaking backwards compatibility? I would really like to know the thoughts behind that decision. Yours Randahl
Re: Backwards compatibility broken: Why was Color made final
Here's the related JIRA issue: https://javafx-jira.kenai.com/browse/RT-31746 -Martin On 03/19/2014 09:46 AM, Randahl Fink Isaksen wrote: After upgrading to FX8, the framework I have been developing since the early access release of JavaFX three years ago is now broken. My framework has some really cool features for working with color, which relies on our own class PaletteColor which extends javafx.scene.paint.Color. Why would you, after three years, make the Color class final, thereby breaking backwards compatibility? I would really like to know the thoughts behind that decision. Yours Randahl
[8u] review request : RT-35618 IMX6-SDP / Yocto hard float : hello.HelloButton : the highlighting blue rectangle is missing the bottom blue line in each of the top two buttons
Lisa, Daniel, Please review the patch attached to the Jira : https://javafx-jira.kenai.com/browse/RT-35618 Thanks, Rafi
Re: Backwards compatibility broken: Why was Color made final
Hi Randhal, The reasons are captured in the description of RT-31746 https://javafx-jira.kenai.com/browse/RT-31746 which was the JIRA used to track this change in FX 8. The fact that Color wasn't final was an unfortunate oversight in FX 2. -- Kevin Randahl Fink Isaksen wrote: After upgrading to FX8, the framework I have been developing since the early access release of JavaFX three years ago is now broken. My framework has some really cool features for working with color, which relies on our own class PaletteColor which extends javafx.scene.paint.Color. Why would you, after three years, make the Color class final, thereby breaking backwards compatibility? I would really like to know the thoughts behind that decision. Yours Randahl
EasyBind: custom bindings made easy (with lambdas)
Hi all, I just released EasyBind (http://www.fxmisc.org/easybind/), a tiny library with several factory methods to create bindings using lambdas. The most prominent feature is probably the type-safe select binding based on this feature request for JavaFX 9: https://javafx-jira.kenai.com/browse/RT-35923. Regards, Tomas
Re: EasyBind: custom bindings made easy (with lambdas)
Ah, this is really nice! BindingBoolean bb = EasyBind.select(control.sceneProperty()) .select(s - s.windowProperty()) .selectObject(w - w.showingProperty()); On Mar 19, 2014, at 9:12 AM, Tomas Mikula tomas.mik...@gmail.com wrote: Hi all, I just released EasyBind (http://www.fxmisc.org/easybind/), a tiny library with several factory methods to create bindings using lambdas. The most prominent feature is probably the type-safe select binding based on this feature request for JavaFX 9: https://javafx-jira.kenai.com/browse/RT-35923. Regards, Tomas
[8u6] review request: RT-34982 IMX6 - cursor image is seen even though a mouse is not plugged in
Rafi and Daniel, Please review the fix for https://javafx-jira.kenai.com/browse/RT-34982. Patch included in jira. Thanks, Lisa
hg: openjfx/8u-dev/rt: Fixed RT-36178: Printing: Scene is not printed when blending is used.
Changeset: d1d4b24e037d Author:prr Date: 2014-03-19 11:06 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/d1d4b24e037d Fixed RT-36178: Printing: Scene is not printed when blending is used. Reviewed-by: flar ! modules/graphics/src/main/java/com/sun/prism/j2d/J2DPresentable.java ! modules/graphics/src/main/java/com/sun/prism/j2d/J2DRTTexture.java ! modules/graphics/src/main/java/com/sun/prism/j2d/J2DResourceFactory.java ! modules/graphics/src/main/java/com/sun/prism/j2d/PrismPrintGraphics.java
CircularPane
For those interested, I've just put an implementation of a CircularPane in JFXtras-labs. http://jfxtras.org/images/gallery/CircularPane.png One never knows how to put such a thing to use. Regards, Tom
Re: CircularPane
Very nice Tom, thanx for the contribution!!! Cheers, Gerrit Am 19.03.2014 um 19:21 schrieb Tom Eugelink t...@tbee.org: For those interested, I've just put an implementation of a CircularPane in JFXtras-labs. http://jfxtras.org/images/gallery/CircularPane.png One never knows how to put such a thing to use. Regards, Tom
Re: Congratulations
So yes, a big THANK YOU to Richard and his team and everyone at Oracle and all the other individuals and 3rd parties who have contributed to getting JavaFX (and Java) to where it is today. You guys/gals should be really proud :-) I agree, congrats to all the folks inside and outside Oracle that have been making tremendous contributions to JavaFX! A special thanks to Steve for really pushing OpenJFX as a real open source project with an open development process. We really want to work with the community on this project on an equal footing. We’ve had tons of valuable contributions in the form of bug fixes, blog posts, technical discussions, and patches. Keep up the great work! 8u20 has a big pile of bug fixes, so please do kick the tires on that one. Lots of great work going on in terms of Accessibility right now, also embedded work and as always performance work. Scene Builder is healthy and active, we’d love to see it embedded in all the IDEs and direct contributions from the community to Scene Builder would be fantastic. A big thanks to the porters brining JavaFX to Android/iOS and other platforms! Looking forward to 8u20 and Java 9! Richard
Re: Congratulations
Congratulations and Thank You to all of the JavaFX folks! Richard, in one of your Java One talks you spoke about opening up the OpenJFX project further. Will there be discussions on the list as to what is coming next? Thanks, Neil From: Richard Bair richard.b...@oracle.com To: Felix Bembrick felix.bembr...@gmail.com Cc: openjfx-dev@openjdk.java.net Mailing openjfx-dev@openjdk.java.net Date: 03/19/2014 02:46 PM Subject:Re: Congratulations Sent by:openjfx-dev openjfx-dev-boun...@openjdk.java.net So yes, a big THANK YOU to Richard and his team and everyone at Oracle and all the other individuals and 3rd parties who have contributed to getting JavaFX (and Java) to where it is today. You guys/gals should be really proud :-) I agree, congrats to all the folks inside and outside Oracle that have been making tremendous contributions to JavaFX! A special thanks to Steve for really pushing OpenJFX as a real open source project with an open development process. We really want to work with the community on this project on an equal footing. We’ve had tons of valuable contributions in the form of bug fixes, blog posts, technical discussions, and patches. Keep up the great work! 8u20 has a big pile of bug fixes, so please do kick the tires on that one. Lots of great work going on in terms of Accessibility right now, also embedded work and as always performance work. Scene Builder is healthy and active, we’d love to see it embedded in all the IDEs and direct contributions from the community to Scene Builder would be fantastic. A big thanks to the porters brining JavaFX to Android/iOS and other platforms! Looking forward to 8u20 and Java 9! Richard NOTICE from Ab Initio: This email (including any attachments) may contain information that is subject to confidentiality obligations or is legally privileged, and sender does not waive confidentiality or privilege. If received in error, please notify the sender, delete this email, and make no further use, disclosure, or distribution.
Re: Congratulations
Hi Neil, Yes, I expect that feature planning for 9 and so forth should happen on this list and I hope will be in large part driven by those features / bugs / ideas that come from people in the community, and that they would include code contributions to help get it done :-) Richard On Mar 19, 2014, at 11:51 AM, ngalarn...@abinitio.com wrote: Congratulations and Thank You to all of the JavaFX folks! Richard, in one of your Java One talks you spoke about opening up the OpenJFX project further. Will there be discussions on the list as to what is coming next? Thanks, Neil From:Richard Bair richard.b...@oracle.com To:Felix Bembrick felix.bembr...@gmail.com Cc:openjfx-dev@openjdk.java.net Mailing openjfx-dev@openjdk.java.net Date:03/19/2014 02:46 PM Subject:Re: Congratulations Sent by:openjfx-dev openjfx-dev-boun...@openjdk.java.net So yes, a big THANK YOU to Richard and his team and everyone at Oracle and all the other individuals and 3rd parties who have contributed to getting JavaFX (and Java) to where it is today. You guys/gals should be really proud :-) I agree, congrats to all the folks inside and outside Oracle that have been making tremendous contributions to JavaFX! A special thanks to Steve for really pushing OpenJFX as a real open source project with an open development process. We really want to work with the community on this project on an equal footing. We’ve had tons of valuable contributions in the form of bug fixes, blog posts, technical discussions, and patches. Keep up the great work! 8u20 has a big pile of bug fixes, so please do kick the tires on that one. Lots of great work going on in terms of Accessibility right now, also embedded work and as always performance work. Scene Builder is healthy and active, we’d love to see it embedded in all the IDEs and direct contributions from the community to Scene Builder would be fantastic. A big thanks to the porters brining JavaFX to Android/iOS and other platforms! Looking forward to 8u20 and Java 9! Richard NOTICE from Ab Initio: This email (including any attachments) may contain information that is subject to confidentiality obligations or is legally privileged, and sender does not waive confidentiality or privilege. If received in error, please notify the sender, delete this email, and make no further use, disclosure, or distribution.
Create ContextMenu in Task
Hi, I'm working on a application which is using Task to load content. I have a Context Menu insight the Task which is not working due to these problems: https://javafx-jira.kenai.com/browse/RT-25127 https://javafx-jira.kenai.com/browse/RT-17716 This is a limitation. Is there any plans to fix these issues? BR, Peter
hg: openjfx/8u-dev/rt: 2 new changesets
Changeset: c9411d50a822 Author:hudson Date: 2014-03-19 08:57 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/c9411d50a822 Added tag 8u20-b06 for changeset c7f043d40430 ! .hgtags Changeset: 7123e5a61cee Author:kcr Date: 2014-03-19 13:06 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/7123e5a61cee Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8u/master/jfx/rt - modules/controls/src/main/java/com/sun/javafx/scene/control/accessible/AccessibleButton.java - modules/controls/src/main/java/com/sun/javafx/scene/control/accessible/AccessibleCheckBox.java - modules/controls/src/main/java/com/sun/javafx/scene/control/accessible/AccessibleControl.java - modules/controls/src/main/java/com/sun/javafx/scene/control/accessible/AccessibleList.java - modules/controls/src/main/java/com/sun/javafx/scene/control/accessible/AccessibleListItem.java - modules/controls/src/main/java/com/sun/javafx/scene/control/accessible/AccessibleMenuButton.java - modules/controls/src/main/java/com/sun/javafx/scene/control/accessible/AccessibleRadioButton.java - modules/controls/src/main/java/com/sun/javafx/scene/control/accessible/AccessibleSlider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/AccessibleBasePatternProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/AccessibleBaseProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/AccessibleLogger.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/AccessibleRoot.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/mac/MacAccessibleAttributes.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/mac/MacAccessibleBasePatternProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/mac/MacAccessibleBaseProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/mac/MacAccessibleEventIds.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/mac/MacAccessibleRoles.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/mac/MacAccessibleRoot.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/mac/MacAccessibleSelectionItemProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/mac/MacAccessibleSelectionProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/mac/MacAccessibleToggleProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/win/WinAccessibleBasePatternProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/win/WinAccessibleBaseProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/win/WinAccessibleGridItemProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/win/WinAccessibleGridProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/win/WinAccessibleRangeValueProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/win/WinAccessibleRoot.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/win/WinAccessibleSelectionItemProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/win/WinAccessibleSelectionProvider.java - modules/graphics/src/main/java/com/sun/glass/ui/accessible/win/WinAccessibleToggleProvider.java - modules/graphics/src/main/java/com/sun/javafx/accessible/AccessibleNode.java - modules/graphics/src/main/java/com/sun/javafx/accessible/AccessibleStage.java - modules/graphics/src/main/java/com/sun/javafx/accessible/AccessibleText.java - modules/graphics/src/main/java/com/sun/javafx/accessible/providers/Accessible.java - modules/graphics/src/main/java/com/sun/javafx/accessible/providers/AccessibleProvider.java - modules/graphics/src/main/java/com/sun/javafx/accessible/providers/AccessibleStageProvider.java - modules/graphics/src/main/java/com/sun/javafx/accessible/providers/ExpandCollapseProvider.java - modules/graphics/src/main/java/com/sun/javafx/accessible/providers/GridItemProvider.java - modules/graphics/src/main/java/com/sun/javafx/accessible/providers/GridProvider.java - modules/graphics/src/main/java/com/sun/javafx/accessible/providers/InvokeProvider.java - modules/graphics/src/main/java/com/sun/javafx/accessible/providers/RangeValueProvider.java - modules/graphics/src/main/java/com/sun/javafx/accessible/providers/SelectionItemProvider.java - modules/graphics/src/main/java/com/sun/javafx/accessible/providers/SelectionProvider.java - modules/graphics/src/main/java/com/sun/javafx/accessible/providers/ToggleProvider.java - modules/graphics/src/main/java/com/sun/javafx/accessible/providers/ValueProvider.java - modules/graphics/src/main/java/com/sun/javafx/accessible/utils/ControlTypeIds.java - modules/graphics/src/main/java/com/sun/javafx/accessible/utils/EventIds.java - modules/graphics/src/main/java/com/sun/javafx/accessible/utils/ExpandCollapseState.java -
hg: openjfx/8u-dev/rt: 3 new changesets
Changeset: 4dc1ba8b86ee Author:David Grievedavid.gri...@oracle.com Date: 2014-03-19 16:19 -0400 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/4dc1ba8b86ee [DOCS-ONLY] RT-23933: clarify the affect of the -fx-tooltip-visible property on the Pagination control. ! modules/graphics/src/main/docs/javafx/scene/doc-files/cssref.html Changeset: 96ca9d80b159 Author:David Grievedavid.gri...@oracle.com Date: 2014-03-19 16:19 -0400 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/96ca9d80b159 RT-24086: disallow uni-directional bind on currentPageIndex ! modules/controls/src/main/java/javafx/scene/control/Pagination.java ! modules/controls/src/test/java/javafx/scene/control/PaginationTest.java Changeset: 9940be2f94f3 Author:David Grievedavid.gri...@oracle.com Date: 2014-03-19 16:19 -0400 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/9940be2f94f3 RT-36283: override Legend computePrefWidth/Height to return zero if there are no legend items ! modules/controls/src/main/java/com/sun/javafx/charts/Legend.java
hg: openjfx/2u/dev/rt: 2 new changesets
Changeset: 350a698900e9 Author:hudson Date: 2014-03-12 14:07 -0700 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/350a698900e9 Added tag 2.2.60-b10 for changeset 143b27648d96 ! .hgtags Changeset: c1541c2d6a96 Author:hudson Date: 2014-03-19 10:07 -0700 URL: http://hg.openjdk.java.net/openjfx/2u/dev/rt/rev/c1541c2d6a96 Added tag 2.2.60-b11 for changeset 350a698900e9 ! .hgtags
hg: openjfx/8u-dev/rt: 2 new changesets
Changeset: 7ecb97f4d8ff Author:felipe Date: 2014-03-19 14:41 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/7ecb97f4d8ff remove unused import ! modules/graphics/src/main/java/com/sun/glass/ui/win/WinAccessible.java Changeset: 6b8ba389829c Author:felipe Date: 2014-03-19 14:43 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/6b8ba389829c improve JNI code ! modules/graphics/src/main/native-glass/win/GlassAccessible.cpp ! modules/graphics/src/main/native-glass/win/GlassTextRangeProvider.cpp
hg: openjfx/8u-dev/rt: RT-34973: TextArea: the next line is selected when triple clicking the last word of a line.
Changeset: 54d4f4b10dec Author:leifs Date: 2014-03-19 15:46 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/54d4f4b10dec RT-34973: TextArea: the next line is selected when triple clicking the last word of a line. ! modules/controls/src/main/java/javafx/scene/control/TextInputControl.java
hg: openjfx/8u-dev/rt: [Accessibility] improve JNI code
Changeset: 27df155347e9 Author:Felipe Heidrich felipe.heidr...@oracle.com Date: 2014-03-19 16:39 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/27df155347e9 [Accessibility] improve JNI code ! modules/graphics/src/main/native-glass/mac/GlassAccessible.m
hg: openjfx/8u-dev/rt: RT-29629: redirect navigation control mouse events to behavior.
Changeset: c58357d30622 Author:David Grievedavid.gri...@oracle.com Date: 2014-03-19 19:49 -0400 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/c58357d30622 RT-29629: redirect navigation control mouse events to behavior. Reviewed by: jgiles ! modules/controls/src/main/java/com/sun/javafx/scene/control/skin/PaginationSkin.java
Re: Opacity in Image.getPixelReader.getColor()
Kevin and Jasper hit the nail on the head (Jasper's comment that the words are usually associated with particular ranges is mostly true AFAIRemember, but I can't guarantee it). If there is part of the documentation here that could be made clearer, let us know... ...jim On 3/17/14 1:07 PM, Tom Schindl wrote: Hi, Yes it looks like i mixed this up with transparency! Tom On 17.03.14 10:03, Kevin Rushforth wrote: I'm sure Jim could word this better, but here goes... Opacity and alpha are mostly used interchangeably. Whether the range is expressed as a normalized value [0.0,1.0] or an 8-bit pixel value [0,255], the meaning is the same. A value of 0 means that the color is completely transparent. When using the default SRC_OVER blend equation, a pixel with this color will have no effect. A value of 1.0 (if using a normalized value) or 255 (if using an 8-bit integer value) means that the color is fully opaque. When using the default SRC_OVER blend equation, a pixel with this color will overwrite whatever is underneath it. Perhaps Tom is thinking of transparency which, if we were to have such an attribute, would be defined as (1.0-opacity). -- Kevin Jasper Potts wrote: My understanding is alpha and opacity are same just different range. Opacity is 0.0 to 1.0 Alpha is 0 to 255 Jim or Kevin will be authority on this. Jasper On Mar 16, 2014, at 5:55 AM, Tom Schindl tom.schi...@bestsolution.at wrote: Hi, Maybe I'm completely wrong but to me it looks like the opacity I get from Image.getPixelReader.getColor() is wrong. If not mistaken the relation between alpha and opacity is expressed with: opacity = (255 - alpha) / 255.0 which means: opacity 0 = alpha 255 opacity 1 = alpha 0 Running the following programm on a gif public class OpacityBug extends Application { @Override public void start(Stage primaryStage) throws Exception { Image image = new Image(getClass().getResourceAsStream(methpri_obj.gif)); int width = (int) image.getWidth(); int height = (int) image.getHeight(); PixelReader reader = image.getPixelReader(); for (int x = width - 1; x = 0; x--) { for (int y = height - 1; y = 0; y--) { int argb = reader.getArgb(x, y); int alphaArgb = (argb 24) 0xFF; Color color = reader.getColor(x, y); double opacity = color.getOpacity(); System.err.println(x+,+y + = alpha: + alphaArgb + op: + opacity + op-alpha: + opacityToAlpha(opacity) + color: + color); } } } private static int opacityToAlpha(double opacity) { return (int)Math.roundopacity * 255.0) - 255) * -1)); } public static void main(String[] args) { Application.launch(args); } } produces and output like: 15,15 = alpha: 0 op: 0.0 op-alpha: 255 color: 0x which to my understanding is wrong. The argb value is correct (if compared to the image because the pixel at 15,15 is fully transparent) but then the the opacity should be 1.0 but is the opposite. Looking at the code in Image I see: @Override public Color getColor(int x, int y) { int argb = getArgb(x, y); int a = argb 24; int r = (argb 16) 0xff; int g = (argb 8) 0xff; int b = (argb ) 0xff; return Color.rgb(r, g, b, a / 255.0); } which means that: a) my formula from the above is wrong b) or there's the bug because it should be return Color.rgb(r, g, b, (255 - a) / 255.0); May I also suggest to add get a - Color.argb(int r,int g,int b,int alpha) maybe it is just me but I'm so much more used to alpha than opacity that I always have to look it up when i need it. Tom