Archive for 6 月, 2008

JSR296 on NetBeans その5

火曜日, 6 月 17th, 2008

今日はDesktopApplication1 クラスの main() メソッドについて調べてみます。

12

main() メソッドの中に launch() メソッドがあります。

これは、指定されたアプリケーションのインスタンスを作成し、アプリケーションコンテキストにアプリケーションプロパティを

セットして、startup() メソッドを呼びます。

ただ、これだけです。

なんか今までのSwing アプリケーションと比べるとさみしいですね。

今までだと

 public static void main(String args[]) {

        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {

                new hogeHoge().setVisible(true);

            }

        });

    }

こんな感じのコードがお約束になってましたよね。

さて、次回は main() メソッドから呼ばれた startup() メソッドを調べてみます。

 

*注意 この内容は Javadoc を元に調べたもので英語が良く解らない私が勝手に解釈した内容です     よって間違っているかもしれません。

EPSON PM-T960

月曜日, 6 月 16th, 2008

プリンターとスキャナが一体になった複合機を買った。

思ったより大きい(^^;

でも、以前よりデスクスペースは確保できた。

知らない間にプリンターって安くなってるんですね。

今じゃ昔のプリンターの価格で複合機が余裕で買えます。

私の買った機種は無線LAN機能がついているので便利です。(^^)

Windows Vista , XP , 2000 , 98 とすべてスイスイとインストールできました。

後は故障さえしなければ・・・ おっとEPSONさんに失礼かな。

このところ、PC関係にしかお金使ってない気がする(><)

JSR296 on NetBeans その4

月曜日, 6 月 16th, 2008

今日は自動生成されたファイルの内容について調べてみます。

まず、DesktopApplication1.java というファイルから調べてます。

ソースコードは以下のように生成されてます。

11

このDesktopApplication1 クラスの継承元のSingleFrameApplication について調べてみました。

java.lang.Object
 → org.jdesktop.application.AbstractBean
  → org.jdesktop.application.Application
   → org.jdesktop.application.SingleFrameApplication
以上のような継承関係になってます。
SingleFrameApplication は、一つのウィンドウを持つシンプルな GUI のためのアプリケーションベースクラスです。
コンポーネントプロパティインジェクションやセッション情報の保持をしてくれます。
セッション情報の保持とはアプリケーションのウィンドウサイズや開いていた場所を覚えてくれていて、
次回起動時に同じ場所で同じウィンドウサイズで立ち上がってくれます。
コンポーネントプロパティインジェクションとはこの JSR296 の重要な仕組みの一つです。
また Swing アプリケーションではお約束のウィンドウを閉じる場合の処理もしてくれます。
ですからコードの記述量も少なく簡素になります。
とりあえず今日は SingleFrameApplication について調べてみました。
*注意 この内容は Javadoc を元に調べたもので英語が良く解らない私が勝手に解釈した内容です。
    よって間違っているかもしれません。

JSR296 on NetBeans その3

金曜日, 6 月 13th, 2008

Javadoc は便利に利用できることができましたがソースはみることができませんでした。

そこで Java.net の Swing Application Framework プロジェクトのサイトよりソースをダウンロードします。

ダウンロードしたソースをお好みの解凍ソフトで解凍します。

次に NetBeans の 「ツールメニュー」より「ライブラリ」を選択し「ライブラリマネージャ」を出します。

下図のように Swing Application Framework を選択、ソースタブを選択、そして 「JAR/フォルダを追加」ボタンを押し、

先ほどダウンロードし、解凍したソースコードを追加します。

9

ライブラリマネージャによってソースが登録されたのでこれで見ることができるはずです。

さっそく確認してみましょう。

10

やったね(^^)

これでソースも確認できます。

JSR296 on NetBeans その2

木曜日, 6 月 12th, 2008

NetBeans を使う場合の便利な機能の一つに Javadoc をみることができます。

まず、作成されたファイルの確認をします。

4

意外にたくさんありますね。

その中から DesktopApplication1.java をダブルクリックしてソースを表示させます。

見慣れないソースコードの中から、なんだか解らないStartup() メソッドを選択してみます。

「ウィンドウ」メニューの「その他」から Javadoc ビューを選択します。

すると startup() メソッドのドキュメントが簡易表示されます。

5

6

これで startup() メソッドがどんな仕事をするのか確認できますね。

また、「ヘルプ」メニューの「Javadoc 索引検索」を選択すると詳細ドキュメントが表示されます。

7

すぐに Javadoc を調べられるので非常に便利です。

ただ、残念なことにまだ日本語のドキュメントはありません(T-T)

ソースを表示させることもできるので「ソースを表示」ボタンを押してみます。

8

あらら(^^;

ソースは無いの?

なんでだろう?

めんどうだけどソースをダウンロードして組み込まなくてはいけなそうですね。

はぁぅ。。。

JSR296 on NetBeans その1

水曜日, 6 月 11th, 2008

NetBeans IDE 6.1 には JSR295、JSR296 がデフォルトで標準搭載されてます。

とても便利な機能のひとつですね。

JSR296 はSwing アプリケーションを作るのを容易にしてくれます。

私はこれについては詳しくないのですが NetBeans の GUI ビルダーとのコラボレーションによって非常に便利です。

試しにコードを一行も書かないプロジェクトを作成しただけのものを実行してみます。

3

これは Help メニューの About… を表示させたところです。

File メニューの Exit でアプリケーションを終了できます。

これだけのことが下図のようなプロジェクトを設定するだけで自動で作成されます。

1

素晴らしい!!

GUI の構築は今まで通り、評判の良い NetBeans の GUI ビルダーで完璧ですね。

確か、JSR296 の目的は複雑な Swing アプリケーションの開発を容易にすることでした。

これは NetBeans などの統合開発環境と組み合わせてこそ実現できる機能だと個人的に思います。

とりあえず今日はここまでで、次はこの自動生成されたものについて見てみたいと思います。

久しぶりの連休(^^)

火曜日, 6 月 10th, 2008

昨日と今日は久しぶりの連休となりました。

昨日は今日が休みだということもあり、遅くまで作りかけのソフトを作ってました。

私は素人なので時間がかかるし、できのいいものは作れません。

とりあえず動けばうれしいと言うレベルです。

いつものように Java 言語を使用し、NetBeans IDE 6.1 ML 版を使って作ってみました。

今回の目的はマルチコアCPUを使ってPCを新しく自作したのでそれに有利なベンチマークソフトを作る。

NetBeans IDE 6.1 にはJDK7 で実装される予定の JSR295 JSR296 が先取りされてますので、せっかくだからそれらを使ってみました。

ベンチマークソフトと大げさに言ってますが、ただ浮動小数点計算処理を任意のスレッド数で処理させるだけです。

つまり、浮動小数点計算ユニットが多いほど有利です。(たぶん・・・)

昨日、睡魔に襲われながら適当に作ったのを下記アドレスにアップしましたので興味のある方は試してみてください。

http:/yucchi-ja.com/yucchi_nanosystems/threadBench/thread_bench.html

Swing Application Framework (JSR-296) を使っていて気がついたのですが、done() メソッドってオーバーライドできないのかな?

スーパークラスで final 指定されているって怒られる(><)

代わりに Task クラスのメソッドを使用することになるんだけど・・・

publish() メソッドと process() メソッドにて途中経過を処理させていると finished() メソッドの処理が終了したあとまでかかってしまう。

本当は Details のテキストエリアにアプリケーションの開始と終了のメッセージも表示させたかった。

どうすればいいのだろうか?

今回は見た目では解らないように対応したが細かなことだが気になる。

まだまだ勉強不足です(^^;

さて、久しぶりの連休で外は晴れてますが昨日遅くまで起きていたので、ごろごろ寝てだらだら残りの貴重な時間を過ごします。