Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    150

    [Swing] JTree, aggiungere icone

    Ciao a tutti.
    Ho il seguente problema.
    Ho una classe con il mio JTree, che aggiunge Stringhe (dei nickname).
    Se io volessi ora aggiungere nel mio JTree delle iconcine assieme al nickname, come potrei fare?
    Non ho molta esperienza con i JTree

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

    Re: [Swing] JTree, aggiungere icone

    Originariamente inviato da Skaffa
    Se io volessi ora aggiungere nel mio JTree delle iconcine assieme al nickname, come potrei fare?
    Leggi qui a partire dal paragrafo "You can easily change the default icon used [...]"
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    150
    Grazie andbin.
    Allora, per una custom icon, devo usare un ImageIcon per l'immagine.

    Ora, altra domanda sul JTree.

    Io ho attualmente un JTree che come nodo ha solo una string.
    Ovvero:


    Codice PHP:
    public void addNodo(String s) {
            
    DefaultMutableTreeNode n = new DefaultMutableTreeNode(s);
            
    model.insertNodeInto(nprova0);
        } 
    Riceve una stringa s, crea un nuovo nodo dell'albero visualizzando la stringa, e la inserisce nel ramo prova del JTree, ok?

    Ora, se io volessi visualizzare non solo una stringa, ma : un icona, una stringa, un altra stringa, come dovrei fare?

    Se faccio nel seguente modo:
    Codice PHP:
    public void addNodo(ImageIcon aString sString b) {
            
    DefaultMutableTreeNode n = new DefaultMutableTreeNode(asb);
            
    model.insertNodeInto(nprova0);
        } 

    Lui inserisce un nodo visualizzando icona, stringa s e di fianco stringa b?
    O ci son delle complicazioni?
    Ad esempio l'icona la passo come ho scritto sopra o devo fare un metodo a parte?

    Grazie della disponibilita, ciao

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Skaffa
    Codice PHP:
    public void addNodo(ImageIcon aString sString b) {
            
    DefaultMutableTreeNode n = new DefaultMutableTreeNode(asb);
            
    model.insertNodeInto(nprova0);
        } 
    Lui inserisce un nodo visualizzando icona, stringa s e di fianco stringa b?
    Ovviamente no! Non esiste nemmeno un costruttore di DefaultMutableTreeNode(ImageIcon,String,String)!!! !!

    Esiste:
    DefaultMutableTreeNode(Object userObject)

    E questo vuol dire che se devi fare qualcosa di "particolare" quell'oggetto deve essere di una TuaClasse specifica che "modella" tutte le informazioni. E vuol anche dire che devi realizzare un tuo "renderer" (implementazione di TreeCellRenderer) che "sa" di ricevere come Object value oggetti della TuaClasse e che quindi fornirà come ritorno da getTreeCellRendererComponent un Component per mostrare tutte le informazioni che hai deciso di gestire.
    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.