JDialog aparece pequeno no canto da tela [RESOLVIDO]

Galera, criei um JFrame no netbeans e adicionei um JDialog. Quero fazer com que o JDialog impeça de o usuário clicar no frame atrás do JDialog.

Pra isso tem um método o modal, só que quando configuro esse método na palheta do netbeans o JDialog já aparece pequeno no canto da tela, como eu faço pra ele aparecer no centro da tela e com tamanho descente?


Na mesma janela vc pode setar o tamnho e a localização do jDialog na sua tela…na configuração de "Bounds"
que recebe 4 parâmetros, a localkização “x” ,“y”, “largura”, “altura” ou vc pode escrever a linha de código:

jDialog.setBounds(15,15,55,100); //parâmetros ficam a seu critério

Você também pode usar o metodo setSize(int width, int height) para configurar o tamanho da tela ou o metodo pack() que ajusta a tela de acordo com seus componentes.

Então, mas eu vou chamar esse métodos onde?

Esse é o código do meu JFrame:

[code]import java.awt.Dimension;
import java.awt.Toolkit;

public class TelaPrincipal extends javax.swing.JFrame {

private double width = 0;
private double height = 0;
private Dimension dimensao = Toolkit.getDefaultToolkit().getScreenSize();


public TelaPrincipal() {
    initComponents();
    
    width = dimensao.getWidth();
    height = dimensao.getHeight() - 32;
    setBounds(0, 0, (int) width, (int) height);
}

//DAQUI PRA BAIXO É O NETBEANS QUEM GERA
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

    jDcadDizimo = new javax.swing.JDialog();
    jTabbedPane1 = new javax.swing.JTabbedPane();
    jTabbedPane2 = new javax.swing.JTabbedPane();
    jTabbedPane3 = new javax.swing.JTabbedPane();
    jTabbedPane4 = new javax.swing.JTabbedPane();
    jMenuBar1 = new javax.swing.JMenuBar();
    jMenu1 = new javax.swing.JMenu();
    iControleDizimo = new javax.swing.JMenuItem();
    jMenu2 = new javax.swing.JMenu();
    jMenu3 = new javax.swing.JMenu();

    jDcadDizimo.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    jDcadDizimo.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
    jDcadDizimo.setResizable(false);
    jDcadDizimo.getContentPane().setLayout(new java.awt.GridLayout(1, 0));

    jTabbedPane1.setToolTipText("Dizimo");
    jTabbedPane1.addTab("Dízimo", jTabbedPane2);
    jTabbedPane1.addTab("Batistérios", jTabbedPane3);
    jTabbedPane1.addTab("Casamentos", jTabbedPane4);

    jDcadDizimo.getContentPane().add(jTabbedPane1);

    jDcadDizimo.getAccessibleContext().setAccessibleParent(this);

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setResizable(false);
    getContentPane().setLayout(new java.awt.GridBagLayout());

    jMenu1.setText("Dízimo");

    iControleDizimo.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0));
    iControleDizimo.setText("Controle do Dízimo");
    iControleDizimo.setToolTipText("Abre controle do Dízimo");
    iControleDizimo.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            iControleDizimoActionPerformed(evt);
        }
    });
    jMenu1.add(iControleDizimo);

    jMenuBar1.add(jMenu1);

    jMenu2.setText("Batistérios");
    jMenuBar1.add(jMenu2);

    jMenu3.setText("Casamentos");
    jMenuBar1.add(jMenu3);

    setJMenuBar(jMenuBar1);

    pack();
}// </editor-fold>

private void iControleDizimoActionPerformed(java.awt.event.ActionEvent evt) {                                                

//ATÉ AQUI
//Posiciona o JDialog quase no centro da tela.
jDcadDizimo.setBounds(50, 50, ((int) width - 100), ((int) height - 100));
jDcadDizimo.setVisible(true);
jDcadDizimo.setModal(true);

}

// Variables declaration - do not modify
private javax.swing.JMenuItem iControleDizimo;
private javax.swing.JDialog jDcadDizimo;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenu jMenu3;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JTabbedPane jTabbedPane2;
private javax.swing.JTabbedPane jTabbedPane3;
private javax.swing.JTabbedPane jTabbedPane4;
// End of variables declaration

}[/code]

Bom o jeito que encontrei foi o seguinte…

Esse é o evento do menu que aciona o jdialog, dentro dele eu chamo um método que configura com o jdialog.

[code]private void iControleDizimoActionPerformed(java.awt.event.ActionEvent evt) {

    //Posiciona o JDialog quase no centro da tela.        
   cria(jDcadDizimo);

}

private void cria(JDialog j){
   j.setModal(true);
   j.setBounds(50, 50, ((int) width - 100), ((int) height - 100));
   j.setVisible(true);

   j.pack();
}

[/code]