<?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: Rich Client Developers: Avoid Java 6?</title>
	<atom:link href="http://stuffthathappens.com/blog/2007/10/02/rich-client-developers-avoid-java-6/feed/" rel="self" type="application/rss+xml" />
	<link>http://stuffthathappens.com/blog/2007/10/02/rich-client-developers-avoid-java-6/</link>
	<description>Technology and Geek Stuff by Eric Burke</description>
	<lastBuildDate>Thu, 04 Nov 2010 22:37:00 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: James Lemieux</title>
		<link>http://stuffthathappens.com/blog/2007/10/02/rich-client-developers-avoid-java-6/comment-page-1/#comment-261</link>
		<dc:creator>James Lemieux</dc:creator>
		<pubDate>Wed, 10 Oct 2007 08:44:24 +0000</pubDate>
		<guid isPermaLink="false">http://stuffthathappens.com/blog/2007/10/02/rich-client-developers-avoid-java-6/#comment-261</guid>
		<description>Erik,

   A quick note to say: thanks for the detailed description and analysis of your problem. I realize that this blog entry exists mostly to highlight the underlying bug in the JDK, but after some serious deliberation on our part at Glazed Lists, we&#039;ve decided to implement a work around for the problem as best we can. Here are the gory details of our &quot;best-effort&quot; workaround:

   The code has been changed so that TableComparatorChooser watches for changes in the UI delegate of the JTableHeader. When a change is detected, it attempts to re-wrap the NEW default renderer for the JTableHeader, if a new renderer has replaced the one TableComparatorChooser installed.

   BUT, the issue is that we cannot *always* coerce the WindowsTableHeaderUI into updating the default renderer of the JTableHeader. (It turns out this code in WindowsTableHeaderUI.installUI(...) will only do it when switching TO XP mode, switching to classic mode will leave our renderer in situ):

if (XPStyle.getXP() != null) {
   originalHeaderRenderer = header.getDefaultRenderer();
   if (originalHeaderRenderer instanceof UIResource) {
      header.setDefaultRenderer(new XPDefaultRenderer());
   }
}

   So, our contingency is that if the delegate renderer throws a RuntimeException, we discard it and fall back to DefaultTableCellRenderer. Blech. In this case, Table Headers won&#039;t render like the underlying UI delegate normally would, but we feel it&#039;s marginally better than an endless stream of NullPointerExceptions from WindowsTableHeaderUI$XPDefaultRenderer that destroys your application. 

   C&#039;est la vie.</description>
		<content:encoded><![CDATA[<p>Erik,</p>
<p>   A quick note to say: thanks for the detailed description and analysis of your problem. I realize that this blog entry exists mostly to highlight the underlying bug in the JDK, but after some serious deliberation on our part at Glazed Lists, we&#8217;ve decided to implement a work around for the problem as best we can. Here are the gory details of our &#8220;best-effort&#8221; workaround:</p>
<p>   The code has been changed so that TableComparatorChooser watches for changes in the UI delegate of the JTableHeader. When a change is detected, it attempts to re-wrap the NEW default renderer for the JTableHeader, if a new renderer has replaced the one TableComparatorChooser installed.</p>
<p>   BUT, the issue is that we cannot *always* coerce the WindowsTableHeaderUI into updating the default renderer of the JTableHeader. (It turns out this code in WindowsTableHeaderUI.installUI(&#8230;) will only do it when switching TO XP mode, switching to classic mode will leave our renderer in situ):</p>
<p>if (XPStyle.getXP() != null) {<br />
   originalHeaderRenderer = header.getDefaultRenderer();<br />
   if (originalHeaderRenderer instanceof UIResource) {<br />
      header.setDefaultRenderer(new XPDefaultRenderer());<br />
   }<br />
}</p>
<p>   So, our contingency is that if the delegate renderer throws a RuntimeException, we discard it and fall back to DefaultTableCellRenderer. Blech. In this case, Table Headers won&#8217;t render like the underlying UI delegate normally would, but we feel it&#8217;s marginally better than an endless stream of NullPointerExceptions from WindowsTableHeaderUI$XPDefaultRenderer that destroys your application. </p>
<p>   C&#8217;est la vie.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jane howard</title>
		<link>http://stuffthathappens.com/blog/2007/10/02/rich-client-developers-avoid-java-6/comment-page-1/#comment-153</link>
		<dc:creator>jane howard</dc:creator>
		<pubDate>Tue, 02 Oct 2007 21:36:26 +0000</pubDate>
		<guid isPermaLink="false">http://stuffthathappens.com/blog/2007/10/02/rich-client-developers-avoid-java-6/#comment-153</guid>
		<description>Why don&#039;t you post you article on Javalobby.com?
I&#039;m sure much more users than those who read your blog would like to hear
about your experience.</description>
		<content:encoded><![CDATA[<p>Why don&#8217;t you post you article on Javalobby.com?<br />
I&#8217;m sure much more users than those who read your blog would like to hear<br />
about your experience.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Burke</title>
		<link>http://stuffthathappens.com/blog/2007/10/02/rich-client-developers-avoid-java-6/comment-page-1/#comment-148</link>
		<dc:creator>Eric Burke</dc:creator>
		<pubDate>Tue, 02 Oct 2007 14:53:18 +0000</pubDate>
		<guid isPermaLink="false">http://stuffthathappens.com/blog/2007/10/02/rich-client-developers-avoid-java-6/#comment-148</guid>
		<description>@anjan make sure you vote on the bug parade. :-)</description>
		<content:encoded><![CDATA[<p>@anjan make sure you vote on the bug parade. <img src='http://stuffthathappens.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anjan bacchu</title>
		<link>http://stuffthathappens.com/blog/2007/10/02/rich-client-developers-avoid-java-6/comment-page-1/#comment-147</link>
		<dc:creator>anjan bacchu</dc:creator>
		<pubDate>Tue, 02 Oct 2007 14:37:40 +0000</pubDate>
		<guid isPermaLink="false">http://stuffthathappens.com/blog/2007/10/02/rich-client-developers-avoid-java-6/#comment-147</guid>
		<description>hi there,

  you have my vote to have this bug fixed (by sun), if that means anything.

BR,
~A</description>
		<content:encoded><![CDATA[<p>hi there,</p>
<p>  you have my vote to have this bug fixed (by sun), if that means anything.</p>
<p>BR,<br />
~A</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.227 seconds -->

