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
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
Leggi qui a partire dal paragrafo "You can easily change the default icon used [...]"Originariamente inviato da Skaffa
Se io volessi ora aggiungere nel mio JTree delle iconcine assieme al nickname, come potrei fare?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
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:
Riceve una stringa s, crea un nuovo nodo dell'albero visualizzando la stringa, e la inserisce nel ramo prova del JTree, ok?Codice PHP:public void addNodo(String s) {
DefaultMutableTreeNode n = new DefaultMutableTreeNode(s);
model.insertNodeInto(n, prova, 0);
}
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 a, String s, String b) {
DefaultMutableTreeNode n = new DefaultMutableTreeNode(a, s, b);
model.insertNodeInto(n, prova, 0);
}
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
Ovviamente no! Non esiste nemmeno un costruttore di DefaultMutableTreeNode(ImageIcon,String,String)!!! !!Originariamente inviato da Skaffa
Lui inserisce un nodo visualizzando icona, stringa s e di fianco stringa b?Codice PHP:public void addNodo(ImageIcon a, String s, String b) {
DefaultMutableTreeNode n = new DefaultMutableTreeNode(a, s, b);
model.insertNodeInto(n, prova, 0);
}
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet