tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 2 Beitrag von mas666
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
819
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Guadrion Guadrion ist offline Mitglied Silber
    Registriert seit
    Nov 2007
    Beiträge
    62
    Hi,
    ich habe einen JTree in einem JScrollPane und möchte, dass wenn durch mein Programm ein Knoten des Baumes selektiert wird, das JScrollPane automatisch so scrollt, dass der selektierte Knoten sichtbar ist (bzw. in der vertikalen Mitte).

    Wie erreich ich das?
     

  2. #2
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Platin
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    501
    Hallo, am besten suchst du dir einen Listener, der darauf reagiert, wenn du einen Knoten in deinem Tree öffnest/schließt. Ich meine mal etwas von TreeWillExpandListener gehört zu haben.

    Im entsprechenden Event holst du dir die Referenz des Scrollbalkens, den du verschieben möchtest.
    Code java:
    1
    2
    3
    4
    
     JScrollBar getVerticalScrollBar() 
              Returns the vertical scroll bar that controls the viewports vertical view position.
    JScrollBar getHorizontalScrollBar() 
              Returns the horizontal scroll bar that controls the viewport's horizontal view position.

    Die Methoden der JScrollBar helfen dir dann auf den weiteren Weg.
    http://java.sun.com/j2se/1.4.2/docs/...ScrollBar.html
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

  3. #3
    mas666 mas666 ist offline Mitglied Silber
    Registriert seit
    Jul 2005
    Beiträge
    57
    Hallo,

    Schau Dir mal die Funktion scrollPathToVisible an:

    Code java:
    1
    2
    
    JTree tree = new JTree(/*dein TreeModel*/);
    tree.scrollPathToVisible(/*dein TreePath*/);

    Aus der Java API:

    scrollPathToVisible
    public void scrollPathToVisible(TreePath path)
    Makes sure all the path components in path are expanded (except for the last path component) and scrolls so that the node identified by the path is displayed. Only works when this JTree is contained in a JScrollPane.

    Parameters:
    path - the TreePath identifying the node to bring into view
    Ob das dann angezeigte Baumblatt wirklich in der Mitte deiner Scrollbar ist wage ich zu bezweifeln. Sicher ist, dass der Knoten ausgeklappt wird und du ihn sicher siehst.

    Gruss
    mas
    HonniCilest und RELAX bedanken sich. 

Ähnliche Themen

  1. JScrollPane automatisch auf unterste Zeile fokusieren
    Von AusSpeyer im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 07.08.10, 14:14
  2. JScrollPane automatisch nach unten scrollen
    Von DarthShader im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 22.02.10, 12:48
  3. JTable/JScrollpane automatisch an Fenstergröße anpassen
    Von Kalmuecke im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 4
    Letzter Beitrag: 21.03.08, 15:19
  4. Antworten: 1
    Letzter Beitrag: 09.01.08, 15:51
  5. JScrollPane - Automatisch zu unterstem Punkt scrollen
    Von Manuel Hegemann im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 14.11.07, 09:34