Gente primeiro vou explciar minha situação depois posto o que fis! … eu tenho um formulario de pesquisa e nele contem um JTable que tem linhas de nomes que cadastrei no meu banco para test, tenho um botao para editar essas linhas, eu quero quando selecionar a linha na minha JTable e apertar o botao ele abrir o otro form ja com o resultset da linha selecionada! olha o que ja consegui
privatevoidbt_editarActionPerformed(java.awt.event.ActionEventevt){try{con_Tabela=newconexaoMysql();con_Tabela.conectar();con_Tabela.executeSQL("select * from cliente");con_Tabela.resultset.absolute(tbClientes.getSelectedRow()+1);Stringsql="select * from cliente Where codigo = "+(con_Tabela.resultset.getInt("Codigo"))+";";Stringnome="Alterar o cliente : "+con_Tabela.resultset.getString("nome")+" ?";intopcao_escolhida=JOptionPane.showConfirmDialog(null,nome,"Exclusão ",JOptionPane.YES_NO_OPTION);if(opcao_escolhida==JOptionPane.YES_OPTION){// até aqui consegui chegar sem problema nenhum o problema é AQUI como pegar a linha selecionada aqui transformar ela em um objeto e abrir um otro form com esse objeto ja listado na tela!OBS:Reforçoqueootroformjaestacriadoeserelacionandocomobancoperfeitamente!!!}}catch(SQLExceptionerro){pintameuerronatelaaeirmão!!}}
Muito obrigado pela atencao e pela posível ajuda! THANKS!
Olhá só. Use o método getValues( Linha_selecionada,Coluna_Desejada) de JTable.
M
Man_United
certo consegui obter o resultado da linha selecionada, agora vem a parte mais dificil… veja bem a real situação …
Form A = form da linha selecionada(Tela que ira ser fechada)
Form B = form aonde insiro o item da linha selecionada(Tela aberta constante)
como fecho o form A depois te ter pego a linha e insiro no Form B que esta aberto, e insiro esse item da linha selecionada em um JTextField do Form B automaticamente?!?!?!?!? tipo cliquei na linha e apertei no botao esse form fecha e insere o nome no otro formulario que ja esta aberto entende?
RobsonCassol
Vc quer uma tela com uma tabela onde são listados os resultados do banco, então quer alterar esses registros em uma segunda tela que abre sobre a tela com a tabela ? é isso?
explique melhor por favor.
M
Man_United
vamo la vo tentar explica melhor…
eu tenhu um Form(A) que tem um jtable eu tenho um botao que clico nele e ele pegar a linha selecionada da jtable… ate ai consegui fazer o meu problema eh apartir dai, quero depois que selecionei essa linha quero que meu form A feche, e no meu form(B) que tambem esta em execulsao, quero que em um campo JTextfield insira o que selecionei da jtable do form A, entendeu??? sei que é meio dificil entende algumas expressoes mas qualquer coisa tento re-explicar melhor e obrigado!
worldsoft
Uma Pergunta: O seu form(B) ele entra em execulção antes do form(A) ou Depois? Bom se form depois é só voce criar um parametros no seu form(B) que exija ou não, que quando voce chamar o seu form(B) para execução seje passado esses valores do JTable do Form(A) como parametros.
Metaleiro
[color=darkblue]Não sei se é isso que você precisa, mas uso isso, quando clico na JTable : [/color]
table.getSelectionModel().addListSelectionListener(newListSelectionListener(){publicvoidvalueChanged(ListSelectionEvente){if(!e.getValueIsAdjusting()){//A classe que você quer, com os parâmetrosJFramejiframe=newJFrame();}}});
ken420
ela usa um botao para abrir nao o mouse.
M
Man_United
worldsoft o form B ja esta em execulsão ele no caso e a tela principal e o form A é o form aonde pego a linha selecionada quero selecionar a linha no form A e clicar no botao e ele setar no jtextfield no form B
worldsoft
Cara olha só meio feio mais funciona.
Faz assim cria um parametro na classe (B). E ai quando você chamar o form B para execulsão, você pega os valores da Tabela selecionada e aloca os valores nesse parametro da classe (B). depois você cria um metodo na classe (A) que quando você retornar para ela, esse metodo vai até a classe (B) e pega os valores alocado nos parametros entendeu?
Obs: sua classe (B) teria que ser do tipo modal.
Ex:
private classe B(){
String paramentro_A;
String parametro_B;
etc...
public getTabelaSeleciona(){
.
.
.
}
}
private classe A(){
public meus_metodos(){
new Classe_B().setVisible(new JFrame(), true);
getPegaParametrosClasseB();
}
private void getPegaParametrosClasseB(){
.
.
.
}
}
Metaleiro
Metaleiro:
[color=darkblue]Não sei se é isso que você precisa, mas uso isso, quando clico na JTable : [/color]
table.getSelectionModel().addListSelectionListener(newListSelectionListener(){publicvoidvalueChanged(ListSelectionEvente){if(!e.getValueIsAdjusting()){//A classe que você quer, com os parâmetrosJFramejiframe=newJFrame();}}});
[color=darkblue] No método que criei acima com o clique do mouse, usando TableModel eu faço quase isso, você quer pegar os valores da célula clicada, passar para um select, isso com o botão :[/color]
//Pega os valores da table clicadajavax.swing.table.DefaultTableModeldtm=(javax.swing.table.DefaultTableModel)table.getModel();int[]selRows;selRows=table.getSelectedRows();Objectvalue;//Aqui você trabalha da maneira que desejarfor(inti=0;i<3;i++){TableModeltm=table.getModel();value=tm.getValueAt(selRows[0],i);switch(i){case0:System.out.println("value.toString()");break;case1:System.out.println("value.toString()");break;case2:System.out.println("value.toString()");break;default:break;}//Se quiser saber se os valores estão vindo corretosSystem.out.println("ValoresdaJTable:"+value);}//Aqui você coloca no método para chamar o JInternalFrameJInternalFrameframe=newJInternalFrame(ListaDoQueVoceQuer);frame.setResizable(true);frame.setClosable(true);frame.setVisible(true);//Provavelmente você tem um JDesktopPanedesktopPane.add(frame);//Depois usa o método dispose para fechar seu JInternalFrame ou outra forma para outros componentes que você chamar
[color=darkblue]Eu uso dessa forma, se alguém conhecer outra forma fique a vontade [/color]