JDialog?

6 respostas
fernandopaiva

Galera a tela principal do sistema q eu to fazendo é JDialog, e quero montar todas as outras telas JDialog…Entao com a tela principal eu coloquei um botao para invocar outro JDialog, eu consigo chamar esse JDialog so que ele e exibido apenas com a barra de titulo e o botao de fechar, ou seja, ele naum e renderizado como foi construido.

veja como estou fazendo.

//JDialog principal, JDialog1
private void usuariosActionPerformed(java.awt.event.ActionEvent evt) {                                         
        //Referencia a JDialog2 de cadastro de usuarios
        Usuarios formUsuario = new Usuarios();
        abreDialog(formUsuario);
}               


//JDialog usuarios, JDialog2 que e chamado por JDialog1
public void abreDialog(JDialog dialog){
        dialog.setModal(true);
        dialog.setResizable(false);
        dialog.setLocationRelativeTo(dialog);
        dialog.setVisible(true);
    }

Alguem sabe me dizer o que acontece, pq eu consigo abrir o JDialog2 invocado por JDialog1 e pq o JDialog2 exibe apenas a barra de titulo com um (x)fechar ???

obrigado.

6 Respostas

Eric_Yuzo

O tamanho está definido? Se não estiver use o setSize para definir o tamanho do dialog.

fernandopaiva

Salve Eric,

Estranho que eu coloquei o um setTitle(“usuarios”) no JDialog2 para saber se e ele msm, mas o que acabei de perceber é que num ta nem trazendo esse titulo, parece que ele ta invocando outro, criando outro sei la o que, mas num é o de usuarios que eu fiz naum, bom, eu acho !!! kkkk…

To usando NetBeans para desenhar as telas…

obrigado.

Eric_Yuzo

Não entendi direito. Mas se especificar um tamanho com setSize, o JDialog deveria aparecer no tamanho especificado, mesmo que não tenha nenhum componente inserido.

KaosBr

Boa noite,

Costumo abrir, meus dialogs, assim:

Dialog dialog = new Dialog(JFrame, true);
dialog.setLocationRelativeTo(this);
dialog.setVisible(true);

[]s

fernandopaiva

Consegui resolver o problema, vejam.

private void usuariosActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        Usuarios formUsuario = new Usuarios(null, true); 
        abreDialog(formUsuario);
    }               

public void abreDialog(JDialog dialog){
        dialog.setResizable(false);
        dialog.setLocationRelativeTo(this);
        dialog.setModal(true);
        dialog.setVisible(true);
    }

Passando “null” na instanciação da classe funcionou. Não sei pq null, mas funcionou.

obrigado.

ViniGodoy

Tópico movido para o fórum de interface gráfica.

É melhor você investigar pq o null fez funcionar. Jamais programe sem saber exatamente o que ocorre no seu código. “Fazer funcionar” nem sempre indica que o código está certo, você pode estar só escondendo o problema ou ainda criando um outro muito pior.

Criado 23 de outubro de 2010
Ultima resposta 24 de out. de 2010
Respostas 6
Participantes 4