<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: NetBeans 5&#8242;s Matisse impressions</title>
	<atom:link href="http://chaoticjava.com/posts/netbeans-5s-matisse-impressions/feed/" rel="self" type="application/rss+xml" />
	<link>http://chaoticjava.com/posts/netbeans-5s-matisse-impressions/</link>
	<description>The internet, design patterns, frameworks and Java</description>
	<lastBuildDate>Sat, 05 Nov 2011 18:39:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Avah</title>
		<link>http://chaoticjava.com/posts/netbeans-5s-matisse-impressions/comment-page-1/#comment-21130</link>
		<dc:creator>Avah</dc:creator>
		<pubDate>Fri, 11 Jan 2008 06:45:52 +0000</pubDate>
		<guid isPermaLink="false">http://javachaos.crazyredpanda.com/?p=84#comment-21130</guid>
		<description>Zell: It sounds like you&#039;re trying to write code outside the scope of a class or interface. There are multiple forums and mailing lists available for beginners, and I suggest you go to them with your code example as they&#039;re very helpful. :)</description>
		<content:encoded><![CDATA[<p>Zell: It sounds like you&#8217;re trying to write code outside the scope of a class or interface. There are multiple forums and mailing lists available for beginners, and I suggest you go to them with your code example as they&#8217;re very helpful. <img src='http://chaoticjava.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zell</title>
		<link>http://chaoticjava.com/posts/netbeans-5s-matisse-impressions/comment-page-1/#comment-21104</link>
		<dc:creator>Zell</dc:creator>
		<pubDate>Fri, 11 Jan 2008 00:09:41 +0000</pubDate>
		<guid isPermaLink="false">http://javachaos.crazyredpanda.com/?p=84#comment-21104</guid>
		<description>I&#039;m new to Netbeans and java - yes a beginner - and I&#039;m trying to implement an applet source code into the IDE. I think I have finally done that bit but now a section (public void reset) of the code is giving the message that a &#039;Class or Interface is expected&#039;. Help!</description>
		<content:encoded><![CDATA[<p>I&#8217;m new to Netbeans and java &#8211; yes a beginner &#8211; and I&#8217;m trying to implement an applet source code into the IDE. I think I have finally done that bit but now a section (public void reset) of the code is giving the message that a &#8216;Class or Interface is expected&#8217;. Help!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: NetBeans 5 is out at Chaotic Java</title>
		<link>http://chaoticjava.com/posts/netbeans-5s-matisse-impressions/comment-page-1/#comment-216</link>
		<dc:creator>NetBeans 5 is out at Chaotic Java</dc:creator>
		<pubDate>Thu, 02 Feb 2006 06:19:30 +0000</pubDate>
		<guid isPermaLink="false">http://javachaos.crazyredpanda.com/?p=84#comment-216</guid>
		<description>[...] It&#8217;s just that in the last month, I&#8217;ve come to gradually see the major difference the NetBeans team have made in the new NetBeans. Matisse, Mobility, Profiler, the new Editor (which still doesn&#8217;t conquer all fields but is certainly on its way) - They all show good work and good thought for user experience, something that was lacking in NetBeans and is lacking in many IDEs today. [...]</description>
		<content:encoded><![CDATA[<p>[...] It&#8217;s just that in the last month, I&#8217;ve come to gradually see the major difference the NetBeans team have made in the new NetBeans. Matisse, Mobility, Profiler, the new Editor (which still doesn&#8217;t conquer all fields but is certainly on its way) &#8211; They all show good work and good thought for user experience, something that was lacking in NetBeans and is lacking in many IDEs today. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mobility pack in NetBeans at Chaotic Java</title>
		<link>http://chaoticjava.com/posts/netbeans-5s-matisse-impressions/comment-page-1/#comment-215</link>
		<dc:creator>Mobility pack in NetBeans at Chaotic Java</dc:creator>
		<pubDate>Wed, 01 Feb 2006 16:22:59 +0000</pubDate>
		<guid isPermaLink="false">http://javachaos.crazyredpanda.com/?p=84#comment-215</guid>
		<description>[...] Read only code Just like in Matisse, the generated code - form traversal, event and sender decisions talked about before - Are read only, preventing the developer from accidently ruining some sensitive auto-generated code. [...]</description>
		<content:encoded><![CDATA[<p>[...] Read only code Just like in Matisse, the generated code &#8211; form traversal, event and sender decisions talked about before &#8211; Are read only, preventing the developer from accidently ruining some sensitive auto-generated code. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Spreading the rumour - GroupLayout in Mustang at Chaotic Java</title>
		<link>http://chaoticjava.com/posts/netbeans-5s-matisse-impressions/comment-page-1/#comment-206</link>
		<dc:creator>Spreading the rumour - GroupLayout in Mustang at Chaotic Java</dc:creator>
		<pubDate>Wed, 25 Jan 2006 05:37:26 +0000</pubDate>
		<guid isPermaLink="false">http://javachaos.crazyredpanda.com/?p=84#comment-206</guid>
		<description>[...] I&#8217;ve said it before, there is no competition for Matisse in my opinion. But who knows? Maybe Jetbrains would add GUI refactoring..      // Used for showing and hiding user information in the comment form function ShowUtils() { document.getElementById(&quot;authorinfo&quot;).style.display = &quot;&quot;; document.getElementById(&quot;showinfo&quot;).style.display = &quot;none&quot;; document.getElementById(&quot;hideinfo&quot;).style.display = &quot;&quot;; } function HideUtils() { document.getElementById(&quot;authorinfo&quot;).style.display = &quot;none&quot;; document.getElementById(&quot;showinfo&quot;).style.display = &quot;&quot;; document.getElementById(&quot;hideinfo&quot;).style.display = &quot;none&quot;; } [...]</description>
		<content:encoded><![CDATA[<p>[...] I&#8217;ve said it before, there is no competition for Matisse in my opinion. But who knows? Maybe Jetbrains would add GUI refactoring..      // Used for showing and hiding user information in the comment form function ShowUtils() { document.getElementById(&#8220;authorinfo&#8221;).style.display = &#8220;&#8221;; document.getElementById(&#8220;showinfo&#8221;).style.display = &#8220;none&#8221;; document.getElementById(&#8220;hideinfo&#8221;).style.display = &#8220;&#8221;; } function HideUtils() { document.getElementById(&#8220;authorinfo&#8221;).style.display = &#8220;none&#8221;; document.getElementById(&#8220;showinfo&#8221;).style.display = &#8220;&#8221;; document.getElementById(&#8220;hideinfo&#8221;).style.display = &#8220;none&#8221;; } [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avah</title>
		<link>http://chaoticjava.com/posts/netbeans-5s-matisse-impressions/comment-page-1/#comment-166</link>
		<dc:creator>Avah</dc:creator>
		<pubDate>Wed, 18 Jan 2006 20:01:04 +0000</pubDate>
		<guid isPermaLink="false">http://javachaos.crazyredpanda.com/?p=84#comment-166</guid>
		<description>Glenn,

We are indeed very proud of our two screens setup. I can tell you that it helped productability too - Having the document describing the client request and design to follow on one screen and the code on the other is more helpful than can be assumed.</description>
		<content:encoded><![CDATA[<p>Glenn,</p>
<p>We are indeed very proud of our two screens setup. I can tell you that it helped productability too &#8211; Having the document describing the client request and design to follow on one screen and the code on the other is more helpful than can be assumed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn</title>
		<link>http://chaoticjava.com/posts/netbeans-5s-matisse-impressions/comment-page-1/#comment-165</link>
		<dc:creator>Glenn</dc:creator>
		<pubDate>Wed, 18 Jan 2006 19:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://javachaos.crazyredpanda.com/?p=84#comment-165</guid>
		<description>1.  Two screens - excellent point.  I gather you&#039;re stuck on one monitor with Matisse/Netbeans - no dragging windows out of frames/no &quot;make a new window on the other monitor and put these windows there&quot; option.

2.  By non phone Java I simply meant JSE and JEE (which, in fact, uses the JSE JVM).  I should have been clearer.

I am specifically excluding JME (my current project) and smaller; it appears those JVMs aren&#039;t up to snuff performance wise, although its hard to compare since there isn&#039;t that much native code on, for example, phones (plus JME uses a lot more of the native api, which further clouds the issue).  On the other hand, there is a robust market in Java games (i.e. computationally aggressive applications) for the phone - go figure.</description>
		<content:encoded><![CDATA[<p>1.  Two screens &#8211; excellent point.  I gather you&#8217;re stuck on one monitor with Matisse/Netbeans &#8211; no dragging windows out of frames/no &#8220;make a new window on the other monitor and put these windows there&#8221; option.</p>
<p>2.  By non phone Java I simply meant JSE and JEE (which, in fact, uses the JSE JVM).  I should have been clearer.</p>
<p>I am specifically excluding JME (my current project) and smaller; it appears those JVMs aren&#8217;t up to snuff performance wise, although its hard to compare since there isn&#8217;t that much native code on, for example, phones (plus JME uses a lot more of the native api, which further clouds the issue).  On the other hand, there is a robust market in Java games (i.e. computationally aggressive applications) for the phone &#8211; go figure.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avah</title>
		<link>http://chaoticjava.com/posts/netbeans-5s-matisse-impressions/comment-page-1/#comment-162</link>
		<dc:creator>Avah</dc:creator>
		<pubDate>Wed, 18 Jan 2006 19:36:09 +0000</pubDate>
		<guid isPermaLink="false">http://javachaos.crazyredpanda.com/?p=84#comment-162</guid>
		<description>Glenn,

1. You don&#039;t really &lt;i&gt;see&lt;/i&gt; the generated code. It&#039;s hidden in a collapsed box you can double click in order to really see inside it. This is similar to dotNet&#039;s #region tags, if you are familiar with them, or with the way NetBeans, Eclipse and IntelliJ are collapsing code inside code blocks (between the curly brackets). That&#039;s why it doesn&#039;t bother me much: It&#039;s there, but I don&#039;t see it.

2. At work I have two screens for development. I find it highly comfortable to drag out all the frequently used windows such as project explorer and debug windows, so that they are still always open (as opposed to un-pinned) while still getting a full screen window for my code writing. That&#039;s why I like floating windows. :)

3. I don&#039;t understand &quot;non phone java&quot;. However, I agree that your thoughts might be true. I made the IB test on my laptop, which is low on memory in general. A lot of swapping must have occured, which is likely the reason for IB running much smoother. However, it&#039;s also due to Java&#039;s framework taking up the amount of memory causing a lot of swapping, so it&#039;s not free from blame.

Thanks again for commenting!</description>
		<content:encoded><![CDATA[<p>Glenn,</p>
<p>1. You don&#8217;t really <i>see</i> the generated code. It&#8217;s hidden in a collapsed box you can double click in order to really see inside it. This is similar to dotNet&#8217;s #region tags, if you are familiar with them, or with the way NetBeans, Eclipse and IntelliJ are collapsing code inside code blocks (between the curly brackets). That&#8217;s why it doesn&#8217;t bother me much: It&#8217;s there, but I don&#8217;t see it.</p>
<p>2. At work I have two screens for development. I find it highly comfortable to drag out all the frequently used windows such as project explorer and debug windows, so that they are still always open (as opposed to un-pinned) while still getting a full screen window for my code writing. That&#8217;s why I like floating windows. <img src='http://chaoticjava.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>3. I don&#8217;t understand &#8220;non phone java&#8221;. However, I agree that your thoughts might be true. I made the IB test on my laptop, which is low on memory in general. A lot of swapping must have occured, which is likely the reason for IB running much smoother. However, it&#8217;s also due to Java&#8217;s framework taking up the amount of memory causing a lot of swapping, so it&#8217;s not free from blame.</p>
<p>Thanks again for commenting!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn</title>
		<link>http://chaoticjava.com/posts/netbeans-5s-matisse-impressions/comment-page-1/#comment-161</link>
		<dc:creator>Glenn</dc:creator>
		<pubDate>Wed, 18 Jan 2006 19:17:50 +0000</pubDate>
		<guid isPermaLink="false">http://javachaos.crazyredpanda.com/?p=84#comment-161</guid>
		<description>Avah:

0.  I haven&#039;t been playing with Matisse yet, so my questions are necessarily more general.

1.  I gather that you don&#039;t find the mix of generated and non-generated code an issue.  

Theoretically, it seems somewhat messy to have the two co-existing in the same file, plus it would seem to add needless visual clutter.  Said another way, if Matisse is separating out the layout and the logic, I submit that it should carry that through to its logical conclusion and have separate files - if developers don&#039;t have to futz with the code, they shouldn&#039;t have it in their face unless they ask for it (turn on the show-code option).

This would partly address your original point about no XML storage of the layout.  Sure its not XML, but at least its separated out, and as long as you don&#039;t see it, who cares what the format is, assuming you&#039;re sticking with Java.

In fairness to Matisse, this would seem like a V2.0 polish thing.  At least we have something now, for a change, that is functionally competitive with the leaders in this space.  

It would be slick to have the event handlers pop up from inside Matisse, as I was saying; more v2.0 polish.  Interesting that IB doesn&#039;t do this - there&#039;s polish that IB is missing.

2.  Interesting that you find floating windows easier to use than a split pane.  Is it possible to &quot;un-pin&quot; them in Netbeans and make them standalone windows/drag them out of the frame?  If not, hopefully this will be added, in general - its useful, for all windows.  Netbeans 4.1 was starting to get into this - you could collapse pretty much all of the subwindows, and if you were running in full screen mode it was almost as good as floating.  You may have even been able to drag them out of the window; memory fuzzy here, for some reason I didn&#039;t do that (window title bar too big?).  Of course this assumes the windows themselves are small and well designed.  Possibly more 2.0 polish there, too.

3.  Your speed observation is interesting.  Non phone Java, ignoring startup time and memory footprint, is claimed to be competitive with native code, roughly (particularily for non GUI), yet you aren&#039;t experiencing that.  I wonder if its a memory footprint issue (not enough actual memory/swapping - Java crawls in that case), an optimization issue with Matisse (probably, to some degree; its early after all - we have to be fair), or if Java still isn&#039;t quite there yet, at least for gui performance, at least on the Mac.  There was some talk that changing the garbage collection parameters helped with performance (stopped gc pauses, which was annoying in 4.1).

I believe Apple still hasn&#039;t turned on hardware accelerated graphics in JDK 1.5/1.4 - that would probably make a big difference.  I wonder how Matisse performs on Doze, where there is hardware accelerated graphics?  Perhaps this is more experimentation than you care to do.

4.  The cross IDE nature of Matisse is very slick.  It sounds like we have a clear winner, at long last - one of the 3 big remaining Java issues, in my opinion, is finished (the other two being multiple apps in the same JVM, JSR 121 (underway, and its taking longer than expected), and orthogonal persistence (the Java object model drives persistence; JSR 20, stillborn)</description>
		<content:encoded><![CDATA[<p>Avah:</p>
<p>0.  I haven&#8217;t been playing with Matisse yet, so my questions are necessarily more general.</p>
<p>1.  I gather that you don&#8217;t find the mix of generated and non-generated code an issue.  </p>
<p>Theoretically, it seems somewhat messy to have the two co-existing in the same file, plus it would seem to add needless visual clutter.  Said another way, if Matisse is separating out the layout and the logic, I submit that it should carry that through to its logical conclusion and have separate files &#8211; if developers don&#8217;t have to futz with the code, they shouldn&#8217;t have it in their face unless they ask for it (turn on the show-code option).</p>
<p>This would partly address your original point about no XML storage of the layout.  Sure its not XML, but at least its separated out, and as long as you don&#8217;t see it, who cares what the format is, assuming you&#8217;re sticking with Java.</p>
<p>In fairness to Matisse, this would seem like a V2.0 polish thing.  At least we have something now, for a change, that is functionally competitive with the leaders in this space.  </p>
<p>It would be slick to have the event handlers pop up from inside Matisse, as I was saying; more v2.0 polish.  Interesting that IB doesn&#8217;t do this &#8211; there&#8217;s polish that IB is missing.</p>
<p>2.  Interesting that you find floating windows easier to use than a split pane.  Is it possible to &#8220;un-pin&#8221; them in Netbeans and make them standalone windows/drag them out of the frame?  If not, hopefully this will be added, in general &#8211; its useful, for all windows.  Netbeans 4.1 was starting to get into this &#8211; you could collapse pretty much all of the subwindows, and if you were running in full screen mode it was almost as good as floating.  You may have even been able to drag them out of the window; memory fuzzy here, for some reason I didn&#8217;t do that (window title bar too big?).  Of course this assumes the windows themselves are small and well designed.  Possibly more 2.0 polish there, too.</p>
<p>3.  Your speed observation is interesting.  Non phone Java, ignoring startup time and memory footprint, is claimed to be competitive with native code, roughly (particularily for non GUI), yet you aren&#8217;t experiencing that.  I wonder if its a memory footprint issue (not enough actual memory/swapping &#8211; Java crawls in that case), an optimization issue with Matisse (probably, to some degree; its early after all &#8211; we have to be fair), or if Java still isn&#8217;t quite there yet, at least for gui performance, at least on the Mac.  There was some talk that changing the garbage collection parameters helped with performance (stopped gc pauses, which was annoying in 4.1).</p>
<p>I believe Apple still hasn&#8217;t turned on hardware accelerated graphics in JDK 1.5/1.4 &#8211; that would probably make a big difference.  I wonder how Matisse performs on Doze, where there is hardware accelerated graphics?  Perhaps this is more experimentation than you care to do.</p>
<p>4.  The cross IDE nature of Matisse is very slick.  It sounds like we have a clear winner, at long last &#8211; one of the 3 big remaining Java issues, in my opinion, is finished (the other two being multiple apps in the same JVM, JSR 121 (underway, and its taking longer than expected), and orthogonal persistence (the Java object model drives persistence; JSR 20, stillborn)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avah</title>
		<link>http://chaoticjava.com/posts/netbeans-5s-matisse-impressions/comment-page-1/#comment-131</link>
		<dc:creator>Avah</dc:creator>
		<pubDate>Tue, 17 Jan 2006 06:13:33 +0000</pubDate>
		<guid isPermaLink="false">http://javachaos.crazyredpanda.com/?p=84#comment-131</guid>
		<description>Glenn,

I can only guess that somehow you wrote your comment while I was writing mine, and so your comment actutally refers to my previous rather than the later comment. 

I will answer what&#039;s left unanswered, though:

There really isn&#039;t a flame war coming. I didn&#039;t develop any Cocoa application, only toyed with it at the time when I realised XCode was coming free with the OS. 

About having anything in IB missing in Matisse, and about the Mac&#039;s &quot;feel&quot;, I think I answered those in my comment, so I&#039;ll move on. 

Regarding to whether Matisse plays nicely on the Aqua theme, I can say that it does. Since Matisse is running over normal Swing, Apple&#039;s look and feel for Aqua takes place and it feels at home. The only thing I noticed differently was the &quot;Save&quot; dialog, not looking like a standard Aqua save dialog. I wonder if that&#039;s intentional though.

By header I actually &lt;i&gt;do&lt;/i&gt; mean the method signature. More than that - Even the closing curly bracket, ending the method, is read only. I haven&#039;t tried messing the signatures of event methods to see if they can be regenerated, but it&#039;s a nice idea. I will try that. 

Regarding the new level of inheritence, let me see if I folllow: Create a class inheriting from JFrame, place all event handling and component creation code (the auto-generated parts) there, and then inherit from it and leave the &lt;i&gt;inherited&lt;/i&gt; class for the user to mess with? 

I suppose &lt;i&gt;that&lt;/i&gt; could be done by the user - As you stated correctly, there usually isn&#039;t a need for the generated code except for event handling. Sometimes the components need accessing to in order to retrieve values, but these could also be encapsulated in a smart way in the paret-class. 

If you take a look at my &lt;a href=&quot;http://chaoticjava.com/?p=89&quot; rel=&quot;nofollow&quot;&gt;X2J example application&lt;/a&gt;, I wrote That all in Matisse, except for the two button events which needed to be hand-implemented. Obviously, a bigger application would need a lot more of external logic, one that can easily be provided with Jars or even other packages.

About &quot;show me all the events at once&quot;, I suppose that could be accomplished by just viewing your code: The form&#039;s code is nothing but the generated code (closed in some &lt;i&gt;#region&lt;/i&gt; style area), and the events.

I do appreciate the comments. They stimulate the mind, sort of speak. :)</description>
		<content:encoded><![CDATA[<p>Glenn,</p>
<p>I can only guess that somehow you wrote your comment while I was writing mine, and so your comment actutally refers to my previous rather than the later comment. </p>
<p>I will answer what&#8217;s left unanswered, though:</p>
<p>There really isn&#8217;t a flame war coming. I didn&#8217;t develop any Cocoa application, only toyed with it at the time when I realised XCode was coming free with the OS. </p>
<p>About having anything in IB missing in Matisse, and about the Mac&#8217;s &#8220;feel&#8221;, I think I answered those in my comment, so I&#8217;ll move on. </p>
<p>Regarding to whether Matisse plays nicely on the Aqua theme, I can say that it does. Since Matisse is running over normal Swing, Apple&#8217;s look and feel for Aqua takes place and it feels at home. The only thing I noticed differently was the &#8220;Save&#8221; dialog, not looking like a standard Aqua save dialog. I wonder if that&#8217;s intentional though.</p>
<p>By header I actually <i>do</i> mean the method signature. More than that &#8211; Even the closing curly bracket, ending the method, is read only. I haven&#8217;t tried messing the signatures of event methods to see if they can be regenerated, but it&#8217;s a nice idea. I will try that. </p>
<p>Regarding the new level of inheritence, let me see if I folllow: Create a class inheriting from JFrame, place all event handling and component creation code (the auto-generated parts) there, and then inherit from it and leave the <i>inherited</i> class for the user to mess with? </p>
<p>I suppose <i>that</i> could be done by the user &#8211; As you stated correctly, there usually isn&#8217;t a need for the generated code except for event handling. Sometimes the components need accessing to in order to retrieve values, but these could also be encapsulated in a smart way in the paret-class. </p>
<p>If you take a look at my <a href="http://chaoticjava.com/?p=89" rel="nofollow">X2J example application</a>, I wrote That all in Matisse, except for the two button events which needed to be hand-implemented. Obviously, a bigger application would need a lot more of external logic, one that can easily be provided with Jars or even other packages.</p>
<p>About &#8220;show me all the events at once&#8221;, I suppose that could be accomplished by just viewing your code: The form&#8217;s code is nothing but the generated code (closed in some <i>#region</i> style area), and the events.</p>
<p>I do appreciate the comments. They stimulate the mind, sort of speak. <img src='http://chaoticjava.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

