JTextField com JTable

fiz um tela de cadastro que possui inumeros JTextFields e to querendo q dpois eu clique no botao salvar o conteudo dos JtextFields sejam adicionados em um JTable.

alguem pode me ajudar a fazer isso!!

:?: :?: :?:

Manda ae a parte do seu codigo em que vc cria a tabela… que eu te ajudo a fazer ok?

Só uma dica…

Faça um método : consultarTabela() “onde sera feito o select na tabela do seu banco”

Faça outro método: preencherTabela() " onde vc vai declarar um String v[] = new String[ qtd de campos ] , usando vetor fica mais facil de se fazer isso.

Declare um modelo para sua table e depois chame ele no get de sua Table

nomeDaTable= new JTable(modelo)

private DefaultTableModel modelo = new DefaultTableModel(titulo,0);


é mais o menos por ai se você colocar seu código poderei te ajudar melhor… blz !

Qualquer duvida estamos ai :slight_smile:

//Inicializando a tabela de dados

DefaultTableModel tmodCadastro = new DefaultTableModel(camposTabela,0);//campos da tabela e uma string com os nomes dos campos
	
tblPesquisa = new JTable(tmodCadastro);
	
scpTabela = new JScrollPane(tblPesquisa);
scpTabela.setPreferredSize(new Dimension500,150));

me desculpe fiz confusão… achei que queria clicar nos dados adiconados na tabela e jogar todos eles preenchendo corretamente as txt correspondentes a eles…

Bom coloque a ação no seu botão gravar desse modo:


			btnCadastrar.addActionListener(new ActionListener()
			{
				public void actionPerformed(ActionEvent e)
				{
					boolean aux=true;
					aux= aux && c.setNome(txtNome.getText());
					aux=aux && c.setValor(txtNome2.getText());
					
					if(aux==true)
					{
						boolean result = c.inserir(); // aqui ficou como c.inseiri pois foi criado uma classe onde possui o metodo inserir.
	    				if(result==true)
						{
	    					String v[]=new String[3];
	    					v[0]=txtCodigo.getText() ;
	    					v[1]=txtNome.getText() ;
	    				        v[2]=txtValor.getText() ;
	    					modelo.addRow(v);
		    				JOptionPane.showMessageDialog(null,"Seus dados foram cadastrados com sucesso!","",1);
		    				
						}
						else
						{
    						JOptionPane.showMessageDialog(null,"Houve um erro e seus dados não foram cadastrados.","",2);
						}
     				}
				}
			});
		}
		return btnCadastrar; 
	}

Acho que é isso ae…
qualque coisa manda ae que agente tenta resolver

valeu por ta me ajudando!

  • cara não entendi vc pode me esplicar + detalhadamente!!
    :?: :?: :?:

obrigado!!

vamos lá…

vc quer clicar no botão salvar e adicionar tudo numa table…

vou colocar um exemplo funcionando aqui e tentar comentar ao máximo para você entender…

Nesse caso usei duas classes…

classe TelaVendedor.java // na tela é onde está o botão com a ação segue código abaixo

classe Vendedor.java // onde estão as validações e onde está meu método gravar.


private JButton getBtnGravar()
 {
	if (btnGravar == null) {
	btnGravar = new JButton();
	btnGravar.setBounds(new java.awt.Rectangle(165,284,116,37));
	btnGravar.setText("GRAVAR");
	btnGravar.addActionListener(new ActionListener()
	{
		public void actionPerformed(ActionEvent e)
		{
			
                        v =new Vendedor();
				 
			 v.setNome(txtNome.getText());
			 v.setRg(txtRg.getText());
			 v.setCpf(txtCpf.getText());
			 v.setEnd(txtEnd.getText());
			 v.setTel(txtTel.getText());
			 v.setCodFunc(Integer.parseInt(txtCodFunc.getText()));
						 			 
			boolean result = v.gravar();
		    	if(result==true)
			{
	// aqui estou adicionando na tabela os dados da txt como no meu caso são 6txt utilizei String[6] e fiz os gets. 
	    		
                             String ve[]=new String[6];
		    		ve[0]=txtCodFunc.getText() ;
		    		ve[1]=txtNome.getText() ;
		    		ve[2]=txtRg.getText() ;
		    		ve[3]=txtCpf.getText() ;
		    		ve[4]=txtEnd.getText() ;
		    		ve[5]=txtTel.getText() ;
		    			    
		    		modelo.addRow(ve);
			    				JOptionPane.showMessageDialog(null,"Seus dados foram cadastrados com sucesso!","Cliente",1);
			    				
								
			}
			else
			{
	    			JOptionPane.showMessageDialog(null,"Houve um erro e seus dados não foram cadastrados.","Cliente",2);
			}
	  	}
				});
			}
			return btnGravar; 
		} 

Agora minha Classe vendedor.java com o método gravar()

public boolean gravar()
	{
	   
		String sql = "insert into tbFuncionario values('" + this.nome + "','" + this.rg + "','"+ this.cpf +"','"+ this.end +"','"+ this.tel +"',"+this.codFunc+")";
		String driver ="jdbc:odbc:[nome do driver]";
		try
		{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			Connection conn = DriverManager.getConnection(driver,"","");
			PreparedStatement pst = conn.prepareStatement(sql);
			pst.executeUpdate();
			conn.close();
			return true;
		}
		catch (Exception e)
		{
			return false;
		}
	}

Ve ae o que deu pra ajudar se num ficou muito claro só perguntar que eu tento te ajudar ok?
:slight_smile:

deste jeito eu consigo passar o conteudo dos meus TextFields para um JTable :?:

bom eu estou com esse exemplo que te passei funcionando em minha aplicação onde eu cadastro um funcionario e os dados das txt são adicionados na table…

não está funcionando com vc ?

Coloque o modelo também em sua tabela com…


private String titulo[]={"Código","Nome","RG","CPF","Endereço","Tel"};
private DefaultTableModel modelo = new DefaultTableModel(titulo,0);

na sua table coloque


tbFuncionario = new JTable(modelo)

kra to com outra duvida se vc puder me ajudar!!!

e o seguinte:

to fazendo esse cadastro q vc acabou de me ajudar e nesse tem um combobox que e o nome do curso q essa pessoa vai fazendo,certo.
qnd eu vou fazer o cadastro do primeiro aluno n existem nenhum curso cadastrado ai eu criei um novo botao q fik ao lado do combobox e serve para abrir uma nova janela q é a de cadastro de curso.

eu queria saber se tem como eu cadastra essa turma e add na combobox em tempo de execurcao!!

se vc puder me ajudar em mais esse,serei mt grato!!

Nunca fiz nada desse tipo… mais acredito que é simple, basta criar um método para preencher a combo e chama-lo logo após o cadastro da turma,
esse método de preencher a combo com os valores do banco tem em outro tópico http://www.guj.com.br/posts/list/44969.java . pegue esse método e chame ele logo após o cadastro de sua turma deve funcionar não sei… tenta ae e manda os resultados pra gente ver…