Java 9 Questions
philip.race at oracle.com
Fri Nov 20 03:23:48 UTC 2015
On 11/19/2015 11:49 AM, Scott Palmer wrote:
> I was just looking at the Java 9 EA pages and have a few questions (mostly JavaFX related).
> - There is a separate download for Java 9 + Jigsaw, but it has a much earlier build number (b86). Is Jigsaw not included with the of the latest (b92) download?
> - When looking at the Java 9 JEPs I see several that are UI related:
> - JEP 251: Multi-resolution Images
> - JEP 258: HarfBuzz Font-Layout Engine
> - JEP 265: Marlin Graphics Renderer
> All of these refer to Java2D or AWT. How is JavaFX affected? Is there no common ground for things like multi-resolution images and font layout for example?
FX already has multi-res image support.
But none of these JEPS directly relate to FX.
> It is already cumbersome to deal with things like ImageIO because it depends on Java2d images and conversion is required to use JavaFX images. How does Jigsaw help with this? I hope I don’t have to pull in AWT/Swing just to load an image with ImageIO so that I can show it in my JavaFX application. (Too bad images or some base image class could not be made neutral to the UI toolkit being used.)
> I think there must be at least three different image loading mechanisms in the JDK now. Are there plans to consolidate this?
jigsaw delivers all of AWT/2D/Swing as one module so won't help you reduce
dependence on that if you need Image I/O. It was recognised a while back
that JavaFX needs more support in imaging and image format support but
it is not for JDK 9.
Core SE had 4 image loading mechanisms
1) Toolkit.createImage (jdk 1.0)
2) com.sun.image.codec.jpeg (jdk 1.2 not standard, now retired)
3) Image I/O (1.4)
4) splashscreen (1.6)
add FX and there is one more.
IJG is at the bottom of all the JPEG support although versions differ.
> Just curious where things are heading.
Consolidation is somewhat at odds with the module system here.
If FX depends on java.desktop it is nearly impossible to consolidate all
so they can be shared as they are so much intertwined with the rest of
the java.desktop module.
Leaving aside SE, it is clear that FX needs more imaging support and how
it is done should not add gobs of footprint or dependencies.
More information about the openjfx-dev