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!
Enviar resultados para outro jFrame
9 Respostas
Implemente isso no construtor, ou um método público de acesso… Você está seguindo algum pattern, MVC/MVP por exemplo??
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,
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:
O Java tem a interface Observer e a classe Observable que podem ser usadas para implementar este padrão.
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!
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).
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 …
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…
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.