Archive for 1 月, 2008

SwingWorker その5

月曜日, 1 月 28th, 2008

SwingWorkerの処理の途中経過を随時取り出す方法について調べてみました。
詳細は下記アドレスにあります。

http://yucchi-ja.com/java/netbeans/011/2008_swing_worker2.html

SwingWorkerクラスを試すのにあたってNetBeans6.0のプロファイラでスレッドを見てみました。
プロファイラの使い方はSun Java エバンジェリストの片貝さんがブログにて紹介してくれてます。
英語が読める方にはNetBeansのサイトにチュートリアルがあります。
今回、SwingWorkerを使わずにイベントディスパッチスレッド上に長い処理を組んだ場合と
SwingWorkerを使ってワーカースレッドを使った場合を見てみました。

イベントディスパッチスレッドに長い処理を組み込んだ場合

SwingWorkerクラスを使いワーカースレッド上で長い処理をした場合

ちゃんと違いが出てますね(^^)
イベントディスパッチスレッドの状態の違いとワーカースレッドが作成され消えていくのも!
SwingWorkerが一回だけしか使えないのも確認できます。
新たなワーカースレッドが作成されてるのもよく解ります。
NetBeansのプロファイラを使いたいからNetBeansを使うという人もいるほどの非常に強力なツールです。
こういったプロファイラを駆使して素晴らしいプログラムができるんだろうなぁ。。。

Substance4.2

火曜日, 1 月 22nd, 2008

Kirill さんのブログでSubstance4.2がリリースされたことが書いてありました。
(注意 : 英語なので詳しい内容はわかりましぇん(^^;)
NetBeans6.0 用のモジュールも公開されています。

https://substance-netbeans.dev.java.net/servlets/ProjectDocumentList?folderID=8657

カラフルな環境が好きな方には必須モジュールとなるでしょう(^^)

SwingWorker その4

火曜日, 1 月 22nd, 2008

SwingWorker について調べてみたことをまとめました。
また懲りずに NetBeans6.0 を使ってSwingWorker お試しプログラムを組んだ内容をUpしました。
暇な方は見て笑ってください。

http://yucchi.ja.com/java/netbeans/010/2008_swing_worker.html

Windows DreamScene

火曜日, 1 月 22nd, 2008

今、Windows DreamScene を使ってます。
デスクトップが動画になってます。
はじめはこんなものいらないと思っていたが使ってみるといいですね。
ただ私のモニターはワイドじゃないんですよね。
黒い帯が上下に入ります。(入らなくもできる。ただ。表示が・・・)
それにVistaってワイド画面を設定して作られているようですからガジェット含めいろいろしかたないです。
ワイド液晶モニターが欲しい今日この頃です。
昨年の暮れから物欲の嵐です。(><)
ブルーレイレコーダー、ノートPC、デスクトップPCなどなど・・・
すべて買えないことはないけど我慢してます。(^^;

SunがMySQLを買収

金曜日, 1 月 18th, 2008

NetBeans6.0からMySQLのJDBCドライバが標準装備となった。
なんで今頃?と思っていたら
SunがMySQLを買収したらしい。
なるほど・・・そういうことだったのか。
私はMySQLを少しだけ使っているのでこれからどうなるのか楽しみです。

NetBeansプロジェクトに画像を取り込む

水曜日, 1 月 16th, 2008

以前のバージョンのNetBeans5.5でプロジェクトに画像などのリソースを取り込む方法が解らなかった。
適当にフォルダを作ってリソースファイルを入れていたが今頃解ったことがあった。
本当になんで今まで気がつかなかったんだろう(^^;
ラベルに画像を張り付ける場合、
ラベルを右クリックしプロパティズを選択、
icon の右端の[...] ボタンをクリック
イメージ選択ダイアログで外部イメージを選択、

イメージファイルを選択し、
プロジェクトにインポート…をクリック

インポートするイメージファイルを選択し、
ターゲットフォルダを選択、なければ新たに新規作成

これでプロジェクトにスムースにリソースファイルをインポートできる。

よくよく考えてみたらプロパティズのプロパティ、バインド、イベント、コードってあまり頻繁に使ってなかったような。。。
生成前コードや生成後コードならびにカスタマイズコードくらいかなぁ・・・
NetBeansの便利な使い方がまた一つ解った(^^)

SwingWorker その3

水曜日, 1 月 16th, 2008

この前はスクリーンショットをずらずらと並べましたが、よく考えたら Java Web Start という素晴らしいものがありますね。
とりあえず配備してみました。
JDK1.6以降のバージョンだと上手く動くと思います。

Launch IMAGE LOADER

イメージの取得先をいろいろ選べるようにすれば少しはましになるかもしれないが、SwingWorkerの基本的な機能を試すだけなのでこのようにイメージの取得先は固定されてます。
SwingWorker は、バックグランドスレッドで実行時間の長いタスクをする必要があり、その実行中または実行完了後にUIを更新する必要がある場合を想定して設計されているそうです。

長いタスクの時間ってのがどれくらいだろう?

この前紹介したチュートリアルでは30ミリ秒以上の処理はイベントディスパッチスレッド上で実行しないでSwingWorkerスレッドで実行しましょうとあります。

30ミリ秒って長いですか?(^^;

個人的には長く感じないと思うけどなぁ。。。
私のノートパソコンの処理速度はどうなるのでしょうか(><)
今の世の中、なんでも速くなければいけない時代になってきましたね。

SwingWorker その2

日曜日, 1 月 13th, 2008

今度の休みにと思っていたのですがとりあえず完成しました。

LOADボタンを押してネット上の画像をダウンロードし、縮小表示させます。
処理状況をプログレスバーで表示させます。

プログレスバーは不確定モードから確定モードへチェンジします。
ロードボタンは二度押しできないようにし、ボタンのテキストも NOW LOADING… に変更します。
キャンセルできるように CANCEL ボタンを使用可能にします。

画像がダウンロードされ縮小表示が完了したら LOAD ボタンを再度使用可能にします。
プログラム実行中にキャンセルした場合はキャンセル画面を表示します。

なんの役にも立たないプログラムですがSwingWorker の基本を勉強するにはちょうどいい感じでした。
あと今回は使用しませんでしたが処理の途中結果を随時取り出すためのトリックとして publish / process メソッドがあります。
いたれりつくせりですね。(^^)
このようなクラスがなぜJDK1.6まで標準装備されなかったかちょっと不思議です。
とりあえず完成ということで眠ることにします。zzz

SwingWorker その1

土曜日, 1 月 12th, 2008

SwingWorker の使い方を調べてます。

http://java.sun.com/developer/technicalArticles/javase/swingworker/

http://java.sun.com/docs/books/tutorial/uiswing/concurrency/worker.html

こちらのサイトを参考にしてます。
英語なのが私にとって大きな問題です。(^^;
とりあえず、あるサイトの画像をダウンロードし、縮小表示させるプログラムを作ってます。
ついでにイメージのダウンロード進捗状態をプログレスバーに表示させてみます。
さらに、おまけでキャンセルボタンもつけてみます。
プログラム自体はほぼ完成しているのですが「ついで」と「おまけ」の部分は厳密に言うと誤差(ごまかし)があります。
それが致命的な問題かどうかは別にしてど素人が作るものだから許せる範囲だろうと・・・(^^;
今度の休日には完成させたいと思ってます。