Enviar resultados para outro jFrame

9 respostas
morcinek

Boa Noite, estou criando um programa financeiro, e precisei separar algumas telas, acontece que em uma tela que tenho duas jTable, onde resultados são setados nelas,
e tenho um método que soma valores de colunas.
O que gostaria de fazer era a partir de um evento de um botão, jogar esses valores do método, para outro JFrame, no caso em JTextFields, Se alguém tiver algum dica, agradeço muito!

9 Respostas

GusMcCart

Implemente isso no construtor, ou um método público de acesso… Você está seguindo algum pattern, MVC/MVP por exemplo??

morcinek

no contrutor? o que preciso é enviar esse resultado (double) para um jTextField em outro JFrame…
o método que calcula o resultado é publico, porem eu uso ele na tela das jTables, mas o resultado precisa ser exibido em outro frame,

al.barbosa

morcinek,

Esses JFrames exibem informações relacionadas? Há uma classe que possui essas informações?
Se for o caso, acho que usar o padrão Observer pode ser uma boa solução.
Você tem dois JFrames que serão observadores (Observers) de uma classe. A classe será um observado (Observable). Quando um JFrame atualizar as informações da classe, a classe irá notificar todos os seus observadores, para que sejam atualizados.

No livro Refatoração de Martin Fowler tem uma refactoring chamada “Duplicar Dados Observados”, acho que vale a pena dar uma olhada. Abaixo um link para o livro on-line:

http://books.google.com.br/books?id=zPdb4QJKBtkC&pg=PA164&lpg=PA164&dq=refatora%C3%A7%C3%A3o+martin+fowler+duplicar+dados+observados&source=bl&ots=e2u3sdrmbZ&sig=mk4OJHrGuCLadQU5ur-7TFCOBHE&hl=pt-BR&sa=X&ei=fcP1T7_tNMLb0QGK7aSIBw&ved=0CEsQ6AEwAQ#v=onepage&q&f=false

O Java tem a interface Observer e a classe Observable que podem ser usadas para implementar este padrão.

morcinek

Boa tarde al.barbosa

O frame das tabelas no caso, pega informações, que guardo em Arraylists que são salvas em arquivos serializados. A que possui as informações, ou por onde eu pego seria a Classe onde tenho os metodos de Get e Set, e os metodos para os calculos?
No caso do Frame das tabelas, tenho um botao de busca, que abre algumas informações nas tabelas, a partir dai habilito outro botão para fazer os calculos, que puxa o metodo de outra classe, nesse mesmo botao gostaria de a partir do resultado feito por ele, jogar para um outro frame, q apenas abriria uma janela bem pequena para serem exibidos os resultados…

vou dar uma olhada no livro e dar uma estudada, tomara que eu consiga, obrigado!

al.barbosa

Isso, geralmente a classe que possui as informações é a que contém os métodos get e set e realiza os cálculos. Essa classe é um bom candidato para ser o Observable (observado).

ViniGodoy
morcinek

Boa noite ViniGodoy!

por acaso estava com esse forum aberto, e tentando implementar hehe, obrigado! mas olha só:

na tela das tabelas, onde tenho o botao que calcula e seta os valores em variaveis do tipo (double), esta somente chamando a tela onde vai ser exibido os resultados, mas na mesma tela foi onde criei o metodo que manda a informação (?) :

JTextField tfSub1 = new JTextField();

    protected void mandaInfo(){
 
        Dados1 classe = new Dados1();

        tfSub1.setText(String.valueOf(classe.getSubtotal1()));

    }

e na tela onde vai ser exibido apenas instanciei a classe, e chamei o metodo mandaInfo(), aparentemente tudo ficou certo, mas creio que nao enviou nada e muito menos foi exibida…
se puder me explicar, pois a pouco tempo iniciei a programar em Java …

morcinek

Agora testei o metodo no frame onde quero que os valores sejam exibidos, ele volta com o valor 0… e não com oq foi calculado no frame das tabelas…

ViniGodoy

O ideal é que a outra janela seja um JDialog modal, e não um JFrame. Caso contrário, o método setVisible() irá retornar assim que a janela for aberta.
Os JDialogs modais fazem o método setVisible esperar até que a janela feche (isso é, que o usuário escolha alguma coisa) para liberar o setVisible.

Criado 4 de julho de 2012
Ultima resposta 6 de jul. de 2012
Respostas 9
Participantes 4