Visualizzazione dei risultati da 1 a 7 su 7

Visualizzazione discussione

  1. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Markus85 Visualizza il messaggio
    Allora ho creato una Treeset che contiene oggetti di tipo Articolo ; ogni oggetto Articolo ha attributi come marca , modello , prezzo ecc.
    Vorrei visualizzare il contenuto della Treeset su una Frame magari utilizzando una JList.

    Si può fare ?
    Possibile sì, lo è ma non direttamente dal TreeSet, perché è un "insieme" (sebbene ordinato essendo un TreeSet) e non è accessibile "per indice" mentre JList si basa su un "model" (ListModel) che è concettualmente una lista indirizzata per indice.
    La implementazione predefinita, DefaultListModel, è modellata su un Vector e DefaultListModel ha metodi es. addElement. Quindi già questo ti permette di passare i dati da TreeSet ad un DefaultListModel.

    Quote Originariamente inviata da Markus85 Visualizza il messaggio
    Si può scegliere di visualizzare per ogni oggetto uno o più dei suoi attributi ?
    Il renderer predefinito di JList fa una cosa molto banale con gli oggetti esposti dal ListModel: invoca toString() per ottenere il testo da visualizzare nella cella.

    Se il toString() di Articolo ti soddisfa (o se no, se puoi/vuoi modificarlo), ok. Altrimenti hai almeno 2 strade:
    1) Implementare un renderer "custom" che sostituisce (o al limite incapsula, andando ad alterare solo il testo) quello originale.
    2) Creare una classe es. ArticoloItem che incapsula un Articolo. ArticoloItem avrà il toString() appropriato (prende ciò che vuoi da Articolo) e il list model conterrà appunto dei ArticoloItem.
    Ultima modifica di andbin; 17-10-2013 a 21:04
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2025 vBulletin Solutions, Inc. All rights reserved.