Sichtbare Knoten im aktuellen Viewport eines JTree

Status
Nicht offen für weitere Antworten.

Bau3r

Mitglied
Moin moin,

ich möchte herausfinden, welche Knoten meines JTree sich aktuell im darstellbaren Bereich meines JTree befinden, welcher mit eine JScrollPane gescrollt werden kann. Gibt es eine Möglichkeit, alle angezeigten Knoten im Viewport als Liste ( oder etwas äquivalentes ) auszulesen? Ich hab schon ein bissel gegoogelt :### , aber noch nichts gefunden. Vllt. kann mir ja hier jemand helfen.

Danke im voraus,
Bau3r
 
R

Roar

Gast
neee, aber es gibt die methode isVisible(TreePath) in JTree. Falls du nicht zu viele Items im Tree hast, könntest du also alle paths durchgehen und prüfen ob visible.
 

Bau3r

Mitglied
Hi Roar,

erst mal danke für die Antwort. Leider macht die Funktion nicht ganz das, was ich benötige. Sie prüft lediglich, ob der TreePath "eingeklappt" ist und ich den Knoten deshalb nicht sehen kann. Wenn ich jetzt aber z.B. mit einem JScrollPane duch den Baum scrolle ( ist etwas größer ), dann verschwinden ja bestimmte Knoten aus "meinem" Sichtbereich. Und ganeu die Knoten, die dann nicht merh in meinem Sichtbereich sind ( d.h. "weggescrollt" ), möchte ich auch nicht in meiner Liste speicher. Gibt es da vielleicht irgendeine andere Möglichkeit als isVisible :?: ?
 

AlArenal

Top Contributor
Ich brainstorme mal:

Über die Scrollpane kannst du mit getViewRect() die Koordinaten des dargestellten Teils vom Tree (dem View) bekommen. Mit diesen Koordinaten kann man im Tree über getPathForLocation() den TreePath des darunterliegenden Nodes bekommen. Mittels getRowForLocation() und getRowHeight() sollte man sich nun eine Routine stricken können, die den Viewport quasi abtastet und dabei alle darin vorhandenen Nodes protokolliert.
 

Bau3r

Mitglied
Danke AlArenal, das werd ich mal versuchen.

Edit: Es hat wunderbar funkioniert. 8)
Ich war anfangs nur etwas überrascht, dass er immer einen Heap Overflow meldete, bis ich gemerkt habe, dass getRowHeight bei mir den Wert 0 zurückgeliefert hat :roll: .
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
wolfgang63 JavaFX Transparenter Hintergrund aber sichtbare Buttons AWT, Swing, JavaFX & SWT 6
D Swing JTable: über sichtbare Zeilen iterieren AWT, Swing, JavaFX & SWT 2
C java3D - sichtbare Kanten eines Shape3D AWT, Swing, JavaFX & SWT 2
A JScrollPane - Sichtbare komponenten herausfinden AWT, Swing, JavaFX & SWT 3
javasdann JTable sichtbare Zeilen innerhalb von JScrollPane ermitteln AWT, Swing, JavaFX & SWT 5
richis-fragen JTree +/- verschwidet wenn Knoten keine Kinder hat... AWT, Swing, JavaFX & SWT 6
X JavaFX Tooltips für XYChart-Knoten werden nicht angezeigt! AWT, Swing, JavaFX & SWT 3
E Swing Copy und Paste eines einzelnen Knoten aus einem JTree AWT, Swing, JavaFX & SWT 1
N Swing JTree Problem beim erstellen der Knoten AWT, Swing, JavaFX & SWT 0
B Knoten, Kanten erzeugen AWT, Swing, JavaFX & SWT 4
T JTree, Knoten mehrmals verwenden AWT, Swing, JavaFX & SWT 5
D AWT Knoten für Graphen kreisförmig anordnen AWT, Swing, JavaFX & SWT 5
D Erste Knoten des JTrees bei Start offen AWT, Swing, JavaFX & SWT 8
T TreeViewer knoten manuell umsortieren AWT, Swing, JavaFX & SWT 4
J Knotenselect von bestimmten Knoten im Tree AWT, Swing, JavaFX & SWT 2
M JTree mit eigenen Knoten - Zugriff auf Daten AWT, Swing, JavaFX & SWT 6
C Knoten anzeigenb eim DnD in einem JTree AWT, Swing, JavaFX & SWT 4
H JTree - nach Auswahl aus JFileChooser wird nur der erste Knoten angezeigt AWT, Swing, JavaFX & SWT 3
Z Jtree Knoten ändern AWT, Swing, JavaFX & SWT 5
S JTree - Knoten mit animiertem GIF/Icon AWT, Swing, JavaFX & SWT 5
algorismi Knoten im JTree deaktivieren AWT, Swing, JavaFX & SWT 4
B JTree - pro Knoten kann nur ein Blatt eingefügt werden AWT, Swing, JavaFX & SWT 5
G JTree Knoten ein / ausblenden AWT, Swing, JavaFX & SWT 3
P JTree Knoten schliessen AWT, Swing, JavaFX & SWT 16
P Eindeutiger Knoten im Treeview AWT, Swing, JavaFX & SWT 3
S JTree rendern der Knoten [+] und [-], nicht der Node Icons AWT, Swing, JavaFX & SWT 2
G JTree: mehrere Knoten selektieren! AWT, Swing, JavaFX & SWT 2
S JTree, Knoten anhand eines Pfades öffnen? AWT, Swing, JavaFX & SWT 2
masta // thomas JTree - Knoten ausblenden. AWT, Swing, JavaFX & SWT 3
S Blätter oder Knoten im JTree ordnen AWT, Swing, JavaFX & SWT 3
D JTree - Knoten einfügen und automatisch in den Editiermodus AWT, Swing, JavaFX & SWT 2
G JTree -- Node nach ändern in anderen Knoten AWT, Swing, JavaFX & SWT 15
L nur den JTree Knoten auf der Console ausgeben? AWT, Swing, JavaFX & SWT 6
W JTree, bei Drag Over über den Knoten "markieren" AWT, Swing, JavaFX & SWT 3
S JTree hinzugefügte Knoten anzeigen AWT, Swing, JavaFX & SWT 9
K Frage zu einem älteren Beitrag: JTree letzter Knoten auswähl AWT, Swing, JavaFX & SWT 2
G Knoten im Jtree mit unterscheidlichen Farben darstellen AWT, Swing, JavaFX & SWT 5
S Knoten im JTree hinzufügen/löschen mit eigenem Jtree AWT, Swing, JavaFX & SWT 8
R JTree: TreeCellRenderer und Selektion eines Knoten AWT, Swing, JavaFX & SWT 10
G JTree - einzelnen Knoten löschen AWT, Swing, JavaFX & SWT 11
M Freiraum zwischen Knoten im JTree AWT, Swing, JavaFX & SWT 14
P JTree Knoten Öffnen - PER Programm AWT, Swing, JavaFX & SWT 5
D Knoten in JTree ausblenden. AWT, Swing, JavaFX & SWT 12
M JTree - Wie kann man einen einzelnen Knoten deselektieren? AWT, Swing, JavaFX & SWT 3
F Tree-Knoten programmgesteuert auswählen AWT, Swing, JavaFX & SWT 3
T Knoten in Jtree anders darstellen AWT, Swing, JavaFX & SWT 2
P JTree: Alle Knoten geöffnet anzeigen AWT, Swing, JavaFX & SWT 2
M Einen Knoten im JTree zusammenklappen? AWT, Swing, JavaFX & SWT 6
M JTree: Wie einen Knoten editieren? AWT, Swing, JavaFX & SWT 5
X JTree: Selektion nach dem Entfernen von Knoten AWT, Swing, JavaFX & SWT 2
W JTree Knoten oder Blatt AWT, Swing, JavaFX & SWT 3
W JTree löschen & überprüfen von Knoten oder Blatt AWT, Swing, JavaFX & SWT 3
W JTree Knoten irgendwo hinzufügen AWT, Swing, JavaFX & SWT 2
C Swing In der Titelleiste den Namen und den vollständigen Pfad bzw URL des aktuellen Dokuments anzeigen AWT, Swing, JavaFX & SWT 25
S Programm auf aktuellen Stand bringen AWT, Swing, JavaFX & SWT 2
B SWT Linie soll in Abhängigkeit der aktuellen Uhrzeit gezeichnet werden AWT, Swing, JavaFX & SWT 16
C SWT - Fontgröße des aktuellen Fonts ermitteln AWT, Swing, JavaFX & SWT 2
K aktuellen Inhalt eines JPanels ermitteln AWT, Swing, JavaFX & SWT 3
G jspinner schrittweite in Abhängigkeit vom aktuellen Wert AWT, Swing, JavaFX & SWT 3
B wie behält man die aktuellen LookAndFeel einstellungen? AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben