Soyez le premier à donner votre avis sur cette source.
Snippet vu 14 928 fois - Téléchargée 27 fois
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.tree.*; import java.util.*; public class TreeAvecCB { public static void main(String[] arg){ JFrame arboCheck = new FenetreTree(); arboCheck.setVisible(true); } } class FenetreTree extends JFrame{ FenetreTree(){ super("Exemple pour homerosaur"); setSize(800, 600); JTree arbo; DefaultMutableTreeNode noeudParent; DefaultMutableTreeNode noeudEnfant; DefaultTreeCellRenderer dtcr = new DefaultTreeCellRenderer(); RenduComposant rc = new RenduComposant(); EditComposant ec = new EditComposant(); JCheckBox jcb = new JCheckBox(); String[] tableau = {"Salut", "mon", "pseudo", "c'est", "ioiomatic"}; JScrollPane jsp = new JScrollPane(); noeudParent = new DefaultMutableTreeNode(new JCheckBox("JE ME PRESENTE")); for(int i = 0; i < tableau.length; i++){ jcb = new JCheckBox(tableau[i]); noeudEnfant = new DefaultMutableTreeNode(jcb, true); noeudParent.add(noeudEnfant); } arbo = new JTree(noeudParent); arbo.setCellRenderer(rc); arbo.setCellEditor(ec); arbo.setEditable(true); getContentPane().add(arbo); } } class RenduComposant implements TreeCellRenderer{ public Component getTreeCellRendererComponent(JTree tree, Object obj, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus){ DefaultMutableTreeNode dmtcr = (DefaultMutableTreeNode)obj; JCheckBox toto = (JCheckBox)dmtcr.getUserObject(); return toto; } } class EditComposant implements TreeCellEditor{ public void addCellEditorListener(CellEditorListener l){ } public void cancelCellEditing() { } public Object getCellEditorValue(){ return this; } public boolean isCellEditable(EventObject evt){ if(evt instanceof MouseEvent){ MouseEvent mevt = (MouseEvent) evt; if (mevt.getClickCount() == 1){ return true; } } return false; } public void removeCellEditorListener(CellEditorListener l){} public boolean shouldSelectCell(EventObject anEvent){ return true; } public boolean stopCellEditing(){ return false; } public Component getTreeCellEditorComponent(JTree tree, Object obj, boolean isSelected, boolean expanded, boolean leaf, int row){ DefaultMutableTreeNode dmtn = (DefaultMutableTreeNode)obj; JCheckBox tata=(JCheckBox)dmtn.getUserObject(); tata.setEnabled(true); return tata; } }
Commentaire
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.