Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: add a uicontainer or uipanel to a JPanel
Date: Mon, 17 Sep 2007 09:46:46 +0000 (UTC)
Organization: Fugro GEOS
Lines: 73
Message-ID: <fclie6$q6i$1@fred.mathworks.com>
References: <f9fvpk$t63$1@fred.mathworks.com> <f9hcmr$dhk$1@fred.mathworks.com> <f9hibi$m7t$1@fred.mathworks.com> <f9hje3$62v$1@fred.mathworks.com> <fc9ttj$eh5$1@fred.mathworks.com> <fch8o8$ee7$1@fred.mathworks.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: webapp-05-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1190022406 26834 172.30.248.35 (17 Sep 2007 09:46:46 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Mon, 17 Sep 2007 09:46:46 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1077063
Xref: news.mathworks.com comp.soft-sys.matlab:428844



"Yair Altman" <altmanyDEL@gmailDEL.comDEL> wrote in message
<fch8o8$ee7$1@fred.mathworks.com>...
> "Bill York" <BillDotYork@MathWorks.com> wrote in message
> <fc9ttj$eh5$1@fred.mathworks.com>...
> > "Andrew Watson" <andruwatson@yahoo.co.uk> wrote in message 
> > <f9hje3$62v$1@fred.mathworks.com>...
> > > Thanks Yair,
> > > 
> > > An axis is ultimately what I wanted to add to to a JPanel
> > > but I figured that a uicontanier or uipanel in which an 
> > axis
> > > can sit might be more native to the Java environment.  
> > 
> > The short answer to the posted question is you can't do 
> > that.
> > 
> > The uicontainers and uipanels and axes, for that matter, 
> > just can't be put in arbitrary Java components. It's not 
> > that we don't want to make it possible, it's just a ton of 
> > work and other priorities keep coming up.
> > 
> > As for putting an axes in a Java container, you can use the 
> > print or imwrite commands to dump the contents of a figure 
> > into a bitmap then shove that into any Java canvas which 
> > can show a bitmap.  We've done some hackery where you take 
> > the output from imwrite and stuff it onto a JButton for 
> > example.
> > 
> > As for putting non-bitmap axes into Java containers, could 
> > you tell me more about why you want to do it?  What is the 
> > MATLAB thing you can't do without this capability?
> > 
> > Thanks,
> > 
> > Bill
> 
> 
> Thanks a lot for your comment Bill. It is sometimes
> important to place Matlab axes in Java containers, since
> Java (Swing in particular) enables richer GUI than Matlab
> enables. For example, if I need JSplitPane functionality I
> have to rely on Java, not Matlab, but then I cannot add a
> Matlab axes to either side of the split-pane, which is a
> major drawback. You'll agree with me, I hope, that
> reprogramming a JSplitPane from scratch in Matlab just to
> solve the axes issue would be a shameful waste...
> 
> Remember that Matlab axes (& children) are rich objects
> themselves, and simple imwrite falls far short of the needs
> (callbacks and online data updates are just two examples).
> 
> If only an axes could be placed within a JContainer, that
> would automatically solve all these issues, for all Swing
> components.
> 
> Yair Altman
> 

Bill,

At the time of posting I was looking for the same
functionality that Yair Altman has mentioned, that of a
JSplitPane.  It is not a trivial exercise to code one up
from scratch.  Also the results will never be as robust,
fluid or aesthetically pleasing as a JSplitPane.

Thanks for your suggestion of using imwrite or some other
such method but as Yair has pointed out, I also want to
maintain the functionality of an axis object i.e callbacks
and what not.

Andrew