- - PR -
SWTでタスクトレイを制御したことある方がいらっしゃいましたら
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-09-22 16:36
いつもお世話になっております。
SWTでやればできるって教えてもらって勉強しながらやってみましたが 私の力では限界がありました。 T.T 現在の状況は タスクトレイに私が入れたいアイコンを設定してみたところOKでした。 問題@:マウスOverの時なくなってしまいました。どうすればいいでしょうか。なぜなくなってしまうんでしょうか。 問題A:別のPCにあるファイルの中身を確認して更新されてたら画像(アイコン)を変更したいです。 問題B:「SWT.Selection」などのマウスの制御ができるようにしたいです。 右クリックか、ただのクリックがなどです。 APIを調べてみてもこういう説明は全然なかったです。 どこに詳しいAPIまたは情報があるんでしょう。 結局私が作りたいのはWindows Updateみたいなものですけど その前に初歩的な動きを確認したいです。 本当にめちゃくちゃな質問で申し訳ございません。 よろしくお願いします。 import org.eclipse.swt.widgets.*; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.*; import org.eclipse.swt.graphics.*; public class TaskTest { public static void main(String[] args) { new TaskTest(); } public TaskTest(){ Display display = new Display(); Tray tray = display.getSystemTray(); TrayItem trayItem = new TrayItem(tray, SWT.NONE); trayItem.setImage(new Image(display, "tray.gif")); trayItem.setToolTipText("タスクトレイアイコン"); trayItem.setVisible(true); trayItem.addListener(SWT.Selection, new Listener(){ public void handleEvent(Event evt){ System.out.println("クリックされました。"); } }); trayItem.setImage(new Image(display, "pdficon.gif"));//だめでした。 } } | ||||||||
|
投稿日時: 2004-09-22 17:50
どーも、Wataです。
問題1はイベントループを書いていないから。 下にサンプルを載せるので参考にしてみてください 問題2はTheradとかTimerを使って、更新を監視するようにしてみてください。 問題3は難しいかな。左クリックとダブルクリックなら、下のサンプルで 区別できます。
| ||||||||
|
投稿日時: 2004-09-22 18:15
eclipse のサイトの
SWT Component Development Resources の snippets (小さなサンプル集) の、Tray, TrayItem の place a popup menu on the system tray にも一般的な処理が 載っいますので、参考になると思います。 # ついでに、Windowsではこの場所は「システムトレイ」って名前のようです。 # 「クイック起動バー」は別物で、ショートカットを並べておく場所ですね。 | ||||||||
|
投稿日時: 2004-09-23 09:06
Wata様 ちいにぃ様
いつもお世話になっております。 ご回答有難うございました。^^ 早速勉強させていただきます。 | ||||||||
|
投稿日時: 2004-10-06 18:54
便乗質問で失礼します。
eclipse3.0で、MOUSEさんのプログラムを入力して見たのですが、 Tray tray の宣言で、無効な型とかでエラーになってしまいます。 org.eclipse.swt.widgets. の中にはTray もTrayItemも見当たらず、 これは、eclipse3.0をUpdateとかしなければならないのでしょうか?。 初歩的な質問で申し訳ありません。 以上、よろしくお願いします。 | ||||||||
|
投稿日時: 2004-10-07 10:08
Wataです。
swt.jarをクラスパスにいれてあって、importしても型が見つからないと言うことですよね。 そんなはずはないと思いますが…。 org.eclipse.swt.browser.Browserとかはありますか? もしないなら、swt.jarが2.xのものでないかもう一度確認してみてください。 | ||||||||
|
投稿日時: 2004-10-07 11:15
Wataさん。早速の御指摘ありがとうございます。
おっしゃるとおりswt.jar が旧バージョンでした。 おかげさまでコンパイルが通りました。 初歩的な質問に答えて頂きありがとうございました。 |
1