Evento de busca de cache JTable + TableModel para instanciação lenta?

Cenário:

você está usando um JTable com um TableModel personalizado para visualizar o conteúdo de alguma coleção localizada em um banco de dados ou na rede ou qualquer outra coisa.

A forma de força bruta para fazer este trabalho é carregar toda a coleção de uma só vez. Digamos que isso não seja prático por causa dos recursos necessários.

A maneira mais simples de contornar esse problema é buscar linhas por demanda, uma linha por vez, conforme o JTable renderiza cada linha, e chama TableModel.getValueAt (); cache conforme necessário. Isso causa muitos acessos ao banco de dados, no entanto.

Existe uma maneira de ouvir eventos de rolagem / visualização para um JTable, para descobrir quais linhas ele irá exibir antes de renderizar cada célula? Em caso afirmativo, gostaria de interceptar e fazer com que meu TableModel personalizado precisasse de uma página por vez.

editar: só para esclarecer, o ponto aqui é conseguir buscar o conteúdo de um grupo de linhas visíveis da tabela em um lote, em vez de ter que buscar o conteúdo de cada linha sozinho.

questionAnswers(2)

yourAnswerToTheQuestion