View Full Version : [JAVA] vista ad albero nelle GUI
fbcyborg
11-04-2007, 21:40
Conosco il JTree ma non utilizzo componenti di questo genere da qualche tempo.
C'è qualcosa di più avanzato o più moderno del JTree?
Ricordo una grafica un po' bruttina del JTree, vorrei sapere se c'è qualche alternativa anche graficamente più bella.
Puoi installare un look and feel diverso oppure attribuisci all'albero uno stile da te creato con proiettori e modelli ad hoc.
Per il look and feel puoi provare il pacchetto substance
https://substance.dev.java.net/
fbcyborg
11-04-2007, 22:58
Grazie, ho scaricato il pacchetto e sto cercando di capire come utilizzarlo...
nel frattempo, per favore confermami che il L&F lo devo applicare a tutta l'applicazione.
Mi pare di capire che non serve solo per dare un certo look ai JTree.
kirillcool
12-04-2007, 01:20
Grazie, ho scaricato il pacchetto e sto cercando di capire come utilizzarlo...
You can start at https://substance.dev.java.net/docs/getting-started.html
Thanks
Kirill (Substance developer)
Grazie, ho scaricato il pacchetto e sto cercando di capire come utilizzarlo...
nel frattempo, per favore confermami che il L&F lo devo applicare a tutta l'applicazione.
Mi pare di capire che non serve solo per dare un certo look ai JTree.
Ni.
Puoi applicare il delegato ui ad un solo tipo di componenti ma per questioni di omogeneità dell'aspetto è meglio se prendi tutto il blocco.
Tieni presente che puoi sempre applicare un'aspetto personalizzato all'albero usando l'interfaccia TreeCellRenderer che è molto semplice da usare.
fbcyborg
12-04-2007, 12:25
Grazie mille delle informazioni, siete stati tutti molto utili.
fbcyborg
14-04-2007, 11:12
Tieni presente che puoi sempre applicare un'aspetto personalizzato all'albero usando l'interfaccia TreeCellRenderer che è molto semplice da usare.
Hai un esempio pronto per l'uso?
Ho bisogno di trovare dei "template" diversi per il mio albero.. non so, con icone dei nodi diverse, punti di snodo che non siano semplici tondini con una barretta attaccata.. un L&F diverso...
Ho trovato degli esempi online ma non ancora qualcosa che mi soddisfi.
Conta che ho un pannello con un JTree all'interno che viene creato in un suo metodo specifico... (Uso eclipse.. è quello lo stile di programmazione delle GUI)
E' forse sufficiente qualcosa del genere?
DefaultTreeCellRenderer renderer = new
DefaultTreeCellRenderer();
renderer.setOpenIcon(new ImageIcon("opened.gif"));
renderer.setClosedIcon(new ImageIcon("closed.gif"));
renderer.setLeafIcon(new ImageIcon("leaf.gif"));
m_tree.setCellRenderer(renderer);
dove m_tree è il mio JTree?
Devi vedere tu se è sufficiente o no :).
Un modello pronto all'uso è:
class CustomRenderer extends JLabel implements TreeCellRenderer {
public Component getTreeCellRendererComponent(
JTree tree, Object value, boolean selected, boolean expanded,
boolean leaf, int row, boolean hasFocus)
{
//usa i parametri per determinare colori, testo, effetti eccetera
setText(String.valueOf(value));
return this;
}
protected void paintComponent(Graphics graphics) {
//disegno personalizzato della cella dell'albero
//...
super.paintComponent(graphics);
}
}
Con questo puoi compiere diverse nefandezze. Il risultato dipende dalle qualità artistiche di chi si cimenti nell'impresa.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.