er der nogen der kan hjælpe mig jeg skal lave et jTree og i det skal jeg kunne lave events på nogle af af de nodes som træet består af hvordan gør man det?
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
Her er et eksempel der sætter et JTree op og udskriver når der trykkes på de enkelte elementer i træet.
import java.awt.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.tree.*; import java.util.Vector; public class TreeDemo { public static void main( String[] args ) { Vector root = new Vector(); root.add( \"First\" ); root.add( \"Second\" ); Vector subtree = new Vector(); subtree.add( \"2.1\" ); subtree.add( \"2.2\" ); Vector subsubtree = new Vector(); subsubtree.add( \"2.3.1\" ); subsubtree.add( \"2.3.2\" ); subtree.add( subsubtree ); root.add( subtree ); root.add( \"Third\" ); JTree tree = new JTree( root ); tree.addTreeSelectionListener( new MyTreeSelectionListener() ); TreeModel model = new MyTreeModel( root ); JScrollPane pane = new JScrollPane( tree ); JFrame frame = new JFrame( \"Tree\" ); Container c = frame.getContentPane(); c.add( pane ); frame.pack(); frame.show(); } // main public static class MyTreeModel implements TreeModel { private Vector root; public MyTreeModel( Vector root ) { this.root = root; } // constructor public Object getRoot() { return root; } // getRoot public boolean isLeaf( Object node ) { return ! (node instanceof Vector); } // isLeaf public int getChildCount( Object parent ) { return ((Vector)parent).size(); } // getChildCount public Object getChild( Object parent, int i ) { return ((Vector)parent).get( i ); } // getChild public int getIndexOfChild( Object parent, Object child ) { return ((Vector)parent).indexOf( child ); } // getIndexOfChild public void valueForPathChanged( TreePath path, Object newValue ) { System.out.println(\"path=\"+path); } // valueForPathChanged public void addTreeModelListener( TreeModelListener listener ) { } // addTreeModelListener public void removeTreeModelListener( TreeModelListener listener ) { } // removeTreeModelListener } // MyTreeModel public static class MyTreeSelectionListener implements TreeSelectionListener { public void valueChanged( TreeSelectionEvent tse ) { TreePath path = tse.getPath(); Object o = path.getLastPathComponent(); System.out.println(\"o=\"+o); } // valueChanged } // TreeSelectionModel } // TreeDemo
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.