Gostaria de mostrar uma mensagem de notificaçao pro usuario no canto da tela, tipo a do msn quando entra um contato. Essa janela seria mostrada quando ele entra no focusGained de um textField especifico, e seria escondida no focusLost do mesmo textField. porem quando eu uso o metodo setVisible do JFrame da mensagem, o foco automaticamente vai pra esse frame, saindo do textField e fazendo com que o frame feche sem que de tempo de o usuario ler. Como posso fazer isso?
Me parece que não tem como fazer com JFrame, como foi dito neste link
Mas você ja tentou setar o foco no jtextfield após o setVisible?
JTextField.requestFocus()
se eu setar o foco como vc disse ele entra num loop infinito, pois quando tu clica ele abre o jframe, poe o foco pro jframe e fecha o jframe pois perdeu o foco do textfield, entao ele seta o foco denovo no textfield e o jframe será aberto, e etc. etc.
Considerou usar o JDialog como falado no link que postei?
opa ja resolvi com jframe mesmo, criei uma Thread separada pra fechar o frame do aviso somente XX segundos depois que o foco saiu do textField… assim eu ainda consigo usar o grabFocus sem que o frame feche no exato momento.
uma dica, use jwindow que fica mais “elegante”
pelo que entendi o jwindow é igual ao jFrame, só muda que o jWindow não possui barra de titulo e os botoes de minimixar, fechar e maximizar.
Isso eu ja implementei no meu JFrame, com o método setUndecorated(true) antes da inicialização dos componentes.
Ou tem alguma coisa que realmente ajude no meu caso que o JWindow ofereça?
[quote=mateusviccari]pelo que entendi o jwindow é igual ao jFrame, só muda que o jWindow não possui barra de titulo e os botoes de minimixar, fechar e maximizar.
Isso eu ja implementei no meu JFrame, com o método setUndecorated(true) antes da inicialização dos componentes.
Ou tem alguma coisa que realmente ajude no meu caso que o JWindow ofereça?[/quote]
nao, so pra ficar mais “elegante” mesmo.