[ImageJ-devel] Developping new UI for ImageJ

Lee Kamentsky leek at broadinstitute.org
Thu Mar 26 11:54:57 CDT 2015


Just a couple hints - although my name is on a lot of the files, that's
from several years ago. Others are far more expert than I.

There are two projects that control the toolkit-specific aspects of the ui:
https://github.com/imagej/imagej-ui-swing and
https://github.com/scijava/scijava-ui-swing

You might find far more of the bulk of the UI in scijava-ui-swing. Those
are the generic parts, things like frames, menus and controls. The root of
it all is org.scijava.ui.UserInterface - if you implement this interface
and annotate it, it will be the one that's used if your jar is in the
classpath instead of the Swing one:
https://github.com/scijava/scijava-ui-swing/blob/master/src/main/java/org/scijava/ui/swing/sdi/SwingSDIUI.java#L59
If you want your stuff to show up first, with the other jars being there
already, you can develop a plugin with a higher priority (see the
documentation for Plugin). For instance, if you want a new display viewer,
just implement one derived from DisplayViewer, make its plugin priority
higher than SwingSDIImageDisplayViewer and it wil be the one that's used. I
thing that might be close to what you want to do.

On Thu, Mar 26, 2015 at 11:48 AM, Mongis Cyril <cyril.mongis at googlemail.com>
wrote:

> Hi everyone,
>
> I'm currently embedding ImageJ in one my application but I use JavaFX for
> the user interface. I would like to channel the image windows, which are
> created and handled by ImageJ, to JavaFX elements. In other words, when a
> plugin wants to display an image, this image would be displayed in a JavaFX
> element. While JavaFX is relatively easy to handle, it's pretty hard to
> understand the structure of the ImageJ User Interface stack and the
> interactions between the classes that composes it. I know that the
> ImageDisplayService has a certain role but I have troubles to see when
> practical decisions (like drawing the image in a canvas, or adding a slider
> for the Z position, or changing the name of the window in the swing part)
> are taken. I looked in the imagej-ui-swing so I have an idea about the
> location of some events. But I also don't know how to signal ImageJ that
> there is an other UI connected to ImageJ/
>
> Which class should I re-implement ? I guess I should re-implement the same
> classes as the ones implemented in the imagej-swing-ui module then, how to
> set it in the context ?
>
> Is there any drawing that represent the UI interaction scheme ? ( when a
> image is opened for instance)
>
> Is there any resources that would provide some base knowledge to better
> understand the UI stack.
>
> I would of course commit my work to the community.
>
> Cheers,
>
> Cyril MONGIS
>
> _______________________________________________
> ImageJ-devel mailing list
> ImageJ-devel at imagej.net
> http://imagej.net/mailman/listinfo/imagej-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20150326/cfe70713/attachment.html>


More information about the ImageJ-devel mailing list