<< 6月 2006 | Home | 8月 2006 >>

Java 6.0 のタスクトレイサポート - Mac では?

Java 6.0 - Mustang では Windows のタスクトレイ制御をサポートするクラスが追加されているらしい。
わんこ日記 - What's cool in AWT on Java SE 6 (Mustang)

API はこちら。
Class SystemTray

先日 PowerPC 向けにも Java 6.0 の Developer Preview が出たので Mac OS X でサポートされるのか確認してみた。
サンプルコードは API リファレンスに載っているので簡単。
できる限りシンプルに書いてみたコードはこんな感じ。

public class SystemTrayTest {
public static void main(String[] args) throws Exception {
java.awt.SystemTray tray = java.awt.SystemTray.getSystemTray();
if(tray.isSupported()){
java.awt.TrayIcon trayIcon = new java.awt.TrayIcon(new javax.swing.ImageIcon(SystemTrayTest.class.getResource("images/samurai64.gif")).getImage());
java.awt.PopupMenu popup = new java.awt.PopupMenu();
popup.add("menu1");
popup.add("menu2");
trayIcon.setPopupMenu(popup);
tray.add(trayIcon);
Thread.sleep(100000);
}
}
}



試してみたらちゃんとサポートされているみたい。Dockに表示されるかと思ったけどメニューバーに表示された。

メニューバーに表示されたアイコン。

アイコンが大きすぎてはみ出してしまったけど、
Icon#setImageAutoSize(true);
でフィットしてくれるみたい。
public class SystemTrayTest {
public static void main(String[] args) throws Exception {
java.awt.SystemTray tray = java.awt.SystemTray.getSystemTray();
if(tray.isSupported()){
java.awt.TrayIcon trayIcon = new java.awt.TrayIcon(new javax.swing.ImageIcon(SystemTrayTest.class.getResource("images/samurai64.gif")).getImage());
trayIcon.setImageAutoSize(true);
java.awt.PopupMenu popup = new java.awt.PopupMenu();
popup.add("menu1");
popup.add("menu2");
trayIcon.setPopupMenu(popup);
tray.add(trayIcon);
Thread.sleep(100000);
}
}
}


ちゃんと収まったアイコン。

Windows だとカラフルなアイコンがタスクトレイに並ぶのが当たり前だけど、Mac OS X で違和感なく納めるにはモノクロのアイコンを用意しておいた方がよさそう。
Mac かどうかの判定はこんな感じ。
  public final static boolean mac = -1 != System.getProperty("os.name").toLowerCase().indexOf("mac");
public static boolean isMac(){
return mac;
}


SystemTray.isSupported() で仮想マシンがシステムトレイをサポートしているか調べることが出来ますが、Java6.0 以前では isSupported() メソッドを呼び出す前に NoClassDefFoundError が発生してしまいます。
Java 6.0 以前でも動作させる可能性のあるプログラムでは NoClassDefFoundError を防ぐため、SystemTray クラスが存在するか確認してから、SystemTray クラスを操作するクラスを呼び出すような工夫が必要です。
こんな感じ↓
public class SystemTrayTest1 {
public static void main(String args[])throws Exception{
try {
Class.forName("java.awt.SystemTray");
SystemTrayTest.main(args);
} catch (ClassNotFoundException ex) {
// do nothing
}
}
}

タグ :
このエントリーをはてなブックマークに追加   

M:i:III

を観た。
http://www.mi-3.jp/

2のバイクで正面衝突するような意味不明なシーンはないけどやはり1にはかなわない感じ。

ステディカムやスローモーションを駆使してとことん洗練されたカメラワークばかりだった2とはうって変わって、臨場感を出すためか手持ちカメラで激しくぶれるシーンが多かった。ちょっとくたびれる。
終盤イーサンが川べりをダッシュするのを反対岸から追いかけて撮っているシーンは圧巻!
一体どれくらいレールを敷いたのか・・・。

タグ :
このエントリーをはてなブックマークに追加   

家に帰ったら

なんか違和感を覚えました。

どうもいつもと様子が違う。

ジリジリと視線を感じます。




タグ :
このエントリーをはてなブックマークに追加   

お台場にて - 2




タグ :
このエントリーをはてなブックマークに追加   

お台場にて

愛車ドラちゃんでお台場へ行きました。
ビルのガラスの歪みが観覧車を綺麗に映しています。


タグ :
このエントリーをはてなブックマークに追加   

WebLogic Platform / WebLogic Server 8.1SP6 リリース


・WebLogic Platform 8.1 SP6
ダウンロード

リリースノート
-Platform
http://edocs.beasys.co.jp/e-docs/platform/docs81/relnotes/relnotes.html
-Integration
http://e-docs.bea.com/wli/docs81/relnotes/index.html
-Portal
http://edocs.beasys.co.jp/e-docs/wlp/docs81/relnotes/index.html

・WebLogic Server 8.1 SP6
ダウンロード

リリースノート
-Server
http://edocs.beasys.co.jp/e-docs/wls/docs81/notes/index.html
-Workshop
http://edocs.beasys.co.jp/e-docs/workshop/docs81/relnotes/index.html

-日本語環境での使用にあたって
http://edocs.beasys.co.jp/e-docs/wls/docs81/ja/index.html
-WebLogic Workshop 8.1 SP6 マルチバイト環境での使用にあたって
http://edocs.beasys.co.jp/e-docs/workshop/docs81/ja/relnotes_ja.html


日本語のリリースノートが出ていない部分は、寺子屋で英語版を確認できる。

タグ :
このエントリーをはてなブックマークに追加   

ナビに iPod 接続 - 音が出ない

さて、iPod の音が出ない件ですが、担当セールスマンに電話しました。
問題はたぶんこれ、配線ミス。
・パイオニア カーAV&オーディオ>iPod® アダプター CD-IB10/CD-IB10II>故障かなと思ったら
接続して操作はできますが、音が出ません。故障ですか?

「1ヶ月点検で直します」とか言われる覚悟をしてたけど速攻整備工場に連絡してくれて、当日中に整備士の予定を確保してくれて直して貰いました。

修理中

HDDナビなんでCDを取り込むこともできるけどやっぱりiPodから直接再生できるのは便利!
整備工場に車もってく手間はかかったけど、修理を見学させてもらってコンパネの開け方がわかったので良しとします。


ナビで iPod 再生中

ちなみに載っけたナビはパイオニアの HDD の楽ナビで MD プレーヤがついてないタイプ - AIVC-HRZ08。
AVIC-HRZ08

タグ :
このエントリーをはてなブックマークに追加