mouselistener auf treenode



  • kann man das machen, dass wenn mann mit der rechten maustaste auf einen treenode klickt sich eine frame öffnet ?



  • hi, vielleicht gehts auch anders, aber eine Möglichkeit wäre es manuell zu machen: du kannst dem Tree erst einen MouseListener adden und innerhalb des Listeners im Ereignis mousePressed dann die Position der Maus (mouseEvent.getX() und mouseEvent.getY() ) verwenden um den angeklickten TreePath zu ermitteln, indem du die Methode getPathForLocation(int x,int y) deines Trees aufrufst..

    bißchen code

    JTree tree;
    ....
    
    public void mousePressed(MouseEvent me)
    {
      if (!me.isMetaDown()) return; //rausspringen wenns nicht die rechte is
      TreePath tp=tree.getPathForLocation(me.getX(),me.getY()); //angeklickten TreePath rauskriegen
      tree.setSelectionPath(tp); //diesen Path selektieren
      System.out.println(tp); //Path ausgeben (oder halt Frame öffnen, was du willst)
    
    }
    

    [ Dieser Beitrag wurde am 06.05.2003 um 10:56 Uhr von crass editiert. ]



  • ok . zänk ju. werd ich heute abend mal ausprobieren

    [ Dieser Beitrag wurde am 06.05.2003 um 13:48 Uhr von stevg editiert. ]


Anmelden zum Antworten