JTable - Foco na última linha [RESOLVIDO]

8 respostas
F

Olá pessoal,
alguém sabe como fazer para que ao inserir um novo item na minha JTable eu possa mandar o foco para a última linha?
É o seguinte a medida com que eu insiro vai aumentando a JTable, então eu não consigo visualizar o último ítem sem ter que rolar a barra para baixo. Eu gostaria que ao inserir eu pudesse visualizar sempre o último ítem.
OBS: estou usando DefaultTableModel.
Agradeço a ajuda!
T+

8 Respostas

L

Oi,

Você deverá manipular sua barra de rolagem e não a tabela.

Algo do tipo:

Tchuzin!

F

lina:
Oi,

Você deverá manipular sua barra de rolagem e não a tabela.

Algo do tipo:

Tchuzin!


Olá lina,
deu certo, eu estava havia me enganado aqui, mas funcionou blz!
Só uma dúvida: o getHeight() seria o número da última linha?
Grato pela ajuda!
T+

L

Oi,

Na realidade eu fiz esse código de forma errada… funcionou? Deveria utiliza getRowCount no lugar de getHeight().

Você poderia utilizar o getRowCount da tabela, que seria a quantidade de linhas da tabela. Sendo assim ele irá automatico para a ultima linha.

Height = Altura.

Tchauzin!

F

lina:
Oi,

Na realidade eu fiz esse código de forma errada… funcionou? Deveria utiliza getRowCount no lugar de getHeight().

Você poderia utilizar o getRowCount da tabela, que seria a quantidade de linhas da tabela. Sendo assim ele irá automatico para a ultima linha.

Height = Altura.

Tchauzin!


Testei aqui o getRowCont(), mas o getHeight() funcionou melhor.
O Height manda para a penultima linha.
O RowCont nem isso.
Tentei somar o Height mais 1 para ver se chega na última linha, mas só vai até a penúltima.
O que será que tá faltando?
Valeu!
T+

V

Eu fiz uma classe com coisas utilitárias como essa:
http://www.guj.com.br/posts/list/88656.java#474184

É só usar o método scrollToVisible, passando a última linha. Se quiser deixar a linha selecionada também, use o método selectAndScroll.

F

Funcionou do jeito que eu queria

GuiUtils.scrollToVisible(nomeDaTabela, nomeDaTabela.getHeight());
GuiUtils.selectAndScroll(nomeDaTabela, nomeDaTabela.getHeight());

Valeu viniGodoy!
Valeu lina!
T+

T

A chamada co odigo acima está errado, nao é usado o parametro Height e sim o numero da linha para o qual se deseja ir:

http://www.guj.com.br/java/88656-movimentar-jtable

V

Por favor, evite ressuscitar tópicos. E, se o fizer, deixe isso claro em seu post.
Não responda um tópico de 3 anos atrás como se o cara tivesse comentado ontem.

Criado 12 de novembro de 2009
Ultima resposta 11 de jan. de 2012
Respostas 8
Participantes 4