NSView-based embedding on Mac OS X

E KN egk865 at gmail.com
Fri Dec 20 09:54:58 PST 2013


Hi Petr,

Thank you so much for your explanation. Would be very grateful if you
could clarify one other thing though.

The SWT_AWT bridge API supports both embedding an AWT component inside
SWT as well as embedding an SWT component inside AWT. Looking at the
source code of the SWT_AWT java class and the swt_awt.c C code, it
would appear that only embedding an AWT component inside SWT is
supported in JDK7u40. But the reverse, embedding an SWT component
inside an AWT component does not appear to be supported (since the
native C code in awt_swt.c, called from the new_Shell function makes use of
the
legacy JAWT_MacOSXDrawingSurfaceInfo struct in jawt_md.h which was removed
in
Java 7).

Is this correct? Are there any plans to support this latter form of
embedding again? (I am asking because I am dependent on a third party
library which uses this same API as this latter form of embedding).

Thanks again,
Eli



On Fri, Dec 20, 2013 at 1:38 AM, Petr Pchelko <petr.pchelko at oracle.com>wrote:

> Hello, Eli.
>
> The NSView-based embedding was implemented and is already available in
> JDK8 EA builds and JDK7u40.
> Here's the bug which was used to track the changes:
> https://bugs.openjdk.java.net/browse/JDK-7154778
>
> However, this implementation was designed specifically to support the
> SWT_AWT bridge and was not intended for other use as
> it was not tested without SWT. If you still want to use it for some other
> purposes - please see how it's done in the SWT implementation
> of the SWT_AWT bridge. It could be found in SWT sources higher than
> version 4.3 in the class named SWT_AWT. But if you want to
> use it directly please be aware that it is not a part of the public API
> and is a subject to change in the future releases.
>
> The NSView-base embedding have nothing in common with JavaFX and is not
> used for JFXPanel or SwingNode.
>
> Please contact me if you have any problems.
>
> With best regards. Petr.
>
> On 20.12.2013, at 7:34, E KN <egk865 at gmail.com> wrote:
>
> > Back in January 2013, it reported on this list that NSView-based embedded
> > windows on Mac OS X would be supported in JDK8 and maybe even in a future
> > update to JDK7:
> >
> >
> http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-January/005783.html
> >
> > I was wondering if this is still the current plan, as I have not been
> able
> > to get NSView-based embedding to work on recent versions of JDK7 or early
> > access releases of JDK8. If it still is, is providing NSView-based
> > embedding intended for only JavaFX based applications or even pure Swing
> > applications?
> >
> > Thank you so much in advance,
> > Eli
>
>


More information about the openjfx-dev mailing list