Pessoal tenho 2 telas em aberto! o 1 form tem 1 tabela com um nome, ja criei o metodo para capturar a linha da minha jtable, o que me falta eh o seguinte: quando eu clicar nessa tabela ele capturar o campo nome selecionado dar um dispose(); na tela e levar para uma jtextfield! :l algueim me da uma maozinha?
JTable
9 Respostas
Amigo, explique melhor o que você quer fazer.
isso ficou muito confuso…
table.getSelectionModel().getLeadSelectionIndex();
this.dispose();
isso deve ajudar…
umm ok vamos la, tenho uma jtable, com 2 campos codigo e nome, primeiro eu quero capturar o campo nome da linha selecionada e jogar para um jtextfield que esta em outra tela!
Voce poderia implementar um listener para sua tabela, ai o evento dispararia e modificaria o ouro formulario.
Da uma procurada no padrão Observer…
padrao observer que vc dis eh no caso padrao de projeto OBSERVER? pq se for tenho um livro aqui use a cabeca java padroes de projetos n sei se é disso que esta falando
Justamente este sujeito… :lol:
Tipo ficaria sua JTable sendo o source e seu outro formularia um listener. Voce poderia implementar seu proprio evento acrescentando uma valor, o numero de linhas selecionadas, qualquer coisa a mais. Ou poderia Implementar uma classe que implementas ActionLisntener e MouseListener e colocar as ações, oque devereia ser feito quando selcionarmos uma linha desta JTable ai vc adicionaria esta classe como listener no seu formulario.
De uma esdudada neste padrão, será de grandee auxilio pois o Swing é baseado tanto do MVC quanto no Observer para controle de eventos, ele já tem muito controladores de ventos prontos…
Depois de muito trabalho eu consegui copiar minha linha da jtable! e armazenei o texto em uma string chamada nome2;
agora veja o q preciso fazer eu capturo essa String nome2 quando seleciono uma linha na jtable e cliquo no botao inserir, ta mas agora preciso que ele feche essa tela no caso irei usar a função dispose(); ate ai tudo bem mas como vou fazer para quando fechar essa tela de insersão ele inserir automaticamente em um jTextfield a minha String nome2, no qual selecionei na janela anterior! oq fazer?!?!?!?!? :roll:
Neste momento agora, apos vc ja possuir o valor do nome.Vc deve de alguma forma ter uma referencia para a tela que voce irá setar o valor.
Caso esta JTbable esteja na mesma interface grafica de seu JTextField, só é necessario voce fazer algo mais ou menos assim
String nome = "O nome de uma pessoa"; // Valor que vc capturou na seleção de sua JTable
jTextFieldNome.setText(nome);//supondo que seu JTextField que aramazene o nome seja o jTextFieldName
Outra solução seria vc capturar todo o objeto desa linha, e ter um metodo que setaria em todos os campos a propriedade que desejasse em casa JTextField.
entao o problema é que essa jtable esta no form A, e o jtextfield esta no form B, como vo inserir a string da jtable do form A no jtextfield do form B?
Agora ou vc constroi um metodo no Form B ou adciona este forme B como sendo um listener do FormA ai implementa ele com o codigo
public void addMsg(String msg){
jTextFieldNome.setText(msg);
}
Agora isso no Form B