Olá
Estou trabalhando com uma apliçação que abre janelas pop-up para dar avisos ao usuário. Eu gostaria que as janelas abrissem sem roubar o foco da aplicação que o usuário está trabalhando, mas isto ocorre em determinadas ocasiões.
Para ficar claro se estou falando da minha aplicação ou de outra, vou usar o Word no lugar de “outra-aplicação-que-não-a-minha”:
a. Na primeira vez que a janela pop-up abre, ocorre roubo de foco do usuário digitando no Word. Se o usuário clicar de volta no Word enquanto a janela estiver aberta, as outras vezes que a janela popar não vai haver roubo do foco. Se o usuário não clicar, a próxima janela irá roubar o foco novamente. E assim sucessivamente: se enqto esta janela aparecer ele clicar no Word, depois o problema não ocorre mais; senão, persiste. Ou seja: parece que clicando no Word, a janela “aprende” a não roubar mais o foco.
b. A janela é um Container formado por um JPanel, um JEditorPane e um JButton; o Container é um atributo de um JFrame. Toda vez que o usuário clica no JPanel (que faz com que a janela popup feche), o problema volta a acontecer: na próxima vez que janela que é aberta, ela rouba o foco novamente (ou seja, desaprendeu a não roubar o foco).
Já tentei usar o comando setFocusableWindowState, que, settado para false, faz com que uma janela não tenha foco (usado para menus flutuantes; mas neste caso, por trás, a aplicação tem foco), mas ele não funciona. Aparentemente, pelo menos 1 janela/componente tem que estar ativo (quando tiro o JPanel, o problema passa a ocorrer quando se clica num dos outros componentes).
Alguém teria alguma sugestão? Agradeço muito qualquer ajuda!
Denise