Passar dados entre telas swing

7 respostas
rocha

Pessoal como faço para passar dados entre telas swing? por session tb?

7 Respostas

V
Depende de quais dados você quer passar, mas geralemente eu faço isso com getters e setters... Exemplo:
Classe a:
String dirceu;

public String getDirceu{
return dirceu;
}
public void setDirceu(String s){
dirceu=s;
}


Classe b:
String dirc;
.
.
.
// pegando variavel dirceu da classe a
dirc=a.getDirceu();
.
.
.
.
// setando o valor de dirceu da classe a

a.setDirceu(dirc);
rocha

Eu dados em uma jtable, dai quero q qdo for clicado no botão alterar me abra um formulário com os dados da linha selecionada na jtable

hmichel

O correto eh uma tela não conhecer outras. Entao, comunique-se atraves de beans. Padronize beans os quais são conhecidos de varias telas.

[]'s

V

Com Beans eu não sei fazer não…
Agora diretamente (ERRADO SEGUNNDO O COLEGA ACIMA)
é assim:

Objetc[] ob=new Object[tabela.getColumnCount()];
for (int contador=0;contador<tabela.getColumnCount();contador++){
ob[contador]=tabela.getValueAt(tabela.getSelectedRow(),contador);
}

ai tu passa o ob pra tela seguinte…

Só que lembre-se que isso é errado (segundo o colega acima)
>

hmichel

O beans eh o seguinte. Faça uma clesse simples (POJO), com determinadas propriedades e seus gets/sets, e este objeto então irá de uma tela para outra.

Assim vc acessa a tabela, pega os valores e preenche este objeto, e envia ao outro formulario.

[]'s

V

Neste caso esta classe poderia ser uma defaulttablemodel?
Mas isso não acarretaria em disperdício de memória?

hmichel

O pattern neste caso trata-se de VO (Value Object) ou DTO (Data Tranfer Object), ou ainda, POJO (Plain Old Java Object).

[]´s

Criado 5 de abril de 2005
Ultima resposta 6 de abr. de 2005
Respostas 7
Participantes 3