Swing

4 respostas
R

Bom dia pessoal.
Estou com um probleminha, tenho uma tela JDialog que tem um botão consultar,
quando clico nele, abro uma outra janela com um JTable que tem todos os dados
cadastrados na tabela no banco de dados.
A minha dúvida é o seguinte, eu preciso selecionar uma linha, e retornar o valor
dela para a classe que há chamou, como faço isso?
Um exemplo do que eu quero fazer é a showImputDialog da JOptionPane, eu digito
um valor dou OK e ela retorna este valor para mim.

Obrigado pela atenção

4 Respostas

G

Você pode criar um objeto que contêm os atributos que vc quer receber do JDialog e enviar a referência do mesmo no construtor do JDialog.

ex:

Public class objRet{
    private String atrib1;
    private String atrib2;

    public void set atrib1(String valor){
        atrib1 = valor;
    }

    public void set atrib2(String valor){
        atrib2 = valor;
    }

    public String getAtrib1(){
        return atrib1;
    }

    public String getAtrib2(){
        return atrib2;
    }
}

envie o objeto no construtor do jDialog, use os metodos set para atribuir valores aos atributos e depois é so usar os metos get na classe onde voce chamou o jDilog.

Espero ter ajudado.

R

Não é bem este o caso,
eu não preciso enviar nada para o classe que estou chamando, mas sim receber.
por exemplo, eu exibo uma lista e seleciono um valor da lista, então eu tenho que
retornar ele para outra classe como se fosse um return de classe.

G

Pois então…

foi o que eu disse… a diferença é que a classe que você chamou não vai retornar nada, ela só vai alterar as propriedades do objeto que vc mandou no construtor.

Explicando melhor

vc tem uma classe que possui um objeto que tem os atributos não setados.
vc envia este objeto para o jDialog que você quer chamar.
No JDialog vc atribui os valores desse objeto.
depois que vc fechar o jDialog o objeto que vc mandou para o jDialog vai ter os atributos setados.

Se não for essa a sua necessidade desculpe, devo não ter entendido a sua dúvida.

R

Eu conssegui fazer funcionar, foi simples.
eu usei o método get como você disse, e fiz da seguinte forma.

Tela t = new Tela(); t.setVisble(true); String dado = t.getDados();
dai quando eu fecho a tela os dados são puchados
para fechar eu usei o seguinte comando em um JButton:

this.dispose();

e pronto.
Vlw pela ajuda aew

Criado 21 de setembro de 2009
Ultima resposta 21 de set. de 2009
Respostas 4
Participantes 2