2005年10月23日

SWTの限界

う〜ん、Explorerクローンを作っているがGUIのLinuxとWindowsで動作が違う・・・。
もちろんそれはSWTの利点なんだがクリックイベントの発生順まで違うとは・・・。

ディレクトリを表示するツリーでディレクトリを開くために[+]マークをクリックするとツリーが開かれ[-]になる。
そのときWindowsはマウスボタンダウンの段階でWindowsのGUIコンポーネントの機能でツリーが開かれた後Javaのクリックイベントが発生する。
Linuxの場合はマウスボタンダウンでJavaのクリックイベントの後にマウスボタンアップでGTKのGUIコンポーネントのマウスクリック処理が行われる。

WindowsのExplorerの動作にできる限り似せるようにしているのでマウスイベントあたりでいろいろごちゃごちゃ処理を行っているのでマウスクリックでの処理の順番やタイミングが違うと意図しない動作になってしまう・・・。

う〜む・・・、不本意だがOSそれぞれによって処理を書く必要があるなぁ。

SWT/Jfaceは好きなんだけど同じコトをさせようと思うとやっぱ困ることがある。
Swingも自在に使えるようにしておいた方がいいな。
Linuxでも使えるナイスデザインのSwing L&F
https://looks.dev.java.net/

ほかにも躓く点があるなら次作るアプリはSwingにしてみるか・・・。

Trackback on "SWTの限界"

このエントリーのトラックバックURL: 

"SWTの限界"へのトラックバックはまだありません。

Comment on "SWTの限界"

"SWTの限界"へのコメントはまだありません。