Tenho uma janela pai que abre uma filha, as duas são JInternalFrame, mas queria que a janela Pai ficasse desabilitada para receber o foco / ser editada até que eu fechasse a janela filha ou clicasse em ok na janela filha, como eu faço isso?
ja tentei o pai.setEnabled(false) e o pai.setFacusable(false) mas não aconteceu absolutamente nada com esses comandos.
Posso converter o JInternalFrame para algum tipo modal?
E
entanglement
Um “JInternalFrame” “modal” pode ser simulado usando Glasspanes mas você vai ter um bocadinho de trabalho. Em particular, você tem de ser muito criterioso quanto ao tratamento de exceções - qualquer exceção mal-tratada, e você acaba tendo um glasspane que fica sempre sobre a sua aplicação, sem permitir a você fazer qualquer coisa.
Não estou encontrando o artigo da Java Developer Connection chamado “Creating Modal Internal Frames – Approach 1”, e “Creating Modal Internal Frames – Approach 2” - procure por eles na Internet. De qualquer forma, eles foram escritos para a versão 1.3 do Java, portanto pode ser que eles não funcionem direito mais.
ViniGodoy
Não resolve. Mude os JInternalFrames para JDialogs.
Se não quiser quebrar tanto o layout do seu programa, é fácil fazer a sua JDialog parecer um JInternalFrame.
Eu já tentei usar essa solução que o Entanglement propôs mas, além de no fundo ser um xunxo, é recheada de problemas.
Não deve ter sido à toa que os artigos foram retirados do ar. Os glasspanes não funcionam tão bem quanto gostaríamos e não era incomum eles ganharem foco e o usuário ficar perdido. Sem falar que essa solução não resolvia bem a questão da dialog modal abrir outra modal.
Na prática, esse é mais um forte motivo pelo qual nem eu, e nem ele, recomendamos o uso de JInternalFrames.
Até mesmo a MS não faz mais aplicações contendo janelas modais, note que o próprio word, famoso por isso, já não trabalha mais assim faz tempo.
palerique
Não resolve. Mude os JInternalFrames para JDialogs.
Se não quiser quebrar tanto o layout do seu programa, é fácil fazer a sua JDialog parecer um JInternalFrame.
Eu já tentei usar essa solução que o Entanglement propôs mas, além de no fundo ser um xunxo, é recheada de problemas.
Não deve ter sido à toa que os artigos foram retirados do ar. Os glasspanes não funcionam tão bem quanto gostaríamos e não era incomum eles ganharem foco e o usuário ficar perdido. Sem falar que essa solução não resolvia bem a questão da dialog modal abrir outra modal.
Na prática, esse é mais um forte motivo pelo qual nem eu, e nem ele, recomendamos o uso de JInternalFrames.
Até mesmo a MS não faz mais aplicações contendo janelas modais, note que o próprio word, famoso por isso, já não trabalha mais assim faz tempo.
Bom, eu mudei o extends da minha classe de JInternalFrame para o JDialog, não criou erro nenhum porém a janela não tem os componentes que deveria ter!