Mehrmals auf Node im JTree klicken

drei1padsvb

Aktives Mitglied
Hallo zusammen,

ich habe ein JTree, bei dem ich möchte, dass die Aktion eines Nodes auch dann ausgeführt wird, wenn ich bereits auf dieses Node geklickt habe und dieses auch noch markiert ist.

In der Sun-API-Doc () Link hab ich jetzt folgendes gefunden:
Java:
 final JTree tree = ...;

 MouseListener ml = new MouseAdapter() {
     public void mousePressed(MouseEvent e) {
         int selRow = tree.getRowForLocation(e.getX(), e.getY());
         TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());
         if(selRow != -1) {
             if(e.getClickCount() == 1) {
                 mySingleClick(selRow, selPath);
             }
             else if(e.getClickCount() == 2) {
                 myDoubleClick(selRow, selPath);
             }
         }
     }
 };
 tree.addMouseListener(ml);

Allerdings krieg ich das bei mir noch nicht hin.
Ich bekomme bei Zeile 9 und 12 die Meldung
cannot find symbol... method mySingleClick
bzw.
cannot find symbol... method myDoubleClick

Ich weiß jetzt leider nicht, wie ich das richtig hinkriege.

Vielen Dank und Gruß!
 
Zuletzt bearbeitet:
mySingleClick/myDoubleClick sind Methoden die du selbst schreiben müsstest. Dort implementierst du was du tun willst wenn man drauf geklickt hat. Wenn ich dich richtig verstehe interessiert dich eh nur ein normaler Klick,und kein Double-Click. Du musst das auch nicht unbedingt in eine eigene Methode auslagern:

Java:
MouseListener ml = new MouseAdapter() {
     public void mousePressed(MouseEvent e) {
         int selRow = tree.getRowForLocation(e.getX(), e.getY());
         TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());
         if(selRow != -1) {
             // Hier schreibst du das rein, was du halt tun willst wenn man geklickt hat...
         }
     }
 };
 tree.addMouseListener(ml);
 

Zurück
Oben