Dúvida JTable?!

16 respostas
arm.jr

Como eu faço para diminuir ou aumentar o tamanho de uma coluna no JTable?

E também como eu faço para não editar os dados do JTable?

16 Respostas

_fs

http://javaalmanac.com/egs/javax.swing.table/ColSize.html?l=rel

http://javaalmanac.com/egs/javax.swing.table/NoEdit.html

Mais em:
http://javaalmanac.com/egs/javax.swing.table/pkg.html

thiagoalgeri

Google: “how to use JTable”

http://www.csis.gvsu.edu/~dulimarh/cat.cgi/CS163/Examples/TableDemo.java

Exemplo muito bom!!

At+ :wink:

Leozin

manda o JTable pro inferno e venha pro Table do SWT :slight_smile:

swt > all

arm.jr

Deu certo amigo.

Estou com outra dúvida agora, queria saber como centralizo os dados de uma coluna?

Tem jeito dos dados de uma coluna ficar em negrito ou em outra cor, e as outras colunas ficar normal?

Valeu!!

thiagoalgeri

/* Cell Render */

private class MyCellRenderer extends DefaultTableCellRenderer {

public void setValue (Object obj) {

setText (obj);

setFont(new Font(arial,Font.BOLD,12);

/* aqui vc pode alterar tudo ou quase tudo…

como fonts, cores, etc.

*/

setHorizontalAlignment(SwingConstants.CENTER);

}

}

/* Para adicionar a uma de suas colunas o seu CellRender utilize /
TableColumn tc = table.getColumnModel().getColumn(1); /
1 indica o número da coluna /
tc.setCellRenderer (new MyCellRenderer());
/
onde table é o seu JTable */

arm.jr

Quando adicionei esse codigo os dados da tabela some!!

thiagoalgeri

foi mal!!

adicione após: setText (obj);
isso: setValue (obj);

se não me engano é isso…

arm.jr

Deu certo não amigo.

Esse setText(obj), da erro!
Eu coloquei o setValue (obj) e esta dando esse erro!!

Exception in thread “main” java.lang.StackOverflowError

thiagoalgeri

Realmente o código que te passei está com problema.

Neste link vc encontrará tudo sobre JTable

http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

Fabricio_Cozer_Marti

pessoal,
aproveitando o gancho neste tópico, gostaria de saber como faço pra recarregar um jtable com dados obtidos do banco de dados ?

thiagoalgeri

Fabrício,

Pelos meus conhecimentos… eheheh(se alguem souber outra me avise) você tem duas alternativas:

  • vc pode Instanciar outro TableModel com suas novas informações e setar no seu JTable atravéz do método
    setModel

  • ou você pode recuperar o TableModel do JTabel atravéz do getModel remover os dados existentes e setar os novos.

Falow…

Fabricio_Cozer_Marti

thiagoalgeri:
Fabrício,

Pelos meus conhecimentos… eheheh(se alguem souber outra me avise) você tem duas alternativas:

  • vc pode Instanciar outro TableModel com suas novas informações e setar no seu JTable atravéz do método
    setModel

  • ou você pode recuperar o TableModel do JTabel atravéz do getModel remover os dados existentes e setar os novos.

Falow…

valeu meu véi, funcionou ! atualizei o model do JTable

Abraços

arm.jr

Estou com uma dúvida parecida com essa do Fabrício Cozer.

A minha JTable mostra não e para editar , apenas mostra alguns dados.
Ao clicar no botão cadastro ou editar abre uma tela com um formulário, meu problema e como faço para atualizar a minha JTable, ao adicionar ou editar algum dado.
Eu ja tentei, eu instancio outro TableModel e faço o setModel(tabela) mas duplica os dados.

Alguem pode me ajudar?!

thiagoalgeri

arm.jr,

A interface TableModel define o método public boolean isCellEditable(int row, int col) que indica se a celula do Model é editavel implemente ela da forma desejada.

public boolean isCellEditable(int row, int col) { return false; }

arm.jr

Bacana caramarada!!
Outra dúvida, no JTable, tem algum metodo do tipo setSelectedIndex(int indice) do JList.

Tipo eu seto a coluna e a linha e o cursor vai ate lá!

thiagoalgeri

Acho q eh isso que precisa!

table.setRowSelectionInterval(x,y)
table.setColumnSelectionInterval(x,y)

Falow

Criado 26 de junho de 2006
Ultima resposta 29 de jun. de 2006
Respostas 16
Participantes 5