Duvida com JTable [RESOLVIDO]

Caros amigos,

Estou implementando uma tabela no padrão MVC-DAO.

Segue o codigo da tabela.

[code]String[] colunas = new String[]{“Serviço”,“Quantidade”,“Valor”};
String[][] dados = new String[][]
{
{“Pintura”,“10”,“25.00”}
};

private JTable getTabelaOrcamento() {
if (tabelaOrcamento == null) {
DefaultTableModel modelo = new DefaultTableModel(dados, colunas);
tabelaOrcamento = new JTable(modelo);
tabelaOrcamento.setBounds(new Rectangle(5, 431, 1463, 124));
}
return tabelaOrcamento;
}
}[/code]

Estou com duvida de como colocar um Titulo na Celula, como se fosse num excel da vida, também gostaria de implementar uma funcao de uma determinada celula apresentar um seta para baixo, como é num JComboBox.

Alguem pode ajudar??

Abraços

Salve, tudo certo?

Não consegui entender isso de por título na célula, o que você quis dizer exatamente? (:

Quanto a adicionar um JComboBox dentro de uma célula, você precisa trabalhar com a classe CellEditor. Veja algumas referências:

[1] http://www.exampledepot.com/egs/javax.swing.table/ComboBox.html
[2] http://www.devmedia.com.br/articles/viewcomp.asp?comp=2135
[3] http://www.arquivodecodigos.net/sistema/main/visualizar_dica/493

Abraços! (:

Francisco,

Imagina uma tabela no excel…

Onde tem

Serviço
Pintura
Troca

Quantidade
1
2

O que tá em negrito seria o Titulo que eu to querendo…

ABs

Oi Marcos (:

Entendi xD Coloca a sua JTable dentro de um JScrollPane:

  // Código que cria a tabela
  JScrollPane panel = new JScrollPane(tabela);
  // configura o tamanho do JScrollPane e adiciona ele (e não a tabela) à janela

Abraços :wink:

Sinto muito. Se você está usando o DefaultTableModel, você não está usando o padrão MVC. Sua lógica de negócios fatidicamente se misturará com a lógica de view.

No lugar, procure criar um TableModel próprio, filho de AbstractTableModel.
http://www.guj.com.br/posts/list/132698.java#714736

Vini Godoy,

Valeu pela dica mas nao consegui colocar em pratica pro que eu estou precisando.
Mas nao desisto.

Obrigado !!!

Resolvido.

.