Olá,
Alguem sabe como fazer para que uma JTable mostre que determinada COLUNA possui um COMBOBOX?
[]'s
Olá,
Alguem sabe como fazer para que uma JTable mostre que determinada COLUNA possui um COMBOBOX?
[]'s
[quote=davidtiagoconceicao]Tá na mão:
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#combobox[/quote]
Olá David,
Obrigado, já havia visto este link, porem se você executar a Table não mostra qual das colunas é COMBOBOX, somente aparece quando você clica na célula.
Preciso que ao carregar a tabela, mostra que a célula X possui um COMBOBOX.
Sabe como fazer isso?
Neste caso, você vai precisar criar um renderer e criar um comboBox para a determinada coluna. Nesta mesma página que te passei há um exemplo disto:
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#renderer
[quote=davidtiagoconceicao]Neste caso, você vai precisar criar um renderer e criar um comboBox para a determinada coluna. Nesta mesma página que te passei há um exemplo disto:
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#renderer[/quote]
David,
Já tenho criado o Renderer e o ComboBox. Porem não consigo fazer com que ele “apareça”.
Sabe o que devo fazer com o Renderer?
Não estou entendendo.
Você quer que o combo liste as opções, é isso? Se não for, por favor descreva melhor o problema.
[quote=davidtiagoconceicao]Não estou entendendo.
Você quer que o combo liste as opções, é isso? Se não for, por favor descreva melhor o problema.[/quote]
Eu quero o seguinte:
A Table é preenchida com linhas e colunas, mas não mostra qual célula possui uma ComboBox.
Para ver se o campo é ComboBox ou não, preciso clicar nele. Ai sim, aparece a combo.
Gostaria que ao carregar, já estivesse aparecendo que a Coluna x possui ComboBox em todas as suas linhas.
Que as ComboBox já estivessem ‘ativas’ e não descobrir célula pôr célula o que é editável ou não.
[quote=juliospark][quote=davidtiagoconceicao]Não estou entendendo.
Você quer que o combo liste as opções, é isso? Se não for, por favor descreva melhor o problema.[/quote]
Eu quero o seguinte:
A Table é preenchida com linhas e colunas, mas não mostra qual célula possui uma ComboBox.
Para ver se o campo é ComboBox ou não, preciso clicar nele. Ai sim, aparece a combo.
Gostaria que ao carregar, já estivesse aparecendo que a Coluna x possui ComboBox em todas as suas linhas.
Que as ComboBox já estivessem ‘ativas’ e não descobrir célula pôr célula o que é editável ou não.
[/quote]
Aaahn tah!
Ok, acredito que você possa fazer isso usando o renderer mesmo.
Você criou um renderer que gera um componente do tipo JComboBox?!
Associou este renderer à classe da coluna que você quer?!
Não basta perguntar o seu model qual das colunas retorna um Boolean.class???
Agora para mostrar um combo no JTable, basta fazer o model retornar Boolean.class na coluna desejada. A tabela exibirá um combo para cada linha, mesmo que nunca tenha sido clicada. Qualquer comportamento diferente disso é estranho.
[quote=ViniGodoy]Não basta perguntar o seu model qual das colunas retorna um Boolean.class???
Agora para mostrar um combo no JTable, basta fazer o model retornar Boolean.class na coluna desejada. A tabela exibirá um combo para cada linha, mesmo que nunca tenha sido clicada. Qualquer comportamento diferente disso é estranho.[/quote]
Olá ViniGodoy,
Fiz o seguinte:
public Class<?> getColumnClass(int column) {
if (column == 4){
return Boolean.class;
}
return super.getColumnClass(column);
}
Porem minha Table apareceu no lugar das ComboBox, CheckBox :shock:
Qual outro lugar que devo fazer alguma alteração?
Putz, foi mal, tava pensando em checkbox. Viajei na maionese.
Aí só fazendo um renderer e um editor, como falou o nosso amigo ali.
[quote=ViniGodoy]Putz, foi mal, tava pensando em checkbox. Viajei na maionese.
Aí só fazendo um renderer e um editor, como falou o nosso amigo ali.[/quote]
Olá ViniGodoy,
Tem como postar um exemplo de como ficaria?
Estou usando AbstractTableModel e TableCellRenderer.
Mas não sei exatamente em qual momento e qual implementação devo fazer.