MATLAB Answers

0

Save figure with java graphic object

Is there a way how to save a figure to a *.fig file with all included java objects? When you add a java object to a matlab figure (e.g. http://www.mathworks.com/matlabcentral/fileexchange/30403-thermometer-demo) and then you save the figure and reopen it only the matlab objects are in.

  0 Comments

Sign in to comment.

1 Answer

Answer by Malcolm Lidierth on 26 Jan 2012
 Accepted Answer

Any Java objects would needs to be fully serializable. See Saving and Loading Java Objects to MAT-Files in the MATLAB docs (note that fig files are mat files).
Swing objects all carry the following caveat in the javadoc.
Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.

  4 Comments

Show 1 older comment
A JSplitPane can be saved but not necessarily its contents. The problem components would need to be extended in Java and a custom write/readObject added or the problem properties would need to be declared as transient.
PS Early days but the next installment of Waterloo will be a 2D scientific graphics library written entirely in Java. That will allow saving (I hope) and a "pre-release" should be available in the next month or two. It is also highly interactive so axes etc can be dragged and set using the mouse and there is a MATLAB interface providing support for MATLAB style calls like line, scatter contour etc.
Thanks Malcom for reply. I'm looking forward to next waterloo-version.

Sign in to comment.