Preventing an ImageWindow from closing

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Preventing an ImageWindow from closing

Jeff Hardin
Hi folks,

Does anyone know how to prevent an ImageJ ImageWindow from closing? I  
currently have images being displayed to an ImageWindow, and  
everything works well, until someone inadvertently closes the window.  
I know how to deal with this in Swing, but not AWT...

Thanks!

Jeff
----------------------------------------------
Jeff Hardin
Professor and Chair, Department of Zoology
Director, Biology Core Curriculum
University of Wisconsin
1117 W. Johnson St.
Madison, WI 53706
voice: (608) 262-9634
fax: (608) 262-7319
email: [hidden email]



On Jul 9, 2008, at 11:00 PM, IMAGEJ automatic digest system wrote:

> There are 11 messages totalling 644 lines in this issue.
>
> Topics of the day:
>
>  1. Grains analysis in metals
>  2. Two color detection + segmentation
>  3. how to measure (4)
>  4. question with regard to image analysis (2)
>  5. [ImageJ macro] roiManager+setBatchMode  leads to  "out of memory"
>     (sometimes)
>  6. New: MovieIO - A Simple Video Processing Library for ImageJ
>  7. 3D filtering
>
> ----------------------------------------------------------------------
>
> Date:    Wed, 9 Jul 2008 05:42:47 -0400
> From:    Sami Badawi <[hidden email]>
> Subject: Re: Grains analysis in metals
>
> Hi Laurent,
>
> The ShapeLogic plugin contains a particle analyzer that works directly
> on gray scale and color images.  This might work for you but it only
> works if you have grains in a relatively uniform background, not if
> you only have grains and boundaries.
>
> It collects these particle properties:
>    * Area
>    * Center of gravity
>    * Color
>    * Std dev for color
>    * Length of perimeter
>    * Circularity
>    * Gray value brightness
>    * Bounding box
>    * Number of hard corners
>    * Number of inflection points
>    * Number of curve arches
>
> Link: http://www.shapelogic.org/particle.html
>
> -Sami Badawi
> http://www.shapelogic.org
>
> ------------------------------
>
> Date:    Wed, 9 Jul 2008 14:18:51 +0200
> From:    "Usaj, Marko" <[hidden email]>
> Subject: Two color detection + segmentation
>
> Hello everybody!
>
> I have following problem:
>
> I have fluorescence images 1 with objects (intensity) 1 and  
> fluorescence =
> images 2 with objects (intensity) 2. But some of object are the same =
> (fused) I want to find how many (percent) object are dual color.
>
> Ok, one option is segmentation and then comparison/color align and  
> then =
> counting.
>
> But i hear that similar procedure is to just compare pixel  
> intensity, =
> and perform percent calculation using number of pixels instead of  
> object =
> (dual color/all). Is there any plug in for do that?
>
> Second questions is about uneven illumination. Can anyone suggest  
> good =
> plugin who deal with that.=20
>
> Third questions is fluorescence thresholding/segment fluorescence  
> nuclei =
> of cells. Which is good algorithm/plugin for that?=20
>
> Regardss=20
>
> Marko
> =20
>
> ------------------------------
>
> Date:    Wed, 9 Jul 2008 21:28:24 +0200
> From:    Johannes Breu <[hidden email]>
> Subject: how to measure
>
> Hello,
>
> because I am quite unexperienced in measuring fluorescent signals I  
> hope
> somebody may give me some fruitful instructions for doing with imageJ.
>
> Transfected HEK cells (expressing a presynaptic protein -green  
> channel) wer=
> e
> cocultured with hippocampal cells. I wish to measure the signals of a
> postsynaptic proteins (red channel) on transfected HEK cells. In other
> words: I am interested to measure the overlap between the red an the  
> green
> channel.
>
> My idea was to mark the green signal (transfected HEK cells) and to  
> measure
> the intensities in the red channel.
>
> I did it that way:
> 1) Fusing stacks (Image-Hyperstack-Reduce Dimensionality)
> 2) Make it possible to switch between channels (Image-Hyperstack-
> Channels)
> 3) Mark the green signal with the freehand tool and then switch to  
> the red
> channel.
> 4) Measure the intensities of the red signal within the marked area
> (Analyze-Measure).
>
> I feel there is a better more efficient way to do. Is there?  
> Especially the
> method to define the region of interest (the overlap) could be more  
> precise=
> ,
> couldn=B4t it...
>
> Thanks Johannes
>
> ------------------------------
>
> Date:    Wed, 9 Jul 2008 15:25:21 -0400
> From:    Junghyo Jo <[hidden email]>
> Subject: question with regard to image analysis
>
> Dear Image J experts,
> I am wondering if ImageJ can analyze the following work?
> I want to count double staining cells within a tissue boundary.
>
> Although I am not familiar with ImageJ,
> I imagine that to conduct this work,
> ImageJ has to set the specific tissue boundary
> on the sample image.
> Then, it has to separately count two kinds of staining cells
> which lies within the given tissue boundary.
> Finally, it has to determine the double staining cells
> based on the above information.
> In the sample image, all nuclei of cells are stained with blue.
> Is this procedure possible in ImageJ?
>
> I appreciate your comment about this question.
>
> Sincerely,
> Junghyo
>
> ------------------------------
>
> Date:    Wed, 9 Jul 2008 15:29:47 -0400
> From:    Wayne Rasband <[hidden email]>
> Subject: Re: [ImageJ macro] roiManager+setBatchMode  leads to  "out  
> of memory" (sometimes)
>
>> Hello ImageJers,
>>
>> When I run the following macro (in order to "rotate" a bunch of ROIs
>> in the ROIManager), I get an "out of memory" error after a hundred of
>> rois has been processed .
>> If I comment out the setBatchMode lines, it works (but much slower).
>> It might be related to the roiManager, I wrote another macro
>> duplicating and rotating images in batchmode, without any issue.
>> I tested on OS 10.5 and winXP (jvm1.6_03) with  ij1.41g/h with the
>> same results, not yet tested on linux
>> using "Monitor Memory", one can see the macro eating memory quite  
>> fast.
>> I uploaded  a sample "source" image and a quite big ROI set  there:
>>
>> http://xfer.curie.fr/get/gYrE1HY3BYl/OutOfMemSamples.tar
>>
>> I tried to summon  ij.IJ.freeMemory  and friends as seen in a former
>> thread on the list, but it didn't help.
>> It seems to be a bit more difficult than I expected.
>> Any hint?
>> Thanks
>
> This bug is fixed in the v1.41h daily build. The ROI Manager "Update"
> option was saving a reference to the image, which prevented it from
> being garbage collected. There is also a small bug in the macro that
> causes it to fail if the background color is not black. This can be
> fixed by adding
>
>     setBackgroundColor(0, 0, 0);
>
> -wayne
>
>
>> sebastien
>>
>> (off topic: I couldn't simply copy and fill all rois on a new black
>> image, rotate and use  "analyze particles" to  populate the roi
>> manager cause close rois/particles were joined after rotation.)
>>
>>
>> macro "rotateROIs [F1]"
>> {
>>  srcpath = File.openDialog("Source image?");
>>  roispath = File.openDialog("Roi set?");
>>  open(srcpath);
>>  sid = getImageID();
>>  roiManager("reset");
>>  open(roispath);
>>  rot_angle = getNumber("Rot Angle", 5);
>>  setBatchMode(true);
>>  rois_rotateAll(sid, rot_angle);
>>  setBatchMode(false);
>> }
>>
>>
>> function rois_rotateAll(srcid, angle)
>> {
>>  iter = 0;
>>  roicnt = roiManager("count");
>>  oldroicnt = roicnt;
>>  run("Set Measurements...", "area mean min integrated limit
>> redirect=None decimal=3");
>>  setForegroundColor(255, 255, 255);
>>  i = 0 ;
>>  while ( i < roicnt )
>>    {
>>      selectImage(srcid);
>>      run("Select All");
>>      run("Duplicate...", "title=TMP_ROIS_masks");
>>      dupid = getImageID();
>>      run("Select All");
>>      run("Cut");
>>      run("8-bit");
>>      setVoxelSize(1, 1, 1, "pixels");
>>      roiManager("Select", i);
>>      roiManager("Fill");
>>      run("Select None");
>>      run("Arbitrarily...", "angle=" + angle + " grid=1 interpolate
>> enlarge");
>>      setThreshold(250,255);
>>      run("Select None");
>>      run("Clear Results");
>>      run("Analyze Particles...", "size=5-Infinity
>> circularity=0.00-1.00 show=Nothing exclude clear include record");
>>      if ( nResults == 1 )
>>        {
>>          x = getResult("XStart", 0);
>>          y = getResult("YStart", 0);
>>          doWand(x, y);
>>          roiManager("Update");
>>          i++;
>>        }
>>      else
>>        {
>>          print("warning: rotation of roi " + i + " gives unexpected
>> number of results: " + nResults);
>>          print("warning: deletion of roi "+ i);
>>          roiManager("Delete");
>>          roicnt--;
>>        }
>>      selectImage(dupid);
>>      run("Select None");
>>      close();
>> //useless call to freeMemory  every 10 iterations
>>      //iter++;
>>      //if ( (iter % 10) ==0)
>>       // {
>>        //  print(call("ij.IJ.freeMemory"));
>>         // wait(1000);
>>        //}
>>    }
>> }
>>
>
> ------------------------------
>
> Date:    Wed, 9 Jul 2008 22:14:24 +0200
> From:    Burger Wilhelm <[hidden email]>
> Subject: New: MovieIO - A Simple Video Processing Library for ImageJ
>
> Hello ImageJ folks,
> =20
> I would like to share a small library for ImageJ for reading and  
> writing =
> video files. Why another video package? - I needed something *very* =
> simple to pass on to my students.
> =20
> This library reads and writes video files frame-by-frame under the =
> control of a simple loop, using only a *single* ImageProcessor  
> object. =
> No callbacks or events are used, the library does not rely on stacks  
> and =
> thus has only modest memory requirements. Thus videos of arbitrary =
> length (even HD formats) can be processed.=20
> =20
> The library is implemented transparently in 2 versions - JMF and =
> QuickTime -, which can be used alternatively or together. If only  
> one =
> version is used, the other package can be easily removed. Here is a =
> typical code sequence using the QuickTime version to illustrate how  
> a =
> video file is read and processed frame by frame:
> =20
>    String path =3D "AppleQtSample.mov";
>    MovieReader mr =3D QtMovieReader.openMovie(path);
>    ImageProcessor ip =3D mr.createImageProcessor();
>    int frame;
>    while ((frame =3D mr.getNextFrame(ip)) >=3D 0) {
>      //process and/or display the frame contained in ip ...
>    }
>    mr.close();
> =20
> Note that this is no production code but aims at Java plugin  
> developers. =
> Several example plugins are provided.=20
> Currently the package is only tested under Windows XP (32 bits) - =
> reports for other platforms and suggestions are welcome!
> =20
> Download from: http://staff.fh-hagenberg.at/burger/imagej/
> =20
> Hope this is useful-
> Wilhelm
> www.imagingbook.com
> =20
> =20
>
> ------------------------------
>
> Date:    Wed, 9 Jul 2008 15:42:21 -0400
> From:    Joel Sheffield <[hidden email]>
> Subject: Re: question with regard to image analysis
>
> Hi Junghyo,
>
> In principle, the answer is yes.  As a practical matter, it will
> depend very much on your images.  It would be very helpful if you
> could post an example of your data for the list to see.
>
> Joel
>
>
>> Dear Image J experts,
>> I am wondering if ImageJ can analyze the following work?
>> I want to count double staining cells within a tissue boundary.
>>
>> Although I am not familiar with ImageJ,
>> I imagine that to conduct this work,
>> ImageJ has to set the specific tissue boundary
>> on the sample image.
>> Then, it has to separately count two kinds of staining cells
>> which lies within the given tissue boundary.
>> Finally, it has to determine the double staining cells
>> based on the above information.
>> In the sample image, all nuclei of cells are stained with blue.
>> Is this procedure possible in ImageJ?
>>
>> I appreciate your comment about this question.
>>
>> Sincerely,
>> Junghyo
>
>
> --
> Joel B. Sheffield, Ph.D.
> Biology Department, Temple University
> 1900 North 12th Street
> Philadelphia, PA 19122
> [hidden email]
> (215) 204 8839, fax (215) 204 0486
> http://astro.temple.edu/~jbs
>
> ------------------------------
>
> Date:    Wed, 9 Jul 2008 16:15:49 -0400
> From:    Joel Sheffield <[hidden email]>
> Subject: Re: how to measure
>
> It looks to me as if you should look at some of the colocalization
> plugins.  These allow you to select just those cells that share both
> labels, as long as the labels are in the same part of the cell.
>
>
>
>> Hello,
>>
>> because I am quite unexperienced in measuring fluorescent signals I  
>> hope
>> somebody may give me some fruitful instructions for doing with  
>> imageJ.
>>
>> Transfected HEK cells (expressing a presynaptic protein -green  
>> channel) =
> were
>> cocultured with hippocampal cells. I wish to measure the signals of a
>> postsynaptic proteins (red channel) on transfected HEK cells. In  
>> other
>> words: I am interested to measure the overlap between the red an  
>> the gre=
> en
>> channel.
>>
>> My idea was to mark the green signal (transfected HEK cells) and to  
>> meas=
> ure
>> the intensities in the red channel.
>>
>> I did it that way:
>> 1) Fusing stacks (Image-Hyperstack-Reduce Dimensionality)
>> 2) Make it possible to switch between channels (Image-Hyperstack-
>> Channel=
> s)
>> 3) Mark the green signal with the freehand tool and then switch to  
>> the r=
> ed
>> channel.
>> 4) Measure the intensities of the red signal within the marked area
>> (Analyze-Measure).
>>
>> I feel there is a better more efficient way to do. Is there?  
>> Especially =
> the
>> method to define the region of interest (the overlap) could be more  
>> prec=
> ise,
>> couldn=B4t it...
>>
>> Thanks Johannes
>
>
> --
> Joel B. Sheffield, Ph.D.
> Biology Department, Temple University
> 1900 North 12th Street
> Philadelphia, PA 19122
> [hidden email]
> (215) 204 8839, fax (215) 204 0486
> http://astro.temple.edu/~jbs
>
> ------------------------------
>
> Date:    Wed, 9 Jul 2008 17:51:40 -0300
> From:    "Ruy G. Jaeger" <[hidden email]>
> Subject: Re: how to measure
>
>   Johannes
>
>   I also believe you need to do colocalization analysis.  Try JACoP  
> =20
> (Just Another Co-localization Plugin) plug from Fabrice P. =20
> Cordeli=E8res.  Here goes the site:
>
>   http://rsbweb.nih.gov/ij/plugins/track/jacop.html
>
>   Ruy Jaeger
>
> =
> 3D
> =
> 3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =
> 3D
> =
> 3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =
> 3D
> =
> 3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D
>                        Ruy G. Jaeger, DDS, MSD, PhD
>      University of Sao Paulo - USP  Institute of Biomedical Sciences  
> - ICB
>                  Department of Cell and Developmental Biology
>                        Av. Prof. Lineu Prestes 1524
>    Ed Biomedicas 1 rooms 302 (office and microscopy room) and  
> 405(Laborator=
> y)
>                             Sao Paulo SP 05508 000  BRAZIL
>      Phones:55-11-30918454(office), 55-1130918034 (Lab);Fax:
> 55-11-30917402
>    email:[hidden email]   website: http://www.icb.usp.br/~rgjaeger/index.h=
> tml
>  =20
> =
> 3D
> =
> 3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =
> 3D
> =
> 3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =
> 3D
> =
> 3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D
>
>
>
> Citando Joel Sheffield <[hidden email]>:
>
>> It looks to me as if you should look at some of the colocalization
>> plugins.  These allow you to select just those cells that share both
>> labels, as long as the labels are in the same part of the cell.
>>
>>
>>
>>> Hello,
>>>
>>> because I am quite unexperienced in measuring fluorescent signals  
>>> I hope
>>> somebody may give me some fruitful instructions for doing with  
>>> imageJ.
>>>
>>> Transfected HEK cells (expressing a presynaptic protein -green  
>>> channel) w=
> ere
>>> cocultured with hippocampal cells. I wish to measure the signals  
>>> of a
>>> postsynaptic proteins (red channel) on transfected HEK cells. In  
>>> other
>>> words: I am interested to measure the overlap between the red an  
>>> the gree=
> n
>>> channel.
>>>
>>> My idea was to mark the green signal (transfected HEK cells) and  
>>> to measu=
> re
>>> the intensities in the red channel.
>>>
>>> I did it that way:
>>> 1) Fusing stacks (Image-Hyperstack-Reduce Dimensionality)
>>> 2) Make it possible to switch between channels (Image-Hyperstack-
>>> Channels=
> )
>>> 3) Mark the green signal with the freehand tool and then switch to  
>>> the re=
> d
>>> channel.
>>> 4) Measure the intensities of the red signal within the marked area
>>> (Analyze-Measure).
>>>
>>> I feel there is a better more efficient way to do. Is there?  
>>> Especially t=
> he
>>> method to define the region of interest (the overlap) could be  
>>> more preci=
> se,
>>> couldn=B4t it...
>>>
>>> Thanks Johannes
>>
>>
>> --
>> Joel B. Sheffield, Ph.D.
>> Biology Department, Temple University
>> 1900 North 12th Street
>> Philadelphia, PA 19122
>> [hidden email]
>> (215) 204 8839, fax (215) 204 0486
>> http://astro.temple.edu/~jbs
>>
>
> ------------------------------
>
> Date:    Wed, 9 Jul 2008 23:31:55 +0200
> From:    Johannes Breu <[hidden email]>
> Subject: Re: how to measure
>
> I tried some of the recommended plugins (under those JACoP seems to  
> be the
> most intuitive) but I never found the right subtool... I am not  
> interested
> in measuring  the degree of colocalization. I just want to measure
> fluorescent intensities of the red channel while I defined the ROI  
> in the
> green channel. Are the colocalization plugins really the right tools?
>
> 2008/7/9 Ruy G. Jaeger <[hidden email]>:
>
>> Johannes
>>
>> I also believe you need to do colocalization analysis.  Try JACoP  
>> (Just
>> Another Co-localization Plugin) plug from Fabrice P.  
>> Cordeli=E8res.  Here=
> goes
>> the site:
>>
>> http://rsbweb.nih.gov/ij/plugins/track/jacop.html
>>
>> Ruy Jaeger
>>
>>
>> =
>> 3D
>> =
>> 3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =
> 3D
> =
> 3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =
> 3D
> =
> 3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D
>>                      Ruy G. Jaeger, DDS, MSD, PhD
>>    University of Sao Paulo - USP  Institute of Biomedical Sciences  
>> - ICB
>>                Department of Cell and Developmental Biology
>>                      Av. Prof. Lineu Prestes 1524
>>  Ed Biomedicas 1 rooms 302 (office and microscopy room) and
>> 405(Laboratory)
>>                           Sao Paulo SP 05508 000  BRAZIL
>>    Phones:55-11-30918454(office), 55-1130918034 (Lab);Fax:
>> 55-11-30917402
>>  email:[hidden email] <email%[hidden email]>   website:
>> http://www.icb.usp.br/~rgjaeger/index.html<http://www.icb.usp.br/%7Ergjae=
> ger/index.html>
>>
>> =
>> 3D
>> =
>> 3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =
> 3D
> =
> 3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =
> 3D
> =
> 3D
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D
>>
>>
>>
>> Citando Joel Sheffield <[hidden email]>:
>>
>>
>> It looks to me as if you should look at some of the colocalization
>>> plugins.  These allow you to select just those cells that share both
>>> labels, as long as the labels are in the same part of the cell.
>>>
>>>
>>>
>>> Hello,
>>>>
>>>> because I am quite unexperienced in measuring fluorescent signals  
>>>> I hop=
> e
>>>> somebody may give me some fruitful instructions for doing with  
>>>> imageJ.
>>>>
>>>> Transfected HEK cells (expressing a presynaptic protein -green  
>>>> channel)
>>>> were
>>>> cocultured with hippocampal cells. I wish to measure the signals  
>>>> of a
>>>> postsynaptic proteins (red channel) on transfected HEK cells. In  
>>>> other
>>>> words: I am interested to measure the overlap between the red an  
>>>> the
>>>> green
>>>> channel.
>>>>
>>>> My idea was to mark the green signal (transfected HEK cells) and to
>>>> measure
>>>> the intensities in the red channel.
>>>>
>>>> I did it that way:
>>>> 1) Fusing stacks (Image-Hyperstack-Reduce Dimensionality)
>>>> 2) Make it possible to switch between channels
>>>> (Image-Hyperstack-Channels)
>>>> 3) Mark the green signal with the freehand tool and then switch  
>>>> to the
>>>> red
>>>> channel.
>>>> 4) Measure the intensities of the red signal within the marked area
>>>> (Analyze-Measure).
>>>>
>>>> I feel there is a better more efficient way to do. Is there?  
>>>> Especially
>>>> the
>>>> method to define the region of interest (the overlap) could be more
>>>> precise,
>>>> couldn=B4t it...
>>>>
>>>> Thanks Johannes
>>>>
>>>
>>>
>>> --
>>> Joel B. Sheffield, Ph.D.
>>> Biology Department, Temple University
>>> 1900 North 12th Street
>>> Philadelphia, PA 19122
>>> [hidden email]
>>> (215) 204 8839, fax (215) 204 0486
>>> http://astro.temple.edu/~jbs <http://astro.temple.edu/%7Ejbs>
>>>
>>>
>
> ------------------------------
>
> Date:    Wed, 9 Jul 2008 23:31:55 -0400
> From:    Robert Edward Martin <[hidden email]>
> Subject: 3D filtering
>
> Hi All,
>
>
> I am looking to implement a 3D convolution for filtering at different
> wavelengths of stack data.  THis would be a relatively easy extension
> of the 2D filtering yet I can not find a package that does this.
>
> Does anyone know where I can download a copy of a 3D filtering process
> with adjustable filter coefficients (or even without)?
>
> Thanks so much
>
> Robert
>
> ------------------------------
>
> End of IMAGEJ Digest - 8 Jul 2008 to 9 Jul 2008 (#2008-184)
> ***********************************************************
Reply | Threaded
Open this post in threaded view
|

Re: Preventing an ImageWindow from closing

dscho
Hi,

On Thu, 10 Jul 2008, Jeff Hardin wrote:

> Does anyone know how to prevent an ImageJ ImageWindow from closing? I
> currently have images being displayed to an ImageWindow, and everything
> works well, until someone inadvertently closes the window. I know how to
> deal with this in Swing, but not AWT...

AFAICT you could extend ImageWindow, overloading windowClosing() so
that it does not dispose().  Then set this newly created ImageWindow.

A much dirtier solution is to extend ImageWindow with a static method
setting your _real_ ImageWindow's 'closed' property to true.

Hth,
Dscho

P.S.: BTW you _did_ have to quote the whole unrelated digested mail,
wasting everybody's bandwidth, didn't you?