2015-06-13 32 views
5

Non riesco a fornire il codice perché si tratta di un problema astratto che sto affrontando attualmente.Java Swing Visualizzazione di grandi quantità di dati da ArrayLists

Sto lavorando a un programma che consente all'utente di rintracciare i giocatori dai giochi. Il programma in pratica memorizza le informazioni sul profilo di un giocatore in un ArrayList. Una caratteristica del mio programma che vorrei è quella di consentire all'utente di navigare attraverso l'intero ArrayList dei giocatori.

Diciamo che ho una lista array di oggetti Player e la dimensione è molto grande, diciamo 1000. È possibile in Java consentire all'utente di scorrere ArrayList? Ho pensato di creare 10 JLabels e ogni volta che un utente ha fatto clic su un pulsante, itererà attraverso l'ArrayList ai successivi 10 oggetti Player. Ma questo non sembra pratico.

Esistono alcune funzioni di Swing che posso utilizzare per questo problema?

risposta

7

Provare a utilizzare una tabella J, in cui ogni riga della tabella contiene le informazioni per ciascun giocatore. È possibile estendere la classe AbstractTableModel per definire i campi per giocatore e quale giocatore viene visualizzato su quale riga della tabella.

Ho scritto un'app Java che utilizza JTables con più di 2000 righe e circa 15-20 colonne e non ha riscontrato problemi di prestazioni. Per limitare le righe visualizzate, è anche possibile utilizzare RowFilter e personalizzare l'ordinamento utilizzando RowSorter.

+0

Grazie per il suggerimento, guarderò più in JTables. Se qualcuno ha più suggerimenti, sono aperto a loro! –

+4

@RowenMcDaniel: re, '" Vedrò di più in JTables.Se qualcuno ha più suggerimenti sono aperto a loro! "- no, questa * è * la risposta corretta. Accetta questa risposta e inizia a programmare. La chiave è che JTable con il suo utilizzo del rendering sarà molto più efficiente della soluzione che prevede la creazione e la visualizzazione di molti componenti. –

+0

@HovercraftFullOfEels Grazie per aver garantito questa risposta: D. –