Oi gente…
eu criei um modelo de uma tabela e funcionou… fiquei surpreso… de primeira \o/
masss… como nd é perfeito sempre vem algo errado…
a tabela vem mas… o titulo da coluna vem escrito somente “A”… onde eu mudo isso??
pergunta besta essa minha… mas não encontrei nada por aih a fora.
e outra coisa… como eu faço pra pegar o valor de uma linha selecionada??
mt obrgado!!
Sobrescreva o método getColumnName, no seu TableModel.
Pode postar o código do seu TableModel aqui?
A tabela também fornece os método getSelectedRow() e getSelectedRows(). Aí é só perguntar para o seu model que objeto está naquela linha.
valeu pela atencao vini
aqui esta o tablemodel
public class ModeloTabelaQuestao extends AbstractTableModel
{
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
private QuestaoFacade questaoFacade = (QuestaoFacade) context.getBean("questaoFacade");
private ArrayList questaoLista = new ArrayList();
private String[] colunas = {"Questao"};
public ModeloTabelaQuestao()
{
questaoLista.addAll(questaoFacade.obterTodos());
fireTableDataChanged();
}
public void addQuestao(Questao questao)
{
questaoLista.add(questao);
fireTableDataChanged();
}
public void addListaQuestao(List list)
{
questaoLista.addAll(list);
fireTableDataChanged();
}
public void LimparDados()
{
questaoLista = new ArrayList();
fireTableDataChanged();
}
public int getRowCount() {
return questaoLista.size();
}
public int getColumnCount() {
return colunas.length;
}
public Object getValueAt(int rowIndex, int columnIndex) {
Questao q = (Questao) questaoLista.get(rowIndex);
switch(columnIndex)
{
case 0:
return q.getDescQuestao();
default:
return null;
}
}
}
eu peguei de um exemplo no forum… mas eu qru so uma coluna… agora escrevendo esse post… estava pensado pq eu não estou usando lista 'oO…
pq eu quero um daqueles negocios de adicionar, remover de uma lista para outra…
valeu!
Você pode criar métodos práticos como:
public Questao getQuestao(int linha) {
return questaoLista.get(linha);
}
Outra coisa, ao invés de sempre usar o fireTableDataChanged, use também o fireTableRowAdded, removed, etc.
tentei isso
mas eu tive que fazer cast para questao
public Questao getQuestao(int linha)
{
return (Questao) questaoLista.get(linha);
}
iah dah exeception de Array outofbound.
eu tenho que pegar por esse tipo para que eu possa settar ele em outro objeto mais tarde… mas está complicado =/
tentei com a lista… e tambem não consegui fazer cast
valeu!
kkkk
um dia eu ainda me mato… tava fazendo o teste errado xD
aqui o codigo
//metodo para inserir
public void InserirQuestao()
{
Questao questao = (Questao) context.getBean("questao");
questao = modeloTabelaQuestao.getQuestao(jTableQuestao.getSelectedRow());
listModelQuestaoSelecionada.addElement(questao);
}
e o metodo do modelo ^^’
public Questao getQuestao(int linha)
{
return (Questao) questaoLista.get(linha);
}
muito obrigado Vini pela atencao… desculpa a enxecao de saco ^^’