JDialog pode retornar valor?

Oi pessoal…

Tenho um JDialog, e qdo eu fechasse esse dialog eu precisava retornar alguns valores q esse Dialog possui, para a classe q o xamou…

tipo JOptionPane.showInputMessage, q abre um dialogo em modo Modal, e te retorna o valor…

e possivel isso? como eu faria pra q minha dialog retornasse valor??

Guarde o valor numa propriedade e depois faça o get para acessa-lo. A JDialog é um objeto como outro qualquer.

Exemplo:

public class MyDialog extends JDialog {
    ....
    private String retorno;
    public String getRetorno () { return retorno; }
    ...
    // no seu JDialog, atribua algum valor a "retorno".
    // não se esqueça de fazer o diálogo MODAL. 
}
...
MyDialog md = new MyDialog (...);
md.setVisible (true); // esta função retorna quando  o diálogo for fechado
String ret = md.getRetorno();

Estou com esse problema.

Eu tenho um jInternalFrame que eu preciso relacionar um Pais num jTextField no cadastro de um Estado qualquer nesse jInternalFrame.

1 - Quando eu clico em cima do campo vazio no InternalFrame fiz a chamada de um jDialog que tem a lista dos Paises, vou selecionar esse pais clicando em cima do que eu quero, numa jTable com os Paises no caso;

2 - Selecionado o Pais na lista eu clico no jButton que chamo o método que eu criei no jDialog segue o código do meu get:

        public String getSiglaPais(){
        String siglaPais = JTablePais.getValueAt(JTablePais.getSelectedRow(), 0).toString();
        return siglaPais;
    }

3 - Ao executar o jButton eu chamo getSiglaPais(); e dou um this.hide(); para fechar esse jDialog que abriu na no meu jInternalFrame para selecionar o Pais;
4 - No meu jInternalFrame eu quero atribuir o valor para meu campo jTextField mas não consigo. Como eu faço ? Me ajudem por favor…

Método somente para chamar o jDialog:

            void chamaJDPais (){
            JDPais jdp = new JDPais(null, rootPaneCheckingEnabled);
            jdp.setVisible(true);
            
        }

Ação quando eu clico em no jTextField no meu jInternalFrame e ele é vazio e chama o jDialog para a seleção do Pais

    private void JTFPaisMouseClicked(java.awt.event.MouseEvent evt) {
        String validaCampoPais = JTFPais.getText(); // Pega o valor do campo JTFPais para a validação abaixo
        JDPais jdp1 =  new JDPais(null, closable);
        String receber = "";
        if ("".equals(validaCampoPais)){
        chamaJDPais();
        receber = jdp1.retornSiglaPais();
        
                                        }
        JTFPais.setText(receber);
        
    }

Obrigado a todos que me ajudarem…