Ciao.
Ho il problema di visualizzare in una JList degli oggetti di tipo Articolo in modo Ordinato(in ordine alfabetico in base alla tipologia di Articolo).
Questi oggetti sono contenuti in una TreeSet.
Praticamente io aggiungo prima oggetti nella TreeSet e contemporaneamente in un DefaultListModel associato alla JList .
Forse è proprio qui che sbaglio. Cioè vorrei che anche quando aggiungo L'oggetto Articolo nel DefaultListModel si mantenga l'ordinamento.
Vi posto un pò di codice :
Il DefaultListModel associato a JList:
codice:
private DefaultListModel JlistModel = new DefaultListModel();
private JList jlistProdotti = new JList(JlistModel);
La Classe Articolo implementa Comparable ed ha un metodo compareTo :
codice:
public class Articolo implements Serializable , Comparable<Articolo> {
private String tipologia;
private String marcaTipologia;
private String modelloTipologia;
private String caratteristicheArticolo;
private int quantità;
private int codiceArticolo;
private double prezzo;
codice:
@Override
public int compareTo(Articolo art) {
return this.getTipologia().compareTo(art.getTipologia());
}
Una classe DepositoPrincipale costituita da una TreeSet :
codice:
public class DepositoArticoli{
private TreeSet<Articolo> Deposito;
private double capitaleDeposito;
//
public DepositoArticoli(){
Deposito = new TreeSet<Articolo>();
capitaleDeposito = 0.0;
}// COSTRUTTORE DEPOSITO ARTICOLI
public void aggiungi(Articolo a){
Deposito.add(a);
}
public void rimuovi(Articolo a){
Deposito.remove(a);
}
}
Ecco come aggiungo gli oggetti Articolo:
codice:
DepositoPrincipale.aggiungi(articolo);
JlistModel.addElement(articolo);
Però nella JList non si visualizzano ordinati.
Come devo fare l'aggiunta nel JlistModel?