Checkbox sur les noeuds

cs_snowline Messages postés 10 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 21 mars 2006 - 15 mars 2006 à 16:33
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 - 16 mars 2006 à 12:12
Bonjour je suis en quete d'un moyen de mettre un
checkbox a coté de mes noeuds d'un jtree
Please une aide svp
Merci a tous

4 réponses

bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
15 mars 2006 à 18:02
c'est un début :



jtable.setCellRenderer( new MonRenderer () );







class MonRenderer extends DefaultTreeCellRenderer {

public Component getTreeCellRendererComponent(JTree tree,Object
value,boolean sel, boolean expanded, boolean leaf, int row, boolean
hasFocus) {



DefaultMutableTreeNode node = (DefaultMutableTreeNode) value ;

return new JCheckBox("pouet");

}

}

0
cs_snowline Messages postés 10 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 21 mars 2006
16 mars 2006 à 09:51
Ok merci pour cette aide car jcomprnai pas trop l déroulman
Enfin si j ai pb jt frai sign By
0
cs_snowline Messages postés 10 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 21 mars 2006
16 mars 2006 à 10:24
Re: oui alors quelques precision stp
j ai inregré ton code apparament pas de pb mais je n ai pas de checkbox dans l arbre peut tu me rediriger car je commence et je ne comprends pas tout sur cela
Je veux savoir comment la faire afficher Merci
0
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
16 mars 2006 à 12:12
coucou





essaye de t'inspirer de ca :





public class PanelTest extends JPanel {



private DefaultMutableTreeNode root ;

private DefaultTreeModel model ;

private
JTree
tree ;

private ArrayList<ValeurACocher> vals = new ArrayList<ValeurACocher>() ;



public PanelTest() {

this.setLayout(new BorderLayout() );



root = new DefaultMutableTreeNode("RACINE") ;

model = new DefaultTreeModel(root) ;

tree = new JTree(model) ;

tree.setCellRenderer( new MonRenderer() ) ;



vals.add( new ValeurACocher("bool01" , true) ) ;

vals.add( new ValeurACocher("bool02" , false) ) ;

vals.add( new ValeurACocher("bool03" , false) ) ;

vals.add( new ValeurACocher("bool04" , true) ) ;

vals.add( new ValeurACocher("bool05" , true) ) ;



DefaultMutableTreeNode bools = new DefaultMutableTreeNode("Booleans") ;

for(int i = 0 ; i < vals.size() ; i++)

bools.add( new DefaultMutableTreeNode( vals.get(i) ) );

root.add(bools);

model.reload() ;

this.add(tree , BorderLayout.CENTER);

}



class ValeurACocher {

String text ; boolean initvalue ;

public ValeurACocher(String text , boolean initvalue){

this.text text ; this.initvalue initvalue ;

}

}



class MonRenderer extends DefaultTreeCellRenderer {

public Component getTreeCellRendererComponent(JTree tree,Object value,boolean sel,


boolean expanded, boolean leaf, int row,


boolean hasFocus) {

DefaultMutableTreeNode node = (DefaultMutableTreeNode) value ;

Object o = node.getUserObject() ;

//a chaque fois qu'il y a un objet ValeurACocher

if(o != null && o instanceof ValeurACocher)

{

JCheckBox res = new
JCheckBox( ((ValeurACocher)o).text , ((ValeurACocher)o).initvalue
) ;

res.setBackground( sel?Color.BLUE:tree.getBackground() );

return res ;

}

//sinon retour par default

return super.getTreeCellRendererComponent(tree,value,sel,expanded,leaf,row,hasFocus) ;

}

}



}
0
Rejoignez-nous