Pergunta

Eu encontrei um amostra para uma classificadas JList , mas minha aplicação é alimentado por um banco de dados H2 incorporado por isso estou perguntando se não é a melhor maneira de implementar isso com isso em mente. Especialmente considerando a tabela em questão poderia se tornar extremamente grande, e duplicar todos os dados no modelo de lista de um JList parece derrotar meio ao ponto de ter um banco de dados para gerenciá-lo.

Existe uma boa maneira de fazer isso? Ou eu sou forçado a remendar algum hack desajeitado para permitir que o JList para "rolar" através de pedaços consultados dinamicamente de dados ou algo assim?

Foi útil?

Solução

JList do seu ListModel é responsável por expor os dados de apoio como uma lista ordenada. métodos de ListModel será chamado pelo JList da UI (evento AWT) thread, portanto suas necessidades de desempenho para ser muito bom. É por isso que a maioria das implementações têm dados de apoio do ListModel na memória. Eu suponho que você poderia implementar ListModel com o seu banco de dados como os dados de apoio. Você provavelmente vai estender AbstractListModel para obter o registro de ouvinte, e implementar getElementAt(int) e getSize(). getElementAt seria então responsável por obter o objeto para um determinado índice. Tenha em mente que JList chamará getElementAt muitas vezes para índices diferentes, assim você pode encontrar-se cache os resultados. Dependendo da quantidade de dados que você está caching, você pode apenas recuperar todo o conjunto de dados do banco de dados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top