Tenho uma JFrame chamando uma JDialog. O problema é: se dou um Alt+Tab e vou até outro programa, quando volto o JDialog que estava em foco some e o JFrame que estava atrás aparece porém sem me dar acesso, como se o JDialog ainda estivesse predendo o foco.
No JFrame estou fazendo o que acho é o normal:
JDialog j = new JDialog();
j.setVisible(true);
Como faço para manter o JDialog aparecendo quando volto de outro programa? Existe outra solução?
Teu JDialog não está modal (pelo menos de acordo com o teu exemplo – o construtor padrão JDialog() constróis diálogos non-modal).
Faça o teu JDialog ter como owner (proprietário) o teu JFrame. Use o construtor JDialog(Frame f, boolean modal):
dsiviotti
Putz. Bem no meu nariz.
Valeu.
tonyam
E quando for um JInternalFrame ???
root_
Quando for um JInternalFrame, que foi o meu caso usando o Netbeans 6.0 (versao de desenvolvimento), fiz o seguinte na criação do dialog:
jDialog = new javax.swing.JDilaog(this, true);
Teste aew… talvez funcione
mmenezes
cara nao vejo a diferenca nesta solucao. ele vai dar erro de pq na hora do construtor ele nao aceita passar um JinternalFrame
jDialog = new javax.swing.JDilaog(this, true);
o “this” eh o JInternalFrame .
mmenezes
alguem sabe alguma solução?
como fazer o JDialog nao desaparecer, onde o seu owner eh um JInternalFrame, eu faco a minha chamada assim :
MeuDialog dialog = new MeuDialog(null, true);
vlw pessoal
P
paulohrl
O seu JInternalFrmae tem que ter uma referência para o JFrame onde está o JDesktop…
Na hora de criari o JDialog vc passa essa referencia no construtor…
Tenta e qualquer coisa posta ai…
mmenezes
paulohrl, perfeito cara brigadao pela ajuda.
fiz o seguinte:
no meu MDI (que eh um jFrame) criei um singletogn
ai na hora de criar meu jDialog fiz o seguinte.
MeuDialog dialog = new MeuDialog(MDI.getInstancia(),true);
abracos e valeu pela ajuda
P
paulohrl
as ordens
M
mederafael
Tenta o método
setAlwaysOnTop(true);
D
Drumond
Estava procurando uma solução e me deparei com este tópico…acho que “achei” uma melhor do que as informadas aqui:
No JInternalFrame, depois de instanciar o JDialog, use:
seuDialog.setModal(true); :thumbup:
M
mederafael
Rapaz 2 anos depois hehehehehe vc desinterrou este tópico. auauauau