I have never done this so hopefully somebody will give you a better suggestion but  Display2d (and cognates) is a JComponent so you should be able to attach the portrayal to the display2d, feed a BufferedImage's graphics object to the display2d paint(g) method and get a fixed image out of it. Something like this:

You'd probably have to listen to resize events to redraw the image and so on, but it may be what you are looking for.

Portrayals have their own draw(g,x,y) method so there might be a faster, direct way of painting images from them but I am not really sure what the DrawInfo2D argument would look like.

Good luck.

On Tue, Sep 8, 2015 at 9:26 AM Tschanen Miriam <[log in to unmask]> wrote:
Hi all,

A while ago I mentioned that I was trying to display static JUNG graphs with a MASON portrayal class. The display is working very well at the moment (in no small part due to the help I received), but constantly redrawing the graph is putting a heavy load on my system. If I remember correctly, Sean suggested caching the graph as an image and redrawing that instead, since the underlying data never changes. This should give me a nice boost in performance.

I was hoping someone could give me a few pointers on how to actually do that. There's a tutorial about displaying an image in a portrayal in the MASON How-Tos (https://cs.gmu.edu/~eclab/projects/mason/docs/howto.html#display2d), but I can't figure out how to store my graph as an image in the first place. There must be a way to rewire the output of my portrayal class to draw directly into the image. Any help would be much appreciated.

Miriam Tschanen