tenho um jinternalframe de cadastro, no qual tem um botão de consulta, que consulta registros cadastrados. quando este botão é clicado ele abre um jdialog o qual exibe um jtable com os registros, qdo eu dou um duplo clique em um registro, eu quero que volte ao jinternalframe e coloque os valores nos seus devidos campos, para uma edição!
capturar o duplo clique e pegar os valores da linha tah tudo certo, o problema tah sendo passar os valores do jdialog pro jinternalframe.
Ao invés de pensar em “comunicação entre janelas”, tente pensar em “comunicação entre objetos”…
L
leoloko
Bom, não ajudou muito… mas vou tentar pensar…
R
Romeo
Quando o usuario da o duplo clique vc provavelmente fecha o JWindow certo? Então antes disto cria um método para capturar estes dados dentro do JDialog e manda para ele…
L
leoloko
bom, ao dar um duplo clique eu obtenho os dados da linha do jtable e guardo em 2 variaveis… mas como passar essas duas variaveis devolta para o jinternalframe? sendo que são classes separadas!!!
L
leoloko
Opa, estava aqui pensando… quando vc diz comunicação entre objetos, existe um tipo de objeto global? que eu possa acessa-lo de onde estiver?
Pq aqui no meu caso, por exemplo, tenho 2 classes, tipo TelaJInternalFrame.java e telaJDialog.java apartir do jinternalframe eu chamo o jdialog, como eu me comunicaria entre os objetos de cada classe? você poderia me dar um exemplo bem simples… nem precisa usar swing… mas só exemplificar essa comunicação!
Vlwz
V
ViniGodoy2 likes
Fuja do GLOBAL!!!
Quando você faz um JDialog, você cria um filho de JDialog, certo?
Então, porque não colocar lá simplesmente um método que retorne o valor?
publicclassDialogQueTemOValorQueQueroRetornarextendsJDialog{privateintvalorSelecionado=0;//Aqui vai a parte que você montar a interface gráfica.publicintgetValorSelecionado(){returnvalorSelecionado;}}
Depois no seu JInternalPane simplesmente faça:
DialogQueTemOValorQueQueroRetornar dlg = new DialogQueTemOValorQueQueroRetornar();
dlg.setModal(true);
dlg.setVisible(true);
int selecionadoNoDialog = dlg.getValorSelecionado();
V
ViniGodoy2 likes
Oi.
Elaborei um exemplo simples em anexo.
Preste atenção no método onAlterar da classe FrmInformacao.
Depois veja o que fiz no JDialog.
Note que eu poderia fazer o mesmo para Dialog e JFrame.
E, ao invés de fazer retornar campo a campo como eu fiz ali, eu poderia fazer a Dialog instanciar e preencher uma nova classe e retonar um objeto só.
F
fabim
bom…
nesse dialog vc tem uma table né?
entao, na table vc tem seus objetos adicionados nela certo? (ou vc está criando arrays de string pra colocar nela?)
se fossem campos textfield, na hora do “ok”, vc instanciava o objeto em questao (que o dialog representa), passava os valores pra ele, e criava um metodo no dialog q retornasse esse objeto…
mas como vc tem uma table, e na table ja estao adicionados os objetos, vc pega o objeto selecionado na table e retorna ele no método
L
leoloko
ViniGodoy:
Oi.
Elaborei um exemplo simples em anexo.
Preste atenção no método onAlterar da classe FrmInformacao.
Depois veja o que fiz no JDialog.
Note que eu poderia fazer o mesmo para Dialog e JFrame.
E, ao invés de fazer retornar campo a campo como eu fiz ali, eu poderia fazer a Dialog instanciar e preencher uma nova classe e retonar um objeto só.
Perfeito, entendi como funciona… funcionou certinho aqui, mas o mais importante é entender o que está sendo feito, e deu pra entender tranquilo…
Mais uma vez muito obrigado fera!!! e muito obrigado aos outros também!!
T+
L
lsouzabr
ViniGodoy
Obrigado, pelo exemplo!!!
G
gustavojava
Tentei acessar rodar o Método Main, mas ele nao encontra acha o FrmInformacao.java
G
gustavojava
[b]ola fabim eu so tenho um jtable comun , sem nada…mas quero receber um objeto por exemplo MEDICOS no meu JDialog
e de acordo com esse objeto eu alterar as colunas do JTable…
valeu[/b]
G
gustavojava
Ola amigos estou com uma dúvida, eu tenho dois JinternalFrame com nomes:
frame01: que chama o frame02
e no frame02 , tenho um jtable com dados, gostaria de clicar no jtable do frame02
ele fechar e o frame01 receber os dados.
Alguem sabe como fazer?
Valeu
J
JuanCost
ViniGodoy:
Oi.
Elaborei um exemplo simples em anexo.
Preste atenção no método onAlterar da classe FrmInformacao.
Depois veja o que fiz no JDialog.
Note que eu poderia fazer o mesmo para Dialog e JFrame.
E, ao invés de fazer retornar campo a campo como eu fiz ali, eu poderia fazer a Dialog instanciar e preencher uma nova classe e retonar um objeto só.
Vini, fiz estou tentando fazer com um JText setando uma variavel de uma Combobox(populada com MySQL) de outra classe, mas não seta nada. Detalhe, tentei criar uma nova pra test e sem estar conectada ao MySQL, mas só retorna o primeiro da lista da JCombo e não a que foi selecionada. Já tentei muita coisa, mas não seta mesmo. Se puder me ajudar… Obg!!!
T
tomorrowdoesntmakese
Por um momento, pensei estar passando por um déjà vu.