Duvidas quanto a SystemTray

0 respostas
J

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?

Criado 2 de setembro de 2007
Respostas 0
Participantes 1