Hi Ken,

That does indeed help.

I'm guessing that "org.eclipse.equinox.common" and "org.eclipse.osgi" bundle
dependencies suggest that JFace has implementation-specific dependencies
(using utility classes packaged with framework implementation).  I've tried
some quick searching and the best I could find is
http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Foverview-summary.htmlwhich
suggests that if I'm interested in using JFace, I need to add
dependencies for SWT (per platform) and the Eclipse RCP.  Hope it doesn't
turn out to consume a disproportionate amount of storage space/download
time.

Incidentally, another reason for me evaluating all this stuff is that -- as
Linux GTK is a target -- getting something reasonable on Linux (as Swing GTK
isn't great for font rendering, and Linux/JavaFX doesn't seem a priority for
Oracle).

Will try that out then.

Thanks,
Christopher



On 24 October 2011 01:51, Ken Gilmer <[email protected]> wrote:

> Hi Christopher,
>
>  I currently am not using SWT in any OSGi projects but have seen several
> SWT/OSGi apps in the past.  I was easily able to get a JFace dialog to
> display via my own bundle.  I used Eclipse to first create an equinox-based
> bundle that showed the dialog, then used PDE to strip away the
> Equinox/Eclipse stuff until I found that a SWT/JFace bundle requires these
> packages:
>
> org.eclipse.jface.dialogs,
>  org.eclipse.jface.window,
>  org.eclipse.jface.resource,
>  org.eclipse.swt.layout,
>  org.eclipse.swt.graphics,
>  org.eclipse.swt.widgets,
>  org.osgi.framework
>
>  I then let PDE launch resolve those into the bundles distributed with
> Eclipse 3.6 for Linux (x86):
>
> org.eclipse.core.commands_3.6.0.I20100512-1500.jar
> org.eclipse.equinox.common_3.6.0.v20100503.jar
> org.eclipse.jface_3.6.2.M20110210-1200.jar
> org.eclipse.osgi_3.6.2.R36x_v20110210.jar
> org.eclipse.swt_3.6.2.v3659c.jar
> org.eclipse.swt.gtk.linux.x86_3.6.2.v3659b.jar
> pt_1.0.0.201110240834.jar  (my test bundle)
>
> I then used knapsack (my pet project) to quickly launch Felix with the
> above
> bundles and was able to see an SWT Shell and JFace dialog.
>
> This would probably be enough to get started and I imagine it would not be
> too difficult to strip out the org.eclipse.equinox.common,
> org.eclipse.osgi,
> and org.eclipse.core.commands bundles from JFace to lessen the dependencies
> further.  Regarding platform support, you'd just need to include the SWT
> bundle for whatever platform you were targeting, for me
> it's org.eclipse.swt.gtk.linux.x86.
>
> hth,
> ken
>
>
>
>
> On Mon, Oct 24, 2011 at 5:54 AM, Christopher BROWN <[email protected]>
> wrote:
>
> > Hello,
> >
> > Having developed with Java Swing for a long time, and having seen that
> > Oracle seem to have decided to place Swing into "maintenance mode" (with
> > emphasis going to JavaFX, which doesn't yet seem very cross-platform and
> > doesn't have anything like native UI widgets), I'm currently
> investigating
> > whether I can find the functionality I need by moving to SWT.
> >
> > At this point, I don't want the full Eclipse RCP platform (I don't
> actually
> > like Eclipse as an IDE, I prefer IntelliJ, but that's got nothing to do
> > with
> > my decision process here).  I figured that SWT on its own, along with
> > JFace,
> > seems like a good fit.
> >
> > However, I'm not really sure what the best approach is with regards to
> > using
> > that in Felix.  I'm running Felix in embedded mode (so no interactive
> > shell)
> > and would welcome advice as to how I might load SWT as an OSGi bundle (or
> > in
> > the system classpath) in an application primarily targeting Windows,
> Linux,
> > and Mac OS.  I've seen (vague, no detail) tips about splitting up SWT
> into
> > a
> > JAR and using fragments for platform-specific stuff, but I'm not sure how
> > to
> > perform this splitting and how to select which fragment to load
> (remember,
> > I'm not expecting users to mess around with an interactive shell to set
> it
> > up, I aim to provide a "It Just Works" type of experience).
> >
> > Furthermore, it appears that JFace requires the Equinox OSGi runtime from
> > the documentation.  If this is the case, does that rule out JFace/SWT
> from
> > within Felix?
> >
> > Thanks for feedback and advice,
> > Christopher
> >
>
>
>
> --
> thx
> ken
>

Reply via email to