Visualizzazione dei risultati da 1 a 7 su 7

Discussione: JTable

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Bombonera Visualizza il messaggio
    Ne ho implementata soltanto una di Jtable e gli oggetti sono tutti della stessa classe.
    A grandi linee, la tua implementazione è sensata ed appropriata. Il nome della classe è abbastanza generico, mentre invece la classe è specifica per Partita e non per altro tipo. Va anche bene .. cioè, non è quello un problema.

    Tieni però presente che il tuo table model non è editabile e nemmeno espandibile. Se tu dall'esterno vai a modificare strutturalmente il Vector che è lo stesso che ha esattamente il VectorTableModel, ovviamente il table model non ne "sa" nulla e quindi di per sé la tabella non può certo aggiornarsi.

    A parte questo, riguardo la tua richiesta iniziale, quale è il dubbio? Stai già gestendo un Vector di oggetti di un tuo tipo. Se poi dal Vector vuoi ottenere un ArrayList, basta usare l'apposito costruttore di ArrayList.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    178
    Quote Originariamente inviata da andbin Visualizza il messaggio
    A grandi linee, la tua implementazione è sensata ed appropriata. Il nome della classe è abbastanza generico, mentre invece la classe è specifica per Partita e non per altro tipo. Va anche bene .. cioè, non è quello un problema.

    Tieni però presente che il tuo table model non è editabile e nemmeno espandibile. Se tu dall'esterno vai a modificare strutturalmente il Vector che è lo stesso che ha esattamente il VectorTableModel, ovviamente il table model non ne "sa" nulla e quindi di per sé la tabella non può certo aggiornarsi.

    A parte questo, riguardo la tua richiesta iniziale, quale è il dubbio? Stai già gestendo un Vector di oggetti di un tuo tipo. Se poi dal Vector vuoi ottenere un ArrayList, basta usare l'apposito costruttore di ArrayList.
    Vorrei estrarre gli oggetti dal JTable e metterli in un Vector e poi metterli in un ArrayList in modo da ordinarli, poi metterli di nuovo in un Vector per poi inserirli nel JTable.
    Il problema è che non so come estrarre gli elementi da una JTable.

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Bombonera Visualizza il messaggio
    Vorrei estrarre gli oggetti dal JTable e metterli in un Vector e poi metterli in un ArrayList in modo da ordinarli, poi metterli di nuovo in un Vector per poi inserirli nel JTable.
    Il problema è che non so come estrarre gli elementi da una JTable.
    Ma hai già il Vector .... è quello che passi al tuo table model. E se vuoi creare un ArrayList dal Vector, basta che passi questo al costruttore di ArrayList.
    Puoi ordinare il ArrayList ma poi visto che VectorTableModel tratta solo vector, dovresti ricreare un Vector .... un po' macchinoso. In generale sarebbe più utile codificare verso le interfacce ... parlo di List, ovviamente.

    E comunque se vuoi puoi anche fare in modo che il sort venga fatto dentro il table model e poi notifichi l'update alla view, in tal caso non avresti nemmeno bisogno di ArrayList. Vector è ordinabile esattamente come ArrayList.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    178
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Ma hai già il Vector .... è quello che passi al tuo table model. E se vuoi creare un ArrayList dal Vector, basta che passi questo al costruttore di ArrayList.
    Puoi ordinare il ArrayList ma poi visto che VectorTableModel tratta solo vector, dovresti ricreare un Vector .... un po' macchinoso. In generale sarebbe più utile codificare verso le interfacce ... parlo di List, ovviamente.

    E comunque se vuoi puoi anche fare in modo che il sort venga fatto dentro il table model e poi notifichi l'update alla view, in tal caso non avresti nemmeno bisogno di ArrayList. Vector è ordinabile esattamente come ArrayList.
    Grazie andBin, funziona. Il problema è devo ancora imparare a ragionare ad oggetti dopo tanti anni di programmazione strutturale e procedurale.
    Meno male che ci sei tu :-)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.