JOptionPane está minimizando meus frames. Como impedir isso?
10 respostas
geidivan
Tenho uma tela principal que chama outra tela. Quando esta tela é chamada, seto a tela principal com um editable(false). Ao clicar em um botao nessa segunda tela, chamo um joptionpane apenas com um botão de ok. Quando clico neste botao, essa segunda tela é minimizada e ainda a tela principal é setada para editable(true).
Como faço para desabilitar isso? Quero só clicar e fechar o joptionpane.
Obs: tentei passar o Component parent mas não funcionou.
cara, essa segunda tela deve ser um JDialog, se sim chame o método setModal(true) ao invés do setEnabled. O modal impede que o frame que o chamou seja mexido enquanto o Dialog estiver aberto. Um exemplo de Modal é o JOptionPane. Abra ele e tente mexer na janela de trás para ver o que acontece.
Hugs
geidivan
É um JFrame mesmo.
É inconveniente demais toda vez que fecho o JOptionPane o frame minimiza.
Estou criando um JDialog pra usar no lugar no JOptionPane enquanto isso.
makoto
geidivan:
É um JFrame mesmo.
É inconveniente demais toda vez que fecho o JOptionPane o frame minimiza.
Estou criando um JDialog pra usar no lugar no JOptionPane enquanto isso.
O Dialog Deve fivar no lugar da segunda janela e não do OptionPane.
Ganbate Kudasai!!
geidivan
Fiz um Dialog e mesmo assim não deu.
Quando o chamo a partir de outro dialog funciona ok, mas quando um frame chama o Dialog ocorre esse erro. Ele trava o frame ok, mas quando fecho esse dialog o frame que o chamou minimiza.
Preciso usar frames porque sao telas grande e cheias de componentes.
makoto
posta teu código ai pra gente dá uma olhada :!:
geidivan
importjavax.swing.ImageIcon;importjavax.swing.JDialog;publicclassjMessageextendsJDialog{publicstaticfinalintINFORMACAO=1;publicstaticfinalintERRO=2;/** Creates new form jLogin */publicjMessage(Stringtext,inttype){initComponents();jL1.setText(text);this.setModal(true);setType(type);setLocationRelativeTo(null);this.setVisible(true);this.setSize(51+jL1.getBounds().width,this.getHeight());}privatevoidjBOk_OnClick(java.awt.event.ActionEventevt){this.dispose();}privatevoidsetType(inttype){if(type==2){this.setTitle("Mensagem de erro");jLImg.setIcon(newImageIcon(getClass().getResource("/images/erro.png")));}else{this.setTitle("Mensagem de aviso");jLImg.setIcon(newImageIcon(getClass().getResource("/images/informacao.png")));}}privatejavax.swing.JButtonjBOk;privatejavax.swing.JLabeljL1;privatejavax.swing.JLabeljLImg;}
E na minha classe de controle eu o chamo
new jMessage("Erro", 2);
makoto
ai eu num vi erro, onde está o JOptionPane nisso?
geidivan
Como disse, deixei de usar o JOptionPane e estou usando um Dialog que criei achando que ia resolver, mas deu na mesma.
wellington7
Poste um código “rodável” mostrando o erro, com main e tudo. (leia sobre SCCEE)
geidivan
Pessoal, consegui.
Na verdade nem eu sei o que fiz (acho que nada) mas parou de dar o erro. Está funcionando ok em qualquer lugar que chamo.