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: Sat, 15 Sep 2007 18:36:56 +0000 (UTC)
Organization: TACT Computer Systems Ltd
Lines: 55
Message-ID: <fch8o8$ee7$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>
Reply-To: <HIDDEN>
NNTP-Posting-Host: webapp-03-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1189881416 14791 172.30.248.38 (15 Sep 2007 18:36:56 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Sat, 15 Sep 2007 18:36:56 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 642467
Xref: news.mathworks.com comp.soft-sys.matlab:428668



"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