<?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 for David Qiao&#039;s Blog</title>
	<atom:link href="http://www.jidesoft.com/blog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jidesoft.com/blog</link>
	<description>Love being a Swing developer</description>
	<lastBuildDate>Tue, 24 Jan 2012 00:26:01 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on Analysing code size using JIDE TreeMap by Java desktop links of the week, January 24 &#124; Jonathan Giles</title>
		<link>http://www.jidesoft.com/blog/2012/01/18/analysing-code-size-using-jide-treemap/comment-page-1/#comment-17927</link>
		<dc:creator>Java desktop links of the week, January 24 &#124; Jonathan Giles</dc:creator>
		<pubDate>Tue, 24 Jan 2012 00:26:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.jidesoft.com/blog/?p=161#comment-17927</guid>
		<description>[...] David Qiao has posted two blog posts related to the Jide libraries. The first post is about improvements to the CellStyle feature in JIDE Grids. The second post is about analysing code using the Jide TreeMap component. [...]</description>
		<content:encoded><![CDATA[<p>[...] David Qiao has posted two blog posts related to the Jide libraries. The first post is about improvements to the CellStyle feature in JIDE Grids. The second post is about analysing code using the Jide TreeMap component. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A great enhancement to the CellStyle feature in JIDE Grids by Java desktop links of the week, January 24 &#124; Jonathan Giles</title>
		<link>http://www.jidesoft.com/blog/2012/01/17/152/comment-page-1/#comment-17926</link>
		<dc:creator>Java desktop links of the week, January 24 &#124; Jonathan Giles</dc:creator>
		<pubDate>Tue, 24 Jan 2012 00:25:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.jidesoft.com/blog/?p=152#comment-17926</guid>
		<description>[...] Qiao has posted two blog posts related to the Jide libraries. The first post is about improvements to the CellStyle feature in JIDE Grids. The second post is about analysing code using the Jide TreeMap [...]</description>
		<content:encoded><![CDATA[<p>[...] Qiao has posted two blog posts related to the Jide libraries. The first post is about improvements to the CellStyle feature in JIDE Grids. The second post is about analysing code using the Jide TreeMap [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on ExpandedTip &#8211; A must-have feature for your JTree and JList by Java desktop links of the week, November 28th &#124; Jonathan Giles</title>
		<link>http://www.jidesoft.com/blog/2011/11/23/expanded-tip/comment-page-1/#comment-17901</link>
		<dc:creator>Java desktop links of the week, November 28th &#124; Jonathan Giles</dc:creator>
		<pubDate>Sun, 27 Nov 2011 22:56:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.jidesoft.com/blog/?p=133#comment-17901</guid>
		<description>[...] JIDE Software has put out a new release of their software, taking the version numbers up to 3.3.0. One of the new features in the ExpandedTip API. [...]</description>
		<content:encoded><![CDATA[<p>[...] JIDE Software has put out a new release of their software, taking the version numbers up to 3.3.0. One of the new features in the ExpandedTip API. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Meet our first JavaFX component by Java desktop links of the week, October 24 &#124; Jonathan Giles</title>
		<link>http://www.jidesoft.com/blog/2011/10/04/meet-our-first-javafx-component/comment-page-1/#comment-17894</link>
		<dc:creator>Java desktop links of the week, October 24 &#124; Jonathan Giles</dc:creator>
		<pubDate>Mon, 24 Oct 2011 06:22:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.jidesoft.com/blog/?p=118#comment-17894</guid>
		<description>[...] Software has released a free-to-use JavaFX RangeSlider control (that is, a Slider that has two thumbs rather than one). All I can say is keep up the great work! I [...]</description>
		<content:encoded><![CDATA[<p>[...] Software has released a free-to-use JavaFX RangeSlider control (that is, a Slider that has two thumbs rather than one). All I can say is keep up the great work! I [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Meet our first JavaFX component by JavaFX links of the week, October 24 // JavaFX News, Demos and Insight // FX Experience</title>
		<link>http://www.jidesoft.com/blog/2011/10/04/meet-our-first-javafx-component/comment-page-1/#comment-17893</link>
		<dc:creator>JavaFX links of the week, October 24 // JavaFX News, Demos and Insight // FX Experience</dc:creator>
		<pubDate>Mon, 24 Oct 2011 06:22:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.jidesoft.com/blog/?p=118#comment-17893</guid>
		<description>[...] Software has released a free-to-use JavaFX RangeSlider control (that is, a Slider that has two thumbs rather than one). All I can say is keep up the great work! I [...]</description>
		<content:encoded><![CDATA[<p>[...] Software has released a free-to-use JavaFX RangeSlider control (that is, a Slider that has two thumbs rather than one). All I can say is keep up the great work! I [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What&#8217;s wrong with Apple by David Qiao</title>
		<link>http://www.jidesoft.com/blog/2009/06/16/whats-wrong-with-apple/comment-page-1/#comment-7596</link>
		<dc:creator>David Qiao</dc:creator>
		<pubDate>Thu, 18 Jun 2009 17:40:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.jidesoft.com/blog/?p=73#comment-7596</guid>
		<description>Now all classes are under com.apple.laf. What does it mean? None of L&amp;F related code are public? The only way to do the feature we want to do is to use a handful of properties? That&#039;s just not possible. After all, what is the criteria of a &quot;public API&quot;? 

As a matter of fact, I already asked some specific questions on the mailing list to make component vendor like us easier to do certai things. And the answer is no, they are not interesting supporting it. Saying that, I do understand why they don&#039;t want to support. The more public APIs, the more effort to support them later. We are in the same position as we are also component provider.

Regarding Osvaldo&#039;s idea to use wrapper, sometimes it is just not possible. For example, we have to extend AquaTableHeaderUI to support column grouping feature. Right now we still extend the one in apple.laf so that the code works on both old and new Apple JDK because the old one is just deprecated. When Apple removes all classes from apple.laf, our code will break again. I don&#039;t really know how to use reflection or wrapper to workaround this potential issue. I guess we will just have to face the consequence.</description>
		<content:encoded><![CDATA[<p>Now all classes are under com.apple.laf. What does it mean? None of L&#038;F related code are public? The only way to do the feature we want to do is to use a handful of properties? That&#8217;s just not possible. After all, what is the criteria of a &#8220;public API&#8221;? </p>
<p>As a matter of fact, I already asked some specific questions on the mailing list to make component vendor like us easier to do certai things. And the answer is no, they are not interesting supporting it. Saying that, I do understand why they don&#8217;t want to support. The more public APIs, the more effort to support them later. We are in the same position as we are also component provider.</p>
<p>Regarding Osvaldo&#8217;s idea to use wrapper, sometimes it is just not possible. For example, we have to extend AquaTableHeaderUI to support column grouping feature. Right now we still extend the one in apple.laf so that the code works on both old and new Apple JDK because the old one is just deprecated. When Apple removes all classes from apple.laf, our code will break again. I don&#8217;t really know how to use reflection or wrapper to workaround this potential issue. I guess we will just have to face the consequence.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What&#8217;s wrong with Apple by William Woody</title>
		<link>http://www.jidesoft.com/blog/2009/06/16/whats-wrong-with-apple/comment-page-1/#comment-7594</link>
		<dc:creator>William Woody</dc:creator>
		<pubDate>Thu, 18 Jun 2009 16:58:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.jidesoft.com/blog/?p=73#comment-7594</guid>
		<description>Apple noted in the release of 10.5 (back in October of 2007) that &lt;i&gt;all references to apple.laf.* are deprecated.&lt;/i&gt; (&lt;a href=&quot;http://developer.apple.com/releasenotes/Java/JavaLeopardRN/ResolvedIssues/ResolvedIssues.html&quot; rel=&quot;nofollow&quot;&gt;Source, search for &quot;4907470&quot; which is the Radar bug referring to this change&lt;/a&gt;) Thus, it was not (nor, to the best of my knowledge was ever considered) a public API.

As they noted, if there is functionality that you are not able to achieve in Java using the standard Swing UI (along with &lt;a href=&quot;http://developer.apple.com/documentation/Java/Reference/Java_PropertiesRef/Articles/JavaSystemProperties.html&quot; rel=&quot;nofollow&quot;&gt;some random property settings&lt;/a&gt; sprinkled through the code), you should file a bug at http://bugreport.apple.com, or you can also join the Java-dev mailing list at http://lists.apple.com.</description>
		<content:encoded><![CDATA[<p>Apple noted in the release of 10.5 (back in October of 2007) that <i>all references to apple.laf.* are deprecated.</i> (<a href="http://developer.apple.com/releasenotes/Java/JavaLeopardRN/ResolvedIssues/ResolvedIssues.html" rel="nofollow">Source, search for &#8220;4907470&#8243; which is the Radar bug referring to this change</a>) Thus, it was not (nor, to the best of my knowledge was ever considered) a public API.</p>
<p>As they noted, if there is functionality that you are not able to achieve in Java using the standard Swing UI (along with <a href="http://developer.apple.com/documentation/Java/Reference/Java_PropertiesRef/Articles/JavaSystemProperties.html" rel="nofollow">some random property settings</a> sprinkled through the code), you should file a bug at <a href="http://bugreport.apple.com" rel="nofollow">http://bugreport.apple.com</a>, or you can also join the Java-dev mailing list at <a href="http://lists.apple.com" rel="nofollow">http://lists.apple.com</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What&#8217;s wrong with Apple by Fabrizio Giudici</title>
		<link>http://www.jidesoft.com/blog/2009/06/16/whats-wrong-with-apple/comment-page-1/#comment-7573</link>
		<dc:creator>Fabrizio Giudici</dc:creator>
		<pubDate>Thu, 18 Jun 2009 07:21:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.jidesoft.com/blog/?p=73#comment-7573</guid>
		<description>I&#039;m sort of mid way. Osvaldo and Romain are right, you should expect troubles when you depend on private stuff. OTOH I perfectly understand that people working on L&amp;F can be forced with tweaking with internals. I know that I&#039;m depending on a couple of internal APIs of the NetBeans Platform and I&#039;m surprised that they are still working after two years and several major releases. I do expect sooner or later they will break.

But there is a specific problem with Apple. Hell, if you get the update, you loose the previous runtime (in contrast with Windows and Linux, where several runtimes can co-exist). So, troubles do happen automatically and you must react by the hour. The second problem is that everything happens without any preliminary warning. I suppose that the apple.laf trouble experienced by JIDE was not visible in the early access Apple released some time ago. In my case, I know in advance what&#039;s happening to the various APIs of NetBeans since the work is done in the open, so I can prepare myself in time.</description>
		<content:encoded><![CDATA[<p>I&#8217;m sort of mid way. Osvaldo and Romain are right, you should expect troubles when you depend on private stuff. OTOH I perfectly understand that people working on L&amp;F can be forced with tweaking with internals. I know that I&#8217;m depending on a couple of internal APIs of the NetBeans Platform and I&#8217;m surprised that they are still working after two years and several major releases. I do expect sooner or later they will break.</p>
<p>But there is a specific problem with Apple. Hell, if you get the update, you loose the previous runtime (in contrast with Windows and Linux, where several runtimes can co-exist). So, troubles do happen automatically and you must react by the hour. The second problem is that everything happens without any preliminary warning. I suppose that the apple.laf trouble experienced by JIDE was not visible in the early access Apple released some time ago. In my case, I know in advance what&#8217;s happening to the various APIs of NetBeans since the work is done in the open, so I can prepare myself in time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Slides for JavaOne 2009 by David Qiao</title>
		<link>http://www.jidesoft.com/blog/2009/06/06/slides-for-javaone-2009/comment-page-1/#comment-7571</link>
		<dc:creator>David Qiao</dc:creator>
		<pubDate>Thu, 18 Jun 2009 06:24:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.jidesoft.com/blog/?p=71#comment-7571</guid>
		<description>The cell merging on the header is a different story as the header is not a JTable. We used a new header called NestedTableHeader to achieve the cell merge feature on the header. You are right. Each L&amp;F needs to have its own subclasses which sucks. This is exactly why I mentioned in the slide that we have to face certain limitations in order to be compatible JTable etc.</description>
		<content:encoded><![CDATA[<p>The cell merging on the header is a different story as the header is not a JTable. We used a new header called NestedTableHeader to achieve the cell merge feature on the header. You are right. Each L&#038;F needs to have its own subclasses which sucks. This is exactly why I mentioned in the slide that we have to face certain limitations in order to be compatible JTable etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What&#8217;s wrong with Apple by David Qiao</title>
		<link>http://www.jidesoft.com/blog/2009/06/16/whats-wrong-with-apple/comment-page-1/#comment-7569</link>
		<dc:creator>David Qiao</dc:creator>
		<pubDate>Thu, 18 Jun 2009 06:04:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.jidesoft.com/blog/?p=73#comment-7569</guid>
		<description>AquaLookAndFeel was under apple.laf too. I would consider AquaLookAndFeel being a public API, right? The problem is everything was under the same package. How people know which one is public and which is not (even with public qualifier). Sun JDK is better because they have separate packages.

I guess my point was, even we are using non-public, non-documented API, it is not that we are not aware of what are using but because we had to. We either don&#039;t use them and leave out the features only Mac, or we use them to make our users happy but face potential future broken code. Of course we will choose the latter. It is the same deal supporting Sun JDK except Sun JDK is a lot opener than Mac&#039;s. 

Anyway, good news is that we had a urgent patch release yesterday with the help from JIDE users. JIDE seems running just fine on both old JDK and the new JDK. I am happy :-)</description>
		<content:encoded><![CDATA[<p>AquaLookAndFeel was under apple.laf too. I would consider AquaLookAndFeel being a public API, right? The problem is everything was under the same package. How people know which one is public and which is not (even with public qualifier). Sun JDK is better because they have separate packages.</p>
<p>I guess my point was, even we are using non-public, non-documented API, it is not that we are not aware of what are using but because we had to. We either don&#8217;t use them and leave out the features only Mac, or we use them to make our users happy but face potential future broken code. Of course we will choose the latter. It is the same deal supporting Sun JDK except Sun JDK is a lot opener than Mac&#8217;s. </p>
<p>Anyway, good news is that we had a urgent patch release yesterday with the help from JIDE users. JIDE seems running just fine on both old JDK and the new JDK. I am happy <img src='http://www.jidesoft.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

