데스크탑 마스코트를 만들어 보자. 【앱의 종료편】

변경 내역



  • 2020/2/26
  • 이전 기사에 대한 링크 추가


  • 2021/3/28
  • 내용을 java 코드로 변경
  • 설명 내용을 시스템 트레이에 아이콘 추가로 변경
  • 제목 변경
  • 링크 추가


  • 처음에



    마지막으로 마스코트 디스플레이를 만들었지만,
    현재는 어플리케이션의 개시를 행한 후에 종료하는 수단이 없습니다.

    데스크톱에 상주하는 응용 프로그램이 될 것을 고려하면,
    시스템 트레이에 아이콘을 추가하여 앱을 종료할 수 있습니다.

    시스템 트레이에 아이콘 추가



    시스템 트레이에 추가하기 위한 클래스를 작성해 갑니다.

    JDSystemTray.java
    
    public final class JDSystemTray {
    
        // 中身はまだ
    
    }
    
    

    시스템 트레이에 아이콘을 추가하는 과정은 다음과 같습니다.
    아이콘 추가 시 시스템 트레이가 지원되는지 확인한 후 추가합니다.

    JDSystemTray.java
    
    /** システムトレイのアイコン場所 プロジェクト配下からディレクトリを作成しておく*/
    private static final String PATH = "/resource/icon/JDSystemTrayIcon.png";
    
    public static void addSystemTray() {
        try {
            // システムアイコンがサポートされている場合
            if (SystemTray.isSupported()) {
                // アイコンの生成
                var img = ImageIO.read(JDSystemTray.class.getResource(PATH));
                // システムトレイの生成
                var trayIcon = new TrayIcon(img);
                // 画像の自動サイズ調整をする
                trayIcon.setImageAutoSize(true);
                // ツールチップの設定
                trayIcon.setToolTip("デスクトップマスコットシステム");
                // システムトレイの取得
                var systemTray = SystemTray.getSystemTray();
                // システムトレイに追加
                systemTray.add(trayIcon);
            }
        } catch(Throwable e) {
            // 何かしらの処理
        }
    }
    
    

    이제 시스템 트레이에 아이콘을 추가할 수 있습니다.

    단지, 이제는 추가한 것만으로 클릭하겠지만 뭐하자
    반응하지 않는 입상이므로 마우스 오른쪽 버튼을 클릭하여 메뉴를 시작할 수 있습니다.

    우선, 메뉴를 작성합니다.

    메뉴가 시스템 트레이 아이콘의 이벤트로 추가되므로,
    인수로 시스템 트레이의 아이콘을 받도록 합니다.

    JDSystemTray.java
    
    private static void crateMenuBer(TrayIcon trayIcon) {
        // ポップアップメニューの作成
        var popup = new PopupMenu();
        // メニューのアイテム
        var exit = new MenuItem("アプリケーションの終了");
    
        //  メニューのクリックイベントの定義
        exit.addActionListener(e -> { System.exit(0); });
    
        // 作成したメニューアイテムを追加
        popup.add(exit);
    
        // アイコンに作成したポップアップメニューに追加
        trayIcon.setPopupMenu(popup);
    }
    
    

    이제 마우스 오른쪽 버튼을 클릭하면 메뉴가 시작됩니다.
    addSystemTray 메서드에 crateMenuBer 메서드를 호출하는 처리를 추가하는 것을 잊지 마십시오.

    테스트 코드 작성



    이제 테스트 코드를 만들어 움직임을 확인합시다.
    시스템 트레이에 사용하는 아이콘은 일러스트나 씨의 아이콘을 테스트용으로 사용했습니다.
  • 히라가나 50 소리의 원형 · 흰색 빼고 일러스트 문자

  • JDSystemTrayTest.java
    
    public class JDSystemTrayTest {
    
        public static void main(String[] args) {
            JDSystemTray.addSystemTray();
        }
    }
    
    


    ↓오른쪽 클릭↓


    음.

    끝에



    이번에는 마스코트 애플리케이션 종료 방법에 대해 구현했습니다.
    다음은 마우스 조작으로 던지거나 할 수 있도록 해 보려고합니다.

    링크


  • 데스크탑 마스코트를 만들어 보자. 【목차】
  • 좋은 웹페이지 즐겨찾기