Inserir Linhas no JTable

Estou com uma termenda dúvida…
Criei,minha tabela ela apenas mostra o q foi cadastrado no banco, tenho meu table model também…
Porém não sei como fazer para inserir linhas, alguém pode me ajudar???

Quem insere linhas na JTable é o TableModel, se vc tem um TableModel próprio ele deve ter a capacidade de adicionar rows… É o TableModel que define quantas linhas devem aparecer no JTable!!!

Isso mesmo, ele só tá imprimindo na tabela os dados que estão no banco, porém ele não insere novas linhas, gostaria de saber como fazer isso…

Isso mesmo, ele só tá imprimindo na tabela os dados que estão no banco, porém ele não insere novas linhas, gostaria de saber como fazer isso…

Pois é Kelly, isso depende da sua implementação do TableModel, agora se tu usaste o TableModel padrão, dá uma olhada na classe DefaultTableModel, ela possui métodos como addRow() que provavelmente solucionam as tuas dúvidas…

Qquer coisa posta aí!!!

Ps.: Se a implementação do TableModel foi sua, dependerá de como vc implementou o mesmo!!!

Dá uma olhadinha no meu código então…

import java.util.Vector;
import javax.swing.table.DefaultTableModel;

public class TabelaModel extends DefaultTableModel
{
private Vector dados;
MySql banco = new MySql();

public TabelaModel()
{
	super();
	initialize();
}


public void initialize() 
{
	try
	{
		dados = banco.consultar();
	}catch(Exception e){e.printStackTrace();}

}

public int getColumnCount() 
{
	return 16;
}

public String getColumnName(int arg0) 
{
		switch (arg0) 
		{
			case 0:
					return "Cliente";
			case 1:
					return "Localidade";
			case 2:
					return "Circuito";
			case 3:
					return "Tecnologia";
			case 4:
					return "Qrpvc";
			case 5:
					return "Qtport";
		    case 6:
					return "Qrport";
			case 7: 
					return "Qtpvc";
			case 8:
					return "Banda UtilizadaIn";
			case 9:
					return "CIR Outt";
			case 10:
					return "Banda UtilizadaOut";
			case 11:
					return "CIR Out";
			case 12:
					return "TUBIn";
			case 13:
					return "TUBOut";
			case 14:
					return "BCIn";
			case 15:
					return "BCOut";  
			default:
					return "unknow" + arg0;    
		}
}
public int getRowCount() 
{
	if (dados == null)
		return 0;
	else
		return dados.size();
}

public Object getValueAt(int linha, int coluna)
{
	switch (coluna)
	{
		case 0 :
			return ((TabelaBean) dados.get(linha)).getCliente();
		case 1 :
			return ((TabelaBean) dados.get(linha)).getLocalidade();
		case 2:
			return ((TabelaBean) dados.get(linha)).getCircuito();
		case 3:
			return ((TabelaBean) dados.get(linha)).getTecnologia();
		case 4:
			return Integer.toString(((TabelaBean)dados.get(linha)).getQrpvc());
	    case 5:
			return Integer.toString(((TabelaBean)dados.get(linha)).getQtport());
		case 6:
			return Integer.toString(((TabelaBean)dados.get(linha)).getQrport());
		case 7:
			return Integer.toString(((TabelaBean)dados.get(linha)).getQtpvc());
		case 8:
			return Integer.toString(((TabelaBean)dados.get(linha)).getBandaUtilizadaIn());
		case 9:
			return Integer.toString(((TabelaBean)dados.get(linha)).getCirin());
		case 10:
			return Integer.toString(((TabelaBean)dados.get(linha)).getBandaUtilizadaOut());
		case 11:
			return Integer.toString(((TabelaBean)dados.get(linha)).getCirout());
		case 12:
			return Integer.toString(((TabelaBean)dados.get(linha)).getTubIn());
		case 13:
			return Integer.toString(((TabelaBean)dados.get(linha)).getTubOut());
		case 14:
			return Integer.toString(((TabelaBean)dados.get(linha)).getBcin());
		case 15:
			return Integer.toString(((TabelaBean)dados.get(linha)).getBcOut());            
		default :
			return "unknow";
	}
}

}

Hmmm, vc poderia por exemplo criar um método mais ou menos assim:

public void createEmptyRow() {
  dados.add(new TabelaBean());
  fireTableRowsInserted(dados.size() - 1, dados.size() - 1);
}

Ahh, vc vai ter que implementar o método setValueAt(Object o, int row, int column) para digitar os dados.

Também pode acontecer de seu getValueAt não tratar valores null como deve e isso pode lhe causar problemas…

Vc pode ter problemas ainda para inserir os novos dados no banco, não sei como vc pensa implementar isso… Talvez o melhor fosse criar uma TableModel com capacidade de descobrir o que não foi persistido ainda e o que já foi…

Mas espero que tenha lhe ajudado de alguma maneira!!!

Obrigada pela dica, deu tudo certo!!!