簡體   English   中英

構建jar時,.requestFocusInWindow()不起作用

[英].requestFocusInWindow() doesn't work when build the jar

我有一個GUI Java應用程序。 該應用程序最小化到系統托盤。 我在單擊托盤圖標時放置了frame.requestFocusInWindow() ,以便恢復的JFrame可以引起用戶注意。

代碼如下。

 trayicon.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            try {
                if (e.getButton()==MouseEvent.BUTTON1) frame.setVisible(true);
                frame.requestFocusInWindow();
            } catch (Exception ex) {
                Logger.getLogger(TrayControl.class.getName()).log(Level.SEVERE, null, ex);
            }
        } 
});

如果我在NetBeans IDE中執行應用程序,這非常有效,但是當我構建.jar文件並執行它時,似乎無法使用.requestFocusInWindow()因為應用程序窗口不會引起用戶注意並在后面恢復我打開的其他窗戶。 那么這里發生了什么?

問題解決了。 我在MouseListener中使用了JFrame .setExtendedState() metoth,如下所示:

trayicon.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent e) {
        try {
            frame.setExtendedState(JFrame.NORMAL);
            frame.setVisible(true);
        } catch (Exception ex) {
            Logger.getLogger(TrayControl.class.getName()).log(Level.SEVERE, null, ex);
        }
    } 
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM