Domanda

Ho trovato un esempio per un JList ordinato , ma la mia domanda è alimentato da un database incorporato H2 così mi chiedo se non c'è un modo migliore per perseguire questo obiettivo con questo in mente. Soprattutto se si considera la tabella in questione potrebbe diventare enormemente grande, e duplicare tutti i dati nel modello di lista di un JList sembra per sconfiggere un pò il punto di avere un database per gestirlo.

C'è un buon modo per fare questo? Oppure io sono costretto a mettere insieme qualche trucco maldestro di consentire al JList a "scorrere" attraverso pezzi interrogati in modo dinamico di dati o qualcosa del genere?

È stato utile?

Soluzione

Il tuo JList 's ListModel è responsabile per esporre i dati retrostanti come un elenco ordinato. AbstractListModel 's metodi saranno chiamati dal getElementAt(int) dal thread UI (evento AWT), quindi le sue prestazioni ha bisogno di essere abbastanza buona. Questo è il motivo per la maggior parte delle implementazioni hanno la getSize()' s backup dei dati in memoria. Immagino che si potrebbe implementare getElementAt con il database come i dati retrostanti. Che molto probabilmente estendere <=> per ottenere la registrazione ascoltatore, e implementare <=> e <=>. <=> sarebbe allora responsabile per ottenere l'oggetto per un particolare indice. Tenete a mente che <=> chiamerà <=> molte volte per diversi indici, così si possono trovare te la memorizzazione nella cache i risultati. A seconda della quantità di dati che stai caching, si potrebbe solo recuperare l'intero set di dati dal database.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top