Source code for JavaFX UI controls now available on openjfx

Mario Torre neugens.limasoftware at
Sat Dec 3 03:25:18 PST 2011

Il giorno 03/dic/2011, alle ore 11:07, Jonathan Giles ha scritto:
> With regards as to whether the SwingView feature you've developed is considered a control or not: my unofficial means of classifying would say that unless it extends from, or somehow makes use of the javafx.scene.control.Control class, it is not a control. If this isn't the case (I haven't looked myself, but my guess is that it isn't), then I'd say that this feature is not destined to be included in the ui-controls project. Of course, it isn't my place to say this with any conviction, I'm just saying what my interpretation is. 

Hello Jonathan,

It consist of two parts, one is the BufferedImageView, this is a View, then we have the SwingView control, which extends Control.

BufferImageView is needed by SwingView, so if SwingView gets integrated in the Controls (its natural space) we still need BufferedImageView.
If the views are in a separate repository and the BufferedImageView needs to be submitted "later" in the process, then we either need to integrate it for now in the SwingView or make it package private, or let this little but useful alien live in the Control repository.

We also do have few classes, which are package private. The usual way for Sun/Oracle to handle implementation classes is to make everything public but in a separate "hidden" namespace, instead we prefer to have the classes local to where they are used, but this of course tends to pollute the package with hidden classes (it's the same from user perspective though, and as you know, some users will still mess up with internal classes ;).

> With regard to the licensing (and note that I am very much not a lawyer), I just loaded up some of the source files from the ui-controls project, and it appears to me that everything is licensed as GPL plus classpath already. For example, here is the full header for with the relevant section made bold:
> Referring to the LICENSE file in the root folder of openjfx, I see at line 326 mention of the classpath exception.

My bad, indeed! I had yet to have my coffee... but now I see again ;)

Sorry for the confusion!

So, this is the first iteration, BufferdImageView is part of the controls here with SwingView, the package private classes are in the same package and the package is javafx.embed.swing (which I think makes sense for both those two classes).

Users must call SwingFX.init() before anything else if they want to use the SwingView, since we need to install some properties and the correct KeyboardFocusManagement peer.

So we have 3 public classes, SwingFX, SwingView and BufferedImageView.

Here is the webrev:

I expect to have few iteration until the code gets in the shape for official release, and I don't expect this to be already this afternoon ;) of course, so any comment is very welcomed.

Thanks a lot!
pgp key: PGP Key ID: 80F240CF
Fingerprint: BA39 9666 94EC 8B73 27FA  FC7C 4086 63E3 80F2 40CF

Proud GNU Classpath developer:
Read About us at:

Please, support open standards:

More information about the openjfx-dev mailing list