Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    10

    JList con elementi di più colori

    Ciao a tutti,
    Mi aspetto già un risposta negativa ma ci provo lo stesso c'è un modo per creare un JList con elementi di colori diversi sulla stessa linea?

    es.
    tipo1 nome1 exp1
    tipo2 nome2 exp2
    tipo3 nome3 exp3
    ecc....

    ringrazio in anticipo per i consigli

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Certo che sì.
    Basta creare un Renderer personalizzato.

    Vedi documentazione della classe JList, in particolare il metodo setCellRenderer() e, infine, l'interfaccia ListCellRenderer.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: JList con elementi di più colori

    Originariamente inviato da DrRage88
    Mi aspetto già un risposta negativa ma ci provo lo stesso c'è un modo per creare un JList con elementi di colori diversi sulla stessa linea?

    es.
    tipo1 nome1 exp1
    tipo2 nome2 exp2
    tipo3 nome3 exp3
    ecc....

    ringrazio in anticipo per i consigli
    Alt, facciamo una premessa: tipoX/nomeX/expX sono nella stessa "cella" quindi? E da dove arrivano questi 3 testi? Sono in un'unica stringa? E chi la compone? (cioè sono "cablate" nel sorgente o composte a runtime?)

    Comunque: a parte "scomodare" i list cell renderer, una possibilità ci sarebbe, se componi tu a priori le stringhe in modo opportuno. Perché basta sfruttare il "rendering" di codice HTML offerto dai componenti Swing:

    codice:
    Object[] dati = {
        "<html><font color='blue'>tipo1</font> <font color='green'>nome1</font> <font color='red'>exp1</font>",
        "<html><font color='blue'>tipo2</font> <font color='green'>nome2</font> <font color='red'>exp2</font>",
        "<html><font color='blue'>tipo3</font> <font color='green'>nome3</font> <font color='red'>exp3</font>",
    };
    
    JList list = new JList(dati);
    E si può ottenere un bel:

    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
    Feb 2011
    Messaggi
    10
    Ottimo con il codice html fa perfettamente quello che mi serve grazie mille a tutti dell'aiuto a presto

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.