exception cannot call getImage() from Thread: AWT-EventQueue-1
Curtis Rueden
ctrueden at wisc.edu
Mon May 1 14:47:53 MDT 2006
Hi Nihat,
The code below looks good. You can add the display to a user interface with:
JFrame f = new JFrame("My Frame");
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
f.setContentPane(p);
p.add(display.getComponent(), BorderLayout.CENTER);
f.show();
Or some similar block of code.
There is no need to call getImage just to blit the image to a canvas on
screen. However, if you want to save a JPEG of the display to disk or
some such, then getImage is useful. However, you should not need to call
getImage for every frame -- just when the user clicks a "Save" button or
some such.
Also, if you are taking multiple snapshots, you only need build the
display and maps once. Then you can just call data_ref.setData(newField)
with your new data, and display.getImage() to get a new snapshot, each time.
-Curtis
ncubukcu wrote:
> Thanks Curtis
> I think I got it working now. You are right that my
> com.app.lt.CreateImage throws me an image using getImage(). I don't
> know any other way of creating an image in visad. Is there a
> shorter way to add scalar maps to an image other than what I use below? .
> .
> contMap = new ScalarMap( field, Display.IsoContour );
> colMap = new ScalarMap( longitude, Display.XAxis );
> rowMap = new ScalarMap( latitude, Display.YAxis );
> pixMap = new ScalarMap( field, Display.RGB );
> DisplayImplJ2D display = new DisplayImplJ2D(" ", 700, 500);
>
> GraphicsModeControl dispGMC = (GraphicsModeControl)
> display.getGraphicsModeControl();
> dispGMC.setScaleEnable(true);
>
> // Add maps to display
> display.addMap( colMap );
> display.addMap( rowMap );
> display.addMap( pixMap );
> display.addMap( contMap );
> // Create a data reference and set the FlatField as our data
> DataReferenceImpl data_ref = new DataReferenceImpl("data_ref");
> data_ref.setData( mapField );
> // Add reference to display
> display.addReference( data_ref ); return display.getImage();
>
> Thanks again for your help
> nihat
==============================================================================
To unsubscribe visad, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================
More information about the visad
mailing list