Galera, estou num enrascada, e gostaria de pedir a ajuda de vocês.
Sou analista de suporte (Help-Desk… :(), e estou desenvolvendo uma simples aplicação para facilitar o trabalho da minha equipe. Ela nada mais é do que uma janela com botões, que abrem os softwares mais utilizados durante o nosso atendimento.
O problema é que eu adicionei um componente SystemTray, e gostaria que, ao minimizar o programa, ele não ficasse aparecendo na “barra do Menu Iniciar”. Para tal, eu adicionei um windowListener no meu JFrame, para que quando o status dele fosse “INCONIFIED”, o metodo setVisible() recebesse o parametro “TRUE”.
Depois eu adicionei em meu SystemTray um MouseListener para que quando icone do SystemTray fosse clicado 2 vezes, o metodo setVisible() do JFrame voltasse a ser “TRUE”. Até ai beleza, o problema é que quando eu dou um duplo clique na bandeja do sistema, o JFrame sempre volta minimizado. Eu queria que ele voltasse maximizado, que ele ja pulasse na frente do usuário.
Pra esclarecer mais o problema, segue o codigo:
<blockquote>//Trata duplo clique em cima do icone da SystemTray
bandeja.addMouseListener(new MouseListener(){
public void mouseClicked(java.awt.event.MouseEvent e){
}
public void mousePressed(java.awt.event.MouseEvent e){
if(e.getClickCount() == 2)
SmartGUI.this.setVisible(true);
SmartGUI.this.setState(JFrame.MAXIMIZED_BOTH);
}
public void mouseEntered(java.awt.event.MouseEvent e){
}
public void mouseReleased(java.awt.event.MouseEvent e){
}
public void mouseExited(java.awt.event.MouseEvent e){
}
});
<blockquote>//Controle o comportamento do Frame
this.addWindowListener(new java.awt.event.WindowListener() {
public void windowIconified(java.awt.event.WindowEvent e) {
setVisible(false);
}
public void windowOpened(java.awt.event.WindowEvent e) {
SmartGUI.this.toFront();
}
public void windowClosing(java.awt.event.WindowEvent e) {
int n = JOptionPane.showConfirmDialog(painel1, “Tem certeza que deseja sair?”, “Atenção”, 0);
if(n == JOptionPane.YES_OPTION){
fechaNote();
System.exit(0);
}
}
public void windowClosed(java.awt.event.WindowEvent e) {
}
public void windowDeiconified(java.awt.event.WindowEvent e) {
setVisible(true);
}
public void windowActivated(java.awt.event.WindowEvent e) {
setVisible(true);
}
public void windowDeactivated(java.awt.event.WindowEvent e) {
}
});
Espero ter sido claro da descrição. Teria como alguem me ajudar com isso?