![](/img/trans.png)
[英]JFrame - Icon not showing on Sys tray when JFrame has been minimised
[英]Show JFrame when tray icon was clicked even if minimized
单击任务栏图标时,我需要恢复一个隐藏的窗口。 我实际上已经找到了部分解决方案:
tray_icon.addMouseListener(new MouseListener() {
@Override
public void mouseClicked( MouseEvent e ) {
//Gui.this refers to my frame
Gui.this.setVisible(true);
}
});
如果框架在另一个窗口后面,它将显示该框架。 它将框架放在顶部。 但是,如果我最小化框架,则不会显示窗口。 有趣的是,它稍微突出了任务栏选项卡:
任务栏闪烁是不错的,但还不够:
请注意,我计划允许“最小化到托盘”功能。 这意味着我什至会完全隐藏窗口(如果Java允许的话)。 仍然必须能够显示它。
除了setVisible
,还需要设置其他内容:
Gui.this.setState(Frame.NORMAL);
最小化时,框架的状态为Frame.ICONIFIED。
这是还原隐藏框架的完整回调:
tray_icon.addMouseListener(new MouseListener() {
@Override
public void mouseClicked( MouseEvent e ) {
Gui.this.setVisible(true);
Gui.this.setState (Frame.NORMAL);
}
}
这就是我用来隐藏窗口和任务栏面板(最小化到托盘)的方法:
this.addWindowListener(new WindowAdapter()
{
@Override
public void windowIconified(WindowEvent event) {
//Hides it from screen
Gui.this.setState(Frame.ICONIFIED);
//Hides it from taskbar and screen
Gui.this.setVisible(false);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.