
ウィンドウを最小化時にタスクトレイに入れ,タスクトレイのアイコンを
ダブルクリックすることで元に戻るようなプログラムを考えています。
GUIはSwingで実装するつもりです。
タスクトレイにアイコンを表示し,最小化時にイベントリスナーから
setVisible()を呼ぶことでウィンドウをタスクトレイに入れるところまでは
できましたが,アイコンをダブルクリックした時に再びsetVisible()を呼んでも
最小化された状態で表示され,元の場所・サイズに戻して表示することができません。
解決法としては
・プログラム側からウィンドウの最小化を解除,元に戻す
・最小化ボタンを押された時に最小化しないようにする
の 2 つを考えましたが,どちらも実装法がわかりません。
また,これら以外に方法はあるのでしょうか。
よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
小さな、実動サンプルプログラムを投稿して。
この回答への補足
以下にサンプルプログラムを掲載します。
タスクトレイに表示するアイコンとしてtest.gifが必要です。
-----
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.JFrame;
import javax.imageio.ImageIO;
public class Sample extends JFrame {
Sample() throws IOException, AWTException {
addWindowListener(new MyWindowListener(this));
SystemTray tray = SystemTray.getSystemTray();
TrayIcon icon = new TrayIcon(ImageIO.read(new File("test.gif")));
icon.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setVisible(true);
}
});
tray.add(icon);
setVisible(true);
}
public static void main(String[] args) throws IOException, AWTException {
new Sample();
}
}
class MyWindowListener extends WindowAdapter {
private Sample sample = null;
public MyWindowListener(Sample initializer) {
sample = initializer;
}
public void windowIconified(WindowEvent e) {
sample.setVisible(false);
}
public void windowClosing(WindowEvent e) {
sample.setIconImage(null);
System.exit(0);
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 起動中のアプリ、ソフトの取得 3 2022/12/28 11:13
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# プログラミングを教えて欲しいです。 配列aは、int a[9]={7,6,12,8,3,5,10,9 4 2022/12/19 23:27
- Windows 10 Windows10の画像ファイルのサムネールがアイコン表示になってしまいました。 3 2022/07/09 13:01
- その他(スマホアプリ・スマホゲーム) 【Androidアプリのスクリーンショットが禁止されているアプリのスクリーンショット 1 2023/02/18 09:04
- その他(コンピューター・テクノロジー) snipping tool を常時最前面に出しておきたい 2 2023/06/25 18:13
- Windows 10 ゲームを起動するとタスクバーにはアイコンが表示されているのですが、最大化出来ません。解決方法を教えて 2 2022/07/22 15:00
- 画像編集・動画編集・音楽編集 エクスプローラー サムネイル表示されない 1 2022/12/22 10:14
- その他(動画サービス) VLCメディアプレーヤーについて 1 2022/11/29 14:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
ラジオボタンの初期指定
-
勝手にウィンドウが開いて止ま...
-
エクセルで1行目から3行目が消...
-
ExcelのBOOKが消えた!
-
Vba LongPtrについて教えてくだ...
-
検索の画面がでなくなってしま...
-
Delphi5のボタンクリックでWeb...
-
ウィンドウの位置を変えるには...
-
Excel :行や列の固定(スクロー...
-
四角形と線との関係(C言語・API)
-
簡単な質問だと思いますが、、...
-
Console.WriteLine で表示されない
-
Alt+P,Alt+NをPostmessageで送...
-
エクセルで行のロックの仕方
-
DirectXを使用したゲームのキャ...
-
netbeans 6.0.1について、新規作成
-
pythonでふたつのアニメーショ...
-
Excel で作業してる行だけ拡大...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
ラジオボタンの初期指定
-
勝手にウィンドウが開いて止ま...
-
Vba LongPtrについて教えてくだ...
-
検索の画面がでなくなってしま...
-
Excelの上下を固定したい
-
ExcelのBOOKが消えた!
-
[VBA] UserForm を Excel の W...
-
VBA .Value=.Value ?
-
作成したウインドウのサイズを...
-
Console.WriteLine で表示されない
-
エクセルで1行目から3行目が消...
-
「&HFFFF」「&H1A」とは?
-
【VB2008】 マウス操作の一時的...
-
UWSCで特定のChromeのタブをア...
-
他のアプリケーションの終了処理
-
MFCでハンドルを取得するには
-
VBAで単一ブック複数窓を閉じる...
-
EnumChildWindowsの使い方(VBA)
おすすめ情報