Janela Modal

Eu sei que esse problema é batante comum, mas nenhuma sulução funcionou comigo.
Eu tenho um programa que exibe 2 janelas.O programa funciona, mas eu gostaria que a segunda janela fosse exibida em modo Modal.
A primeira janela é um JFrame, a segunda eu já tentei utiliza JFrane e JDialog, mas a janela não abre como modal.
Quando eu utilizo o janela2.show(true); o Eclipse me alerta para o sequinte: The Method show(boolean) from the type Component is deprecated.

O método show não deve ser utilizado. Use o setVisible.

Para mostrar janelas modais, eu uso a classe JDialog, que possui um construtor onde você diz se quer a janela modal ou não.

Muito Obrigado, funcionou.

Mas fiquei com uma 2 dúvidas, fiz o sequinte: Criei a 2ª janela como JDialog e usei o comando setModal(true) para deixar como Modal, depois disso chamei o setVisible(true) e tudo ocorreu bem. Depois eu testei com show() e também funcionou, aparantemente igual, existe algum motivo para eu usar um método e não outro para exibir a janela?

A outra dúvida é quando outra janela abre em cima da minha Modal, ai quando eu volto para o aplicativo que criei atravez da barra de tarefas do windows a 1ª janela é a unica que aparece, ainda sem poder receber o foco, só consigo ver a Modal se minimizar a janela que havia aberto em cima!

Obrigado pela ajuda!

O motivo para não usar o show é que ele está depreciado. Ou seja, em futuras versões do Java, o método pode não mais existir, e portanto seu programa vai deixar de funcionar! :wink:

Quanto à segunda dúvida, eu também estou procurando uma resposta! :lol:
Tenho um programa em que acontece exatamente a mesma coisa! Só consigo trazer a janela modal pra frente via alt-tab.

Eu uso jframe e jinternalframe desta forma:

    ActionListener showModal1 = new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        Unidades Unidades1 = new Unidades();
        JPanel glass6 = new JPanel();
        glass6.setLayout(null);
        glass6.setOpaque(false);
        Unidades1.addInternalFrameListener(new ModalAdapter(glass6));
        glass6.add(Unidades1);
        setGlassPane(glass6);
        glass6.setVisible(true);
        Unidades1.setVisible(true);
        }
    };
    jButton1.addActionListener(showModal1);

    static class ModalAdapter 
        extends InternalFrameAdapter {
        Component glass6;
        public ModalAdapter(Component glass6) {
            this.glass6 = glass6;
            MouseInputAdapter adapter = 
            new MouseInputAdapter(){};
            glass6.addMouseListener(adapter);
            glass6.addMouseMotionListener(adapter);
        }
        public void internalFrameClosed(
            InternalFrameEvent e) {
            glass6.setVisible(false);
        }
    }

Renato V. Neto