<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ゆっちのＢｌｏｇ &#187; JSR296</title>
	<atom:link href="http://yucchi-ja.com/wordpress/tag/jsr296/feed/" rel="self" type="application/rss+xml" />
	<link>http://yucchi-ja.com/wordpress</link>
	<description>☆*:･°★:*:･°　ゆっちの秘密研究所　☆*:･°★:*:･°</description>
	<lastBuildDate>Sun, 25 Mar 2012 11:07:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JSR296 on NetBeans その１７</title>
		<link>http://yucchi-ja.com/wordpress/2008/10/26/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%97/</link>
		<comments>http://yucchi-ja.com/wordpress/2008/10/26/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%97/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 22:03:00 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[JSR296]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2008/10/26/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%97/</guid>
		<description><![CDATA[今日は久しぶりにホームページの更新をしました。
ネタは、タイトルにあるとおりに NetBeans に先行搭載された Swing Application Framework です。
今回はバックグランドタスクを使う簡単なア [...]]]></description>
			<content:encoded><![CDATA[<p>今日は久しぶりにホームページの更新をしました。</p>
<p>ネタは、タイトルにあるとおりに NetBeans に先行搭載された Swing Application Framework です。</p>
<p>今回はバックグランドタスクを使う簡単なアプリケーションを作ってみました。</p>
<p>細かい所は省略して適当に作ってみました（＾＾；</p>
<p>本当に適当です（＾＾;;;</p>
<p>で、どのような物を作って試したかというと以前 SwingWorker を試したときのものと同じようなものです。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_E1D2/97.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="403" alt="97" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_E1D2/97_thumb.jpg" width="423" border="0" /></a> </p>
<p>実際の動作は Java Web Start を配備しましたので興味のある方はどうぞ。</p>
<p><a href="http://yucchi-ja.com/java/java_web_start/jsr296/launch.jnlp"><font size="5">Launch JSR296 TEST</font></a> </p>
<p><font size="2">API ドキュメントが英語なので良く解らないので本当に適当です。</font></p>
<p><font size="2">詳しくは下記に悪戦苦闘の様子が綴ってあるので暇な方はご覧ください。</font></p>
<p><font size="2">間違っていたり、なんでこんなことしてるの？ってことがあると思いますが</font></p>
<p><font size="2">優しく、猿でも解るようなアドバイスは歓迎いたします。</font></p>
<p><a href="http://yucchi-ja.com/java/netbeans/012/2008_JSR296.html" target="_blank">JSR296 on NetBeans バックグラウンドタスクを試す</a></p>
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8bc73b4b-fe7f-4255-aa61-6236cf00e392" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Hatena タグ: <a href="http://b.hatena.ne.jp/t/Java" rel="tag">Java</a>,<a href="http://b.hatena.ne.jp/t/JSR296" rel="tag">JSR296</a>,<a href="http://b.hatena.ne.jp/t/NetBeans" rel="tag">NetBeans</a></div>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2008/10/26/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%97/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSR296 on NetBeans その１６</title>
		<link>http://yucchi-ja.com/wordpress/2008/07/18/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%96/</link>
		<comments>http://yucchi-ja.com/wordpress/2008/07/18/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%96/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 15:52:00 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[JSR296]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2008/07/18/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%96/</guid>
		<description><![CDATA[前回つくった Swing アプリケーションを NetBeans に搭載された JSR296 を使用してつくってみます。
プロジェクトの設定を下図のようにします。
 
次にプロジェクトのプロパティを設定します。

 
GU [...]]]></description>
			<content:encoded><![CDATA[<p>前回つくった Swing アプリケーションを NetBeans に搭載された JSR296 を使用してつくってみます。</p>
<p>プロジェクトの設定を下図のようにします。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/64.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/64_thumb.jpg" border="0" alt="64" width="644" height="450" /></a> </p>
<p>次にプロジェクトのプロパティを設定します。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/65.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/65_thumb.jpg" border="0" alt="65" width="644" height="253" /></a></p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/66.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/66_thumb.jpg" border="0" alt="66" width="644" height="270" /></a> </p>
<p>GUI ビルダーを使用して下図のようにレイアウトします。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/67_1.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/67_thumb_1.jpg" border="0" alt="67" width="644" height="337" /></a> </p>
<p>ボタンにアクションを設定します。</p>
<p>jButton1 を右クリックして [ アクションを設定... ] をクリックします。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/68.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/68_thumb.jpg" border="0" alt="68" width="475" height="410" /></a> </p>
<p>設定ウィンドウが表示されます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/69_1.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/69_thumb_1.jpg" border="0" alt="69" width="547" height="484" /></a> </p>
<p>下図のように設定します。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/70.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/70_thumb.jpg" border="0" alt="70" width="549" height="483" /></a> </p>
<p>設定が完了するとコードエディタにジャンプします。</p>
<p>@Action アノテーションのついたメソッドが自動生成されてます。</p>
<p> </p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/71.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/71_thumb.jpg" border="0" alt="71" width="266" height="65" /></a> </p>
<p>下記のようにイベント処理を記述します。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/72.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/72_thumb.jpg" border="0" alt="72" width="488" height="77" /></a></p>
<p> </p>
<p>アクションイベントを実行するための（リソースファイルを使用して）コードが生成されます。</p>
<p> </p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/73.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/73_thumb.jpg" border="0" alt="73" width="644" height="29" /></a> </p>
<p>同じように jButton2 のアクションを設定します。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/74.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/74_thumb.jpg" border="0" alt="74" width="549" height="483" /></a> </p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/75.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/75_thumb.jpg" border="0" alt="75" width="258" height="61" /></a> </p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/76.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/76_thumb.jpg" border="0" alt="76" width="294" height="78" /></a> </p>
<p>これでアプリケーションは完成です。</p>
<p>さっそくプロジェクトを実行してみましょう。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/77.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/77_thumb.jpg" border="0" alt="77" width="451" height="347" /></a> </p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/78.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/78_thumb.jpg" border="0" alt="78" width="450" height="348" /></a> </p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/79.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/79_thumb.jpg" border="0" alt="79" width="451" height="347" /></a> </p>
<p>ちゃんとうごきました（＾＾）</p>
<p>リソースファイルの Swing_type_newView.properties ファイルを確認します。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/80.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/80_thumb.jpg" border="0" alt="80" width="572" height="224" /></a> </p>
<p>ボタンコンポーネントのテキスト、アイコン、ツールチップの情報が自動生成されてます。</p>
<p>非常に便利ですね（＾＾）</p>
<p>@Action アノテーションによってメソッド名をキーにこれらのリソースファイルにアクセスできるわけです。</p>
<p>今更ですがアノテーションによって Java 言語は便利になったと思う。</p>
<p>さて、JSR296 を使用しない普通の Swing アプリケーションのイベント処理コードをもう一度みてみましょう。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/81.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/81_thumb.jpg" border="0" alt="81" width="644" height="95" /></a></p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/82_1.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_6B5D/82_thumb_1.jpg" border="0" alt="82" width="582" height="76" /></a> </p>
<p>さて、どちらがいいでしょうか？</p>
<p>個人的には NetBeans のような強力な GUI ビルダーを搭載している統合開発環境を使うのであれば</p>
<p>どちらでもいいような気がします。</p>
<p>メニューバーやらステータスバー、プログレスバーなどをはじめ、いたれりつくせりなんだけど・・・</p>
<p>じゃあ、JSR296 の魅力って大したことないのだろうか？</p>
<p>もう少し、調べてみたほうがいいようです。</p>
<p>ボタンに使用しているアイコンは NetBeans 日本語コミュニティのマスコットです。</p>
<p><a href="http://ja.netbeans.org/nekobean">http://ja.netbeans.org/nekobean</a></p>
<p>作者はカネウチカズコさんです。</p>
<p><a href="http://blog.cgfm.jp/mutsuki/">http://blog.cgfm.jp/mutsuki/</a></p>
<p>とても可愛いキャラクターで人気者です。</p>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2008/07/18/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%96/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSR296 on NetBeans その１５</title>
		<link>http://yucchi-ja.com/wordpress/2008/07/16/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%95/</link>
		<comments>http://yucchi-ja.com/wordpress/2008/07/16/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%95/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 12:43:00 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[JSR296]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2008/07/16/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%95/</guid>
		<description><![CDATA[NetBeans を使って簡単な Swing アプリケーションをつくってみます。
まず、今までの普通の Swing アプリケーションをつくります。
テキストエリアとボタンが二つだけのシンプルなもので、
[ Plz Cli [...]]]></description>
			<content:encoded><![CDATA[<p>NetBeans を使って簡単な Swing アプリケーションをつくってみます。</p>
<p>まず、今までの普通の Swing アプリケーションをつくります。</p>
<p>テキストエリアとボタンが二つだけのシンプルなもので、</p>
<p>[ Plz Click me! ] ボタンが押されたらテキストエリアに文字を追加する。</p>
<p>[ Clear ] ボタンが押されたらテキストエリアをクリアするというものです。</p>
<p>NetBeans の GUI ビルダーを使用して簡単に作成できます。</p>
<p>コードは下記のようになります。(GUI の自動生成部分は折りたたんで非表示になってます）</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_5DD1/61.jpg" target="_blank"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_5DD1/61_thumb.jpg" border="0" alt="" width="326" height="484" /></a> </p>
<p>プロジェクトを実行すると下図のように動きます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_5DD1/62.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_5DD1/62_thumb.jpg" border="0" alt="62" width="468" height="379" /></a></p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_5DD1/63.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_5DD1/63_thumb.jpg" border="0" alt="63" width="468" height="381" /></a> </p>
<p>簡単に作成できました。</p>
<p>ボタンに使用しているアイコンは NetBeans 日本語コミュニティのマスコットです。</p>
<p><a href="http://ja.netbeans.org/nekobean">http://ja.netbeans.org/nekobean</a></p>
<p>作者はカネウチカズコさんです。</p>
<p><a title="http://blog.cgfm.jp/mutsuki/" href="http://blog.cgfm.jp/mutsuki/">http://blog.cgfm.jp/mutsuki/</a></p>
<p>とても可愛いキャラクターで人気者です。</p>
<p>さて、これを NetBeans に先行導入された JSR296 を使用してつくったらどうなるのか？</p>
<p>それは、また今度（＾＾； 試してみます。</p>
<p>おそらく簡単にできます。</p>
<p>いや、間違いなく簡単にできます。</p>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2008/07/16/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSR296 on NetBeans その１４</title>
		<link>http://yucchi-ja.com/wordpress/2008/07/07/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%94/</link>
		<comments>http://yucchi-ja.com/wordpress/2008/07/07/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%94/#comments</comments>
		<pubDate>Sun, 06 Jul 2008 15:49:00 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[JSR296]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2008/07/07/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%94/</guid>
		<description><![CDATA[DesktopApplication1AboutBox の JButton についてさらに調べてみます。
今回は NetBeans と言えば GUI 操作で簡単に開発できるというところに焦点を当てて見てみます。
まず、J [...]]]></description>
			<content:encoded><![CDATA[<p>DesktopApplication1AboutBox の JButton についてさらに調べてみます。</p>
<p>今回は NetBeans と言えば GUI 操作で簡単に開発できるというところに焦点を当てて見てみます。</p>
<p>まず、JButton のプロパティを表示させます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/45.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/45_thumb.jpg" border="0" alt="45" width="475" height="243" /></a> </p>
<p>text に Close が設定されてます。</p>
<p>右端の [...] ボタンを押します。</p>
<p>下図のように Close! と変更してみます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/46.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/46_thumb.jpg" border="0" alt="46" width="621" height="343" /></a> </p>
<p>予想通りの結果です。</p>
<p>ボタンのテキストが Close! と変わってます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/47.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/47_thumb.jpg" border="0" alt="47" width="482" height="191" /></a> </p>
<p>リソースファイルの DesktopApplication1AboutBox.properties ファイルを見てみましょう。</p>
<p>ファイルの最後に下記のコードが追加されました。</p>
<p>うーん・・・ ちょっと変。</p>
<p>変更前はこんなの無かった・・・</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/48.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/48_thumb.jpg" border="0" alt="48" width="209" height="24" /></a> </p>
<p>text プロパティを元に戻し、action を見てみよう。</p>
<p>CloseAboutBox となってます。</p>
<p>また右端の [...] ボタンを押します。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/49.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/49_thumb.jpg" border="0" alt="49" width="480" height="220" /></a> </p>
<p>今まで見たことのないものが出てきました。</p>
<p>ヘルプがあるので詳しくはそれを参照してください。</p>
<p>そのヘルプによるとビジュアルコンポーネントのアクションを表すのに使用するテキストを</p>
<p>属性の基本タブ、テキスト欄に記入すればいいらしい。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/50.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/50_thumb.jpg" border="0" alt="50" width="548" height="485" /></a> </p>
<p>下図のように Close!! と変更してみた。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/51.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/51_thumb.jpg" border="0" alt="51" width="416" height="97" /></a> </p>
<p>おや！ text のプロパティ値が Close!! に変わってる。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/52.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/52_thumb.jpg" border="0" alt="52" width="479" height="220" /></a> </p>
<p>こちらも予想通りに Close!! に変わってます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/53.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/53_thumb.jpg" border="0" alt="53" width="486" height="193" /></a> </p>
<p>DesktopApplication1AboutBox.properties ファイルも Close!! に変更されてます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/54.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_A2DA/54_thumb.jpg" border="0" alt="54" width="290" height="23" /></a> </p>
<p>どうやら action プロパティの設定画面で設定するのがいいようですね。</p>
<p>とりあえず、ざーっと調べてみたので簡単なプログラムを組んで試してみよう。</p>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2008/07/07/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%94/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSR296 on NetBeans その１３</title>
		<link>http://yucchi-ja.com/wordpress/2008/07/06/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%93/</link>
		<comments>http://yucchi-ja.com/wordpress/2008/07/06/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%93/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 17:40:00 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[JSR296]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2008/07/06/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%93/</guid>
		<description><![CDATA[今日はイベントを発生させることのできるコンポーネントについて調べてみます。
DesktopApplication1AboutBox クラスの JButton についてみてみます。
まず、どういうふうに JButton を [...]]]></description>
			<content:encoded><![CDATA[<p>今日はイベントを発生させることのできるコンポーネントについて調べてみます。</p>
<p>DesktopApplication1AboutBox クラスの JButton についてみてみます。</p>
<p>まず、どういうふうに JButton を生成しているのか見てみましょう。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_9A42/42.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_9A42/42_thumb.jpg" border="0" alt="42" width="398" height="60" /></a> </p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_9A42/43.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_9A42/43_thumb.jpg" border="0" alt="43" width="644" height="28" /></a> </p>
<p>そして、アクションの定義は</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_9A42/41.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_9A42/41_thumb.jpg" border="0" alt="41" width="366" height="60" /></a> </p>
<p>リソースファイルの DesktopApplication1AboutBox.properties ファイルは</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_9A42/44.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_9A42/44_thumb.jpg" border="0" alt="44" width="281" height="21" /></a> </p>
<p>となってます。</p>
<p>アクションの定義が非常にシンプルになってますね。</p>
<p>今までのスウィングアプリケーションとはまるで違います。</p>
<p>下記のコードがこの仕組みの鍵となってます。</p>
<p>javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(desktopapplication1.DesktopApplication1.class).getContext().getActionMap(DesktopApplication1AboutBox.class, this);</p>
<p>closeButton.setAction(actionMap.get(&#8220;closeAboutBox&#8221;)); // NOI18N</p>
<p>closeButton.setName(&#8220;closeButton&#8221;); // NOI18N</p>
<p>javax.swing.ActionMap actionMap を取得してます。</p>
<p>これはこの前の org.jdesktop.application.ResourceMap resourceMap の取得と同じ考え方です。</p>
<p>ApplicationContext インスタンスの参照を取得します。</p>
<p>actionMap には @Action が付いたメソッドがメソッド名をキーとして保持されます。</p>
<p>よって、closeButton.setAction(actionMap.get(&#8220;closeAboutBox&#8221;));</p>
<p>これで、</p>
<p>@Action public void closeAboutBox() {</p>
<p>    setVisible(false);</p>
<p>}</p>
<p>と関係が結びつく訳ですね。</p>
<p>org.jdesktop.application.ResourceMap か javax.swing.ActionMap actionMap の違いと @Action メソッドの</p>
<p>関連付けが有るか無いかの違いだけのようです。</p>
<p>今日はここまでにして次は GUI 操作でちょこっといじってみたいと思います。</p>
<p>そう、私は気になることは試して壊してしまうタイプなのです。（＞＜）</p>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2008/07/06/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%93/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSR296 on NetBeans その１２</title>
		<link>http://yucchi-ja.com/wordpress/2008/06/30/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%92/</link>
		<comments>http://yucchi-ja.com/wordpress/2008/06/30/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%92/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 04:20:00 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[JSR296]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2008/06/30/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%92/</guid>
		<description><![CDATA[今日は JSR296 のリソースファイルを利用した仕組みについて調べてみます。
DesktopApplication1AboutBox クラスを参考にします。
initComponents() メソッドの処理の中に見慣れ [...]]]></description>
			<content:encoded><![CDATA[<p>今日は JSR296 のリソースファイルを利用した仕組みについて調べてみます。</p>
<p>DesktopApplication1AboutBox クラスを参考にします。</p>
<p>initComponents() メソッドの処理の中に見慣れないコードがあったのを覚えているでしょうか？</p>
<p>まず、JDialog のタイトルを見ましょう。</p>
<p>org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(desktopapplication1.DesktopApplication1.class).getContext().getResourceMap(DesktopApplication1AboutBox.class);<br />
setTitle(resourceMap.getString(&#8220;title&#8221;)); // NOI18N<br />
setModal(true);<br />
setName(&#8220;aboutBox&#8221;); // NOI18N</p>
<p>この見慣れないコードによってリソースファイルの情報を取得してアプリケーションにセットしてます。</p>
<p>最初の３行で org.jdesktop.application.ResourceMap resourceMap にリソースファイルの情報を取り込んでます。</p>
<p>desktopapplication1.DesktopApplication1.class のインスタンス、コンテキストを取得し、</p>
<p>getResourceMap() メソッドの引数で指定されている DesktopApplication1AboutBox.class のリソースファイル</p>
<p>つまり、DesktopApplication1AboutBox.properties ファイルが使用されるということですね。</p>
<p>４行目の</p>
<p>setTitle(resourceMap.getString(&#8220;<span style="color: #8000ff;">title</span>&#8220;)); // NOI18N</p>
<p>によって DesktopApplication1AboutBox.properties の</p>
<p><span style="color: #8000ff;">title</span> = About: ${Application.title} ${Application.version}</p>
<p>でタイトルが設定されるようです。</p>
<p>${<span style="color: #ff0000;">Application.title</span>} ${<span style="color: #0000ff;">Application.version</span>} この二つはDesktopApplication1.properties の４行目と５行目にある</p>
<p><span style="color: #ff0000;">Application.title</span> = +++ ** Basic Application Example ** +++</p>
<p><span style="color: #0000ff;">Application.version</span> = 1.012345</p>
<p>です。</p>
<p>なんでこんなになっているんでしょうか？</p>
<p>リソースファイルを全てクラスごとに分けてもいいんでしょうが、アプリケーション全体で共有できるものはしたほうがいい。</p>
<p>たぶん、きっとそういう考えからだと思う。</p>
<p>その他のラベルも同じ仕組みになってます。</p>
<p>ソースを見れば一目瞭然です。</p>
<p>この DesktopApplication1AboutBox クラスは NetBeans によって自動生成されたものでしたね。</p>
<p>ちょっとラベルのプロパティを覗いてみましょう。</p>
<p>appTitleLabel を見てみます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_127C7/33.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_127C7/33_thumb.jpg" border="0" alt="33" width="629" height="483" /></a> </p>
<p>Swing Application Framework のリソースインジェクションを使用するために、</p>
<p>リソースとして定義のチェックボックスにチェックを入れてありますね。</p>
<p>ローカライズ機能を使用するために、ローカライズ版にもチェックが入ってます。</p>
<p>ここで注目なのがスコープの設定がアプリケーションになっているということです。</p>
<p>キーに先ほど出てきた DesktopApplication1.properties ファイルの <span style="color: #ff0000;">Application.title</span> が設定されてます。</p>
<p>値はそれに設定した +++ ** Basic Application Example ** +++ が入ってます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_127C7/34_2.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_127C7/34_thumb.jpg" border="0" alt="34" width="621" height="438" /></a> </p>
<p>これは自動生成されたものですが、自分で作ったラベルにももちろん設定できます。</p>
<p>こういった設定が GUI 操作でできるのはうれしいです（＾＾）</p>
<p>さすが NetBeans と褒めておこう！</p>
<p>ちなみに？マークのヘルプがあるので表示させてみる。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_127C7/35.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_127C7/35_thumb.jpg" border="0" alt="35" width="621" height="438" /></a> </p>
<p>ここではリソースファイルと言わずにプロパティファイルと言ってますね。</p>
<p>そのプロパティファイルの値をアプリケーションリソースと呼んでます。</p>
<p>そう言われてみればそうなんですが、ここで言うプロパティファイルは一般的にはリソースファイルでも通じますよね？</p>
<p>なんだか細かなことだが気になります。</p>
<p>とりあえず今日は、イベントを発生させることができないラベルについて調べてみました。</p>
<p>面白い仕組みになってます（＾＾）</p>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2008/06/30/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%92/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSR296 on NetBeans その１１</title>
		<link>http://yucchi-ja.com/wordpress/2008/06/26/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%91/</link>
		<comments>http://yucchi-ja.com/wordpress/2008/06/26/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%91/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 16:24:00 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[JSR296]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2008/06/26/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%91/</guid>
		<description><![CDATA[今日はプロジェクトのプロパティを設定します。
アプリケーションのプロパティを見てみます。

このように自動生成されてます。
次に
デスクトップアプリケーションを見てみましょう。
説明に共通アプリケーションを補う Swin [...]]]></description>
			<content:encoded><![CDATA[<p>今日はプロジェクトのプロパティを設定します。</p>
<p>アプリケーションのプロパティを見てみます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/24_2.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/24_thumb.jpg" border="0" alt="24" width="654" height="264" /></a></p>
<p>このように自動生成されてます。</p>
<p>次に</p>
<p>デスクトップアプリケーションを見てみましょう。</p>
<p>説明に共通アプリケーションを補う Swing Application Framework 固有のプロパティとあります。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/25_2.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/25_thumb.jpg" border="0" alt="25" width="604" height="244" /></a></p>
<p>これも上記のように自動生成されてます。</p>
<p>これらって、何処かで見たような記憶がありますね。</p>
<p>面白いことにこれらの設定は Swing Application Framework のリソースファイルに反映されるようです。</p>
<p>そう、Help メニューのAbout&#8230; ポップアップする JDialog の表示内容です。</p>
<p>試しに設定を下記のように変更してみます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/26_2.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/26_thumb.jpg" border="0" alt="26" width="644" height="247" /></a></p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/27_2.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/27_thumb.jpg" border="0" alt="27" width="644" height="262" /></a></p>
<p>それでは、アプリケーションを実行してみましょう。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/28.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/28_thumb.jpg" border="0" alt="28" width="644" height="358" /></a></p>
<p>おお！ 予想通りの結果ですね。</p>
<p>リソースファイルの DesktopApplication1.properties ファイルも変更されてます。</p>
<p>ここで天の邪鬼な私としては、リソースファイルの DesktopApplication1.properties ファイルを変更したらどうなる？</p>
<p>もちろん、試してみました。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/29.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/29_thumb.jpg" border="0" alt="29" width="644" height="207" /></a> </p>
<p>上記のように設定を変更し、アプリケーションを実行してみます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/30_2.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/30_thumb.jpg" border="0" alt="30" width="493" height="218" /></a></p>
<p>やはり、想像通りの結果となりました。</p>
<p>プロジェクトのプロパティの設定も確認してみます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/31_2.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/31_thumb.jpg" border="0" alt="31" width="644" height="246" /></a></p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/32_2.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_FAC0/32_thumb.jpg" border="0" alt="32" width="644" height="246" /></a></p>
<p>あれれ？</p>
<p>アプリケーションの設定は変更されてないですね。</p>
<p>デスクトップアプリケーションはリソースファイルでの変更が反映されてるのに・・・</p>
<p>まぁ、こういう仕様なんだと思って深く追求しないことにしときます。（追求する力が無いというのが正解）</p>
<p>とりあえず、リソースファイルの情報をなんらかの手段によってアプリケーションに反映させていることだけは確認できました。</p>
<p>今日はここまでってことで（＾＾；</p>
<p>このトリックがどうなってるのか楽しみですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2008/06/26/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%91/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSR296 on NetBeans その１０</title>
		<link>http://yucchi-ja.com/wordpress/2008/06/25/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%90/</link>
		<comments>http://yucchi-ja.com/wordpress/2008/06/25/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%90/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 15:36:00 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[JSR296]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2008/06/25/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%90/</guid>
		<description><![CDATA[今日は DesktopApplication1AboutBox クラスをみてみます。

ぱっと見は普通の JDialog のようですが・・・
また見慣れないコードがあります。

それに initComponents()  [...]]]></description>
			<content:encoded><![CDATA[<p>今日は DesktopApplication1AboutBox クラスをみてみます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_111D1/18.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_111D1/18_thumb.jpg" border="0" alt="18" width="454" height="470" /></a></p>
<p>ぱっと見は普通の JDialog のようですが・・・</p>
<p>また見慣れないコードがあります。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_111D1/19.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_111D1/19_thumb.jpg" border="0" alt="19" width="354" height="59" /></a></p>
<p>それに initComponents() の処理のところにこんなのも</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_111D1/20.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_111D1/20_thumb.jpg" border="0" alt="20" width="654" height="29" /></a></p>
<p>いったいこの怪しいコードで何がおこなわれているのでしょうか？</p>
<p>プロジェクトツリーの desktopapplication1.resources の中にある</p>
<p>DesktopApplication1 properties</p>
<p>DesktopApplication1AboutBox properties</p>
<p>DesktopApplication1View properties</p>
<p>この三つのプロパティファイルが JSR296 の鍵になるはずだから</p>
<p>見慣れない怪しいコードはこれらが深く関わっていると思う。</p>
<p>とりあえず、このプロパティファイルをちょっと見てみましょう。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_111D1/21.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_111D1/21_thumb.jpg" border="0" alt="21" width="604" height="192" /></a></p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_111D1/22.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_111D1/22_thumb.jpg" border="0" alt="22" width="484" height="478" /></a></p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_111D1/23.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_111D1/23_thumb.jpg" border="0" alt="23" width="444" height="274" /></a></p>
<p>キーとバリューの関係のようですね。</p>
<p>おそらく、JSR296 ではこれらのリソースファイル（プロパティファイル）を積極的に使用するのでしょうか。</p>
<p>適当に変更して変化を見てみるのも面白そうですが今回はここまでにします。</p>
<p>とりあえず、プロジェクトのプロパティの設定もしてないのでそれをしてからいろいろ遊んでみようと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2008/06/25/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%91%ef%bc%90/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSR296 on NetBeans その９</title>
		<link>http://yucchi-ja.com/wordpress/2008/06/23/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%99/</link>
		<comments>http://yucchi-ja.com/wordpress/2008/06/23/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%99/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 23:15:00 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[JSR296]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2008/06/23/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%99/</guid>
		<description><![CDATA[DesktopApplication1View クラスを調べてみます。

このクラスは DesktopApplication1 クラスの startup() メソッドにある show() メソッドに渡されます。
GUI  [...]]]></description>
			<content:encoded><![CDATA[<p>DesktopApplication1View クラスを調べてみます。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_BF89/16.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_BF89/16_thumb.jpg" border="0" alt="16" width="404" height="474" /></a></p>
<p>このクラスは DesktopApplication1 クラスの startup() メソッドにある show() メソッドに渡されます。</p>
<p>GUI の初期化などをしています。</p>
<p>継承元の FrameView クラスをみてみます。</p>
<pre>java.lang.Object
  → org.jdesktop.application.AbstractBean
      → org.jdesktop.application.View
          → org.jdesktop.application.FrameView</pre>
<pre>上記のような継承関係になってます。</pre>
<pre>rameView クラスのドキュメントがないのでとりあえずソースを見てみます。</pre>
<pre><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_BF89/17.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_BF89/17_thumb.jpg" border="0" alt="17" width="404" height="482" /></a></pre>
<pre>getFrame()メソッドに何やら怪しい方法で JFrame のタイトルを取得して生成しているようです。</pre>
<pre>このようなコードは JSR296 を使う上ではよく見ることになるでしょう。</pre>
<pre>リソースファイルにアクセスして指定したコンポーネントのプロパティを取得し、それらを使用するのが</pre>
<pre>JSR296 の必須テクノロジーのようです。</pre>
<pre>とりあえず今は何かな？と思うだけでさらりと流しましょう。</pre>
<pre>FrameView クラスは JFrame を作るためのクラスのようなものですね。</pre>
<pre>しかし、FrameView クラスは JFrame クラスを継承せずに View クラスを継承してます。</pre>
<pre>よって、menu bar, tool bar, component,status bar が View クラスによって作成されます。</pre>
<pre>これもソースを見れば BorderLayout で配置されているのが確認できます。</pre>
<pre>あとこの DesktopApplication1View クラスを見ると</pre>
<p>helpMenu.setText(resourceMap.getString(&#8220;helpMenu.text&#8221;)); // NOI18N<br />
helpMenu.setName(&#8220;helpMenu&#8221;); // NOI18N</p>
<p>とか、</p>
<p>ResourceMap resourceMap = getResourceMap();<br />
int messageTimeout = resourceMap.getInteger(&#8220;StatusBar.messageTimeout&#8221;);</p>
<p>のような感じのコードとか、</p>
<pre>@Action

などがあります。</pre>
<pre>それ以外のコードは今までと変わりないので問題ないですね。</pre>
<pre>上記のコードがいったい何なのか楽しみですね（＾＾）</pre>
<pre><span style="color: #ff0000;">＊注意　この内容は Javadoc を元に調べたもので英語が良く解らない私が勝手に解釈した内容です。</span></pre>
<pre><span style="color: #ff0000;">　　　　よって間違っているかもしれません。</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2008/06/23/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%99/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSR296 on NetBeans その８</title>
		<link>http://yucchi-ja.com/wordpress/2008/06/20/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%98/</link>
		<comments>http://yucchi-ja.com/wordpress/2008/06/20/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%98/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 04:15:00 +0000</pubDate>
		<dc:creator>Yucchi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[JSR296]]></category>

		<guid isPermaLink="false">http://yucchi-ja.com/wordpress/2008/06/20/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%98/</guid>
		<description><![CDATA[DesktopApplication1 クラス最後のメソッドを調べてみます。
getApplication() メソッドです。
メソッド名からただのゲッタのようですね。

DesktopApplication1 クラスの [...]]]></description>
			<content:encoded><![CDATA[<p>DesktopApplication1 クラス最後のメソッドを調べてみます。</p>
<p>getApplication() メソッドです。</p>
<p>メソッド名からただのゲッタのようですね。</p>
<p><a href="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_ADB9/15.jpg" target="_blank"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://yucchi.or.tv/blog_mt/WindowsLiveWriter/JSR296onNetBeans_ADB9/15_thumb.jpg" border="0" alt="15" width="454" height="113" /></a></p>
<p>DesktopApplication1 クラスのインスタンスを返すだけのようです。</p>
<p>これで自動生成された DesktopApplication1 クラスを一通りみたわけですが今までの Swing アプリケーションとは</p>
<p>ずいぶん違ってきてますね。</p>
<p>次は DesktopApplication1View クラスについてみることにします。</p>
<p> </p>
<pre><span style="color: #ff0000;">＊注意　この内容は Javadoc を元に調べたもので英語が良く解らない私が勝手に解釈した内容です。</span></pre>
<pre><span style="color: #ff0000;">　　　　よって間違っているかもしれません。</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://yucchi-ja.com/wordpress/2008/06/20/jsr296-on-netbeans-%e3%81%9d%e3%81%ae%ef%bc%98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

