Olá!
Eu estava usando JTable com Vectors para preenchê-la, porém agora preciso utilizar um array para colocar o nome das colunas e uma matriz para colocar os valores das linhas. Bem, parece simples, porém estou me enrolando na hora de colocar os valores nas linhas e gostaria de uma ajuda.
Eis o código de como ficou a montagem:
class Modelo extends AbstractTableModel {
private boolean DEBUG = false;
private String[] columnNames = {"Matrícula",
"Nome",
"Data de Nascimento",
"E-mail",
"Ênfase",
"CPF",
"RG",
"Ano Ingresso"
};
private Object[][] data = null;
public int getColumnCount()
{
return columnNames.length;
}
public int getRowCount()
{
if (data == null)
{
return 0;
}
else return data.length;
}
public String getColumnName(int col)
{
return columnNames[col];
}
public Object getValueAt(int row, int col)
{
return data[row][col];
}
public Class getColumnClass(int c)
{
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int col)
{
return false;
}
public void setValueAt(Object value, int row, int col)
{
if (DEBUG) {
System.out.println("Setting value at " + row + "," + col
+ " to " + value
+ " (an instance of "
+ value.getClass() + ")");
}
data[row][col] = value;
fireTableCellUpdated(row, col);
if (DEBUG) {
System.out.println("New value of data:");
printDebugData();
}
}
Agora faço uma consulta no banco de dados e quero preencher a minha tabela:
ArrayList array = metodos.mostraPesquisa("SELECT nome, matricula, rg, cpf, tipo, ano_ingresso, nascimento, email FROM aluno WHERE nome like '"+tnome.getText()+"%' ORDER BY nome");
Iterator iterator = array.iterator();
if (iterator.hasNext())
{
do
{
Aluno aluno = (Aluno)iterator.next();
...
...
...
// Aqui eu tenho que colocar os valores da consulta do banco, nas linhas da minha JTable.
// Mas não sei como fazer
}
while (iterator.hasNext());
}
tabela.updateUI();
Alguém pode me dar uma ajuda?
OBS: Não adianta fazer data = {
{ valores }
};
Pois dai a cada volta de dentro do while, ele vai apagar os registros anteriores.
Um exemplo seria bem vindo…
Valeu…