JScrollPane + JTable - movimentar entre as linhas com outras teclas [RESOLVIDO]

Pessoal,
Estou utilizando uma JTable + JScrollPane.

Quando eu movimento entre as linhas da tabela usando as setas para baixo e para cima, a movimentação entre as linhas e o scroll da página acontece sem problemas.
O caso é que preciso mudar essas teclas, ao invés de utilizar as setas pra cima e pra baixo, precisa ser, para esquerda e para direita.

criei um método para isso, que ao disparar a tecla (seta pra direita), ele executa este código:

tabela.setRowSelectionInterval(myRow, myRow);
myRow, é o parâmetro que eu passo, seria a próxima linha a ser percorrida.

Usando desta maneira, funciona, mas quando eu acabo de percorrer todos os registros presentes na tela, e movimento para o próximo registro, ele muda a linha, mas não faz o scroll.
Eu só consigo visualizar a próxima linha (que não estava aparente na tela) se pressionar a tecla seta para baixo, daí sim ele faz o scroll.

Resumindo, preciso fazer com que as teclas de seta esquerda e direita se comportem exatamente como as teclas seta para cima e para baixo, inclusive fazendo o scroll da página percorrida.

Alguma idéia de como fazer?

Eu acredito que utilizando este método abaixo, este seu problema seja resolvido.

private
	void			scrollToVisible
				(
					JTable			table,
					int			rowIndex,
					int			vColIndex
				)
	{
		if	(
				table.getParent()	instanceof	JViewport
			) 
		{
			//
			// Cria um viewport para a tabela contida na JScrollPane.
			//
			JViewport viewport = (JViewport)table.getParent();
			
			//
			// This rectangle is relative to the table where the
			// northwest corner of cell (0,0) is always (0,0).
			//
			Rectangle rect = table.getCellRect(rowIndex, vColIndex, true);
			
			//
			// The location of the viewport relative to the table
			//
			Point pt = viewport.getViewPosition();
			
			//
			// Translate the cell location so that it is relative
			// to the view, assuming the northwest corner of the
			// view is (0,0)
			//
			rect.setLocation(rect.x-pt.x, rect.y-pt.y);
			
			//
			// Scroll the area into view
			//
			viewport.scrollRectToVisible(rect);
		}
	}

Para chamá-lo:

scrollToVisible(tabela, tabela.getSelectedRow(), 0);

Espero ter ajudado.

Abraço!

Caramba véio, brigadão, funcionou muito bem.
Faz um tempão que eu estava com uma dificuldade danada pra chegar nisso.

Muito obrigado mesmo.

Beleza brother. É isso aí.

Sempre que seu tópico for resolvido, edite seu primeiro post e coloque [RESOLVIDO] no título.

Abraço!

Feito!