SWT und Tree, wie kann ich TreeItem aus einem Tree entfernen?

Status
Nicht offen für weitere Antworten.

Koringar

Bekanntes Mitglied
Guten Tag,

ich habe neuer dings mit SWT zutun und habe auch schon viel mitgemacht, nun bin ich bei den Tree's von SWT angelangt (da TableTree deprecated (veraltet) ist, verwende ich Tree).
Und das hinzufügen von Elementen funktioniert auch, nun habe ich aber ein Problem bei entfernen vin bestimmten TreeItems innerhalb der Tree. Das Item finde ich heraus, blos gibt es keine Mehtode dieses zuentfernen (gibt nur removeAll()).
Und nun wollt ich Fragen ob jemand da vielleicht eine Lösung hat oder damit schon Erfahrung hat.

Ich habe schon versucht mit die Elemete mit getItems() geben zulassen und dann wieder neu auf das Tree zumachen, funkt aber nicht da der Tree mit removeAll() dispose wird. Ein neu erstellen des kompletten Tree's hat auch nicht gebracht.
 

Wildcard

Top Contributor
Da du neu in SWT bist vermute ich, der Tree war keine explizite Wahl.
Wenn man kein Masochist ist, verwendet man SWT Controls nicht direkt, sondern MVC/MVA Varianten von JFace. Schau dir den TreeViewer an.
 

Koringar

Bekanntes Mitglied
Also gehört habe ich davon schon, blos ich kann darauf irgend wie nicht Zugreifen. Ab welchen Java Version ist dieser Implementiert?
 

Koringar

Bekanntes Mitglied
THX,
brauchte es nicht runterladen, musste es nur explixit mit dem SWT Toolkit einbinden.

Wie funktioniert das REMOVE von dem TreeViewer genau?

Ich habe das so versucht 'trv_channel.remove(trv_channel.getTree().getItem(b));' (b ist der Zähler in einer Schleife und die Stelle an der das Item steht in dem Tree), aber es funktioniert nicht.
Habe in den Docs gesehend das man da 'elementsOrTreePaths' angeben muss, wie bekomme ich das raus. Bei dem Versuch will ich das oberste Item des Tree löschen.
 

Koringar

Bekanntes Mitglied
Ah habs gerade selbst raus gefunden,
nach dem Remove muss noch ein Refresh kommen, sonst macht er einfach so weiter ;).

Danke aber für deine Mühe Wildcard.
 

Koringar

Bekanntes Mitglied
Und schon wieder gleich die nächste Frage :D.

Beim hinzufügen von neuen Items unter ein anderes Item kommt ja dann immer ein
Plus von den Einträgen, jedoch wenn ich dann darauf klicken will verschwindet aber dieses Plus wieder. Jemand vielleicht eine Ahnung voran das liegen kann? (ein Refresh bringt auch nichts)

Edit:
So wie es aussieht löscht er den Eintrag wieder sobald ich drauf klicke.
 
Zuletzt bearbeitet:

Wildcard

Top Contributor
remove? Das machst du eigentlich nicht selbst da der ContentProvider für den Inhalt zuständig ist. Du musst dem Tree nur sagen, was er refreshen soll.
Das Plus kommt ebenfalls aus dem ContentProvider. Ob du ein plus siehst, oder nicht, hängt davon ab was die hasChildren Methode liefert.
 

Koringar

Bekanntes Mitglied
Jo habe ich zu Teil jetzt auch mitbekommen und wie kann ich jetzt neue Inhalte rein setzen ohne das sie verschwinden? Habe da schon einige Beispiele gesehen die das mit setInput machen, habe die aber nicht so richtig verstanden.
 

Koringar

Bekanntes Mitglied
Gut habe es jetzt raus gefunden wie es geht. Man braucht einen Klasse, die sich selbst als Arraylist speichern kann und mit der macht man alle Operationen die man will.
Dann macht man am Ende diese setInput und die Tree wird neu gezeichnet.
 

Wildcard

Top Contributor
Gut habe es jetzt raus gefunden wie es geht. Man braucht einen Klasse, die sich selbst als Arraylist speichern kann und mit der macht man alle Operationen die man will.
Ganz ehrlich, ich habe nicht die geringste Ahnung was du damit wohl meinen könntest.
Dann macht man am Ende diese setInput und die Tree wird neu gezeichnet.
Am besten ist immer nur selektiv updzudaten (nur was sich wirklich geändert hat). Dafür gibt es Methoden wie diese:
StructuredViewer (Eclipse Platform API Specification)
 

Koringar

Bekanntes Mitglied
Ganz ehrlich, ich habe nicht die geringste Ahnung was du damit wohl meinen könntest.

Eine Klasse (sagen wir mal MyModel als Name) hat die Variabel 'MyModel parent;' in der das Elternelement gespeichert wird, dann 'Arraylist<MyModel> child;' in der ihre ganzen Kindelemente gespeichert werden.
In dieser inplementiert man alle Methode die man so braucht zb. 'removeChild', 'addChild' usw., wichtig ist jedoch das man die toString Methode implementiert da sie das Anzeigen im Tree steuert. Also alles was toString wieder gibt wird im TreeViewer als Text angezeigt.
Kleines Beispielt, was mir geholfen hat:
[Eclipse_Project] View of /org.eclipse.jface.snippets/Eclipse JFace Snippets/org/eclipse/jface/snippets/viewers/Snippet002TreeViewer.java

Am besten ist immer nur selektiv updzudaten (nur was sich wirklich geändert hat). Dafür gibt es Methoden wie diese:
StructuredViewer (Eclipse Platform API Specification)

Thx, mit refresh zeichnet er nicht komplett neu. Das heist das die ausgeklappten Elementen im TreeViewer jetzt auch ausgeklappt bleiben ;).
 

Wildcard

Top Contributor
Eine Klasse (sagen wir mal MyModel als Name) hat die Variabel 'MyModel parent;' in der das Elternelement gespeichert wird, dann 'Arraylist<MyModel> child;' in der ihre ganzen Kindelemente gespeichert werden.
In dieser inplementiert man alle Methode die man so braucht zb. 'removeChild', 'addChild' usw., wichtig ist jedoch das man die toString Methode implementiert da sie das Anzeigen im Tree steuert. Also alles was toString wieder gibt wird im TreeViewer als Text angezeigt
Not quite. JFace ist nicht wirklich Model-View-Controler, sondern mehr Model-View-Adapter. Wie dein Model aussieht ist völlig irrelevant, solange der Content Provider das Model für die View übersetzen kann. Dein Model selbst muss also keine Baumstruktur sein, nur weil es in einem Tree anzeigen möchtest. toString hat hier auch nicht wirklich eine Bedeutung, dafür gibt es ja den LabelProvider. Er sagt der View, wie es ein Element deines Domain Models anzeigen muss.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F JavaFX (Tree)TableView korrekt drucken AWT, Swing, JavaFX & SWT 1
4a61766120617274697374 dynamische Tree View AWT, Swing, JavaFX & SWT 2
I JavaFX BorderPane ins Tree einfügen AWT, Swing, JavaFX & SWT 11
F Swing Datenmodell in Tree spiegeln ohne Adapterklassen AWT, Swing, JavaFX & SWT 5
T SWT Warum ist mein 1.Tree Node selektiert? AWT, Swing, JavaFX & SWT 11
O Tree path expandieren AWT, Swing, JavaFX & SWT 2
Madlip SWT Tree mit einen Klick alles ausklappen AWT, Swing, JavaFX & SWT 3
J Knotenselect von bestimmten Knoten im Tree AWT, Swing, JavaFX & SWT 2
L SWT tree elemente markieren AWT, Swing, JavaFX & SWT 4
J SWT JFace Tree in Section unsichtbar (Eclipse Forms) AWT, Swing, JavaFX & SWT 5
L SWT Tree reagieren BEVOR selektiert wurde AWT, Swing, JavaFX & SWT 2
S SWT tree collapse AWT, Swing, JavaFX & SWT 4
W SWT Resize Tree-Element AWT, Swing, JavaFX & SWT 3
S Dropdown menu / tree AWT, Swing, JavaFX & SWT 7
P SWT Tree - Keine Selection zulassen AWT, Swing, JavaFX & SWT 4
G Swing Tree wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
B SWT SWT Tree mit mehreren Spalten AWT, Swing, JavaFX & SWT 3
A Swing JTree Tree Node löschen AWT, Swing, JavaFX & SWT 2
G SWT Tree AWT, Swing, JavaFX & SWT 4
S Tree - ArrayList Zuordnung! AWT, Swing, JavaFX & SWT 13
G Bezeichungen im Tree werden durch . gekürzt? AWT, Swing, JavaFX & SWT 5
G Drag And Drop von Component (List, Tree) zum Desktop AWT, Swing, JavaFX & SWT 2
T TREE AWT, Swing, JavaFX & SWT 3
T Tree AWT, Swing, JavaFX & SWT 2
G tree.setSize tut nicht AWT, Swing, JavaFX & SWT 5
S SWT Tree AWT, Swing, JavaFX & SWT 3
U Baum/Tree nach Benutzer anzeigen AWT, Swing, JavaFX & SWT 3
L Renderer mit nativen komponenten in tabelle / tree / list AWT, Swing, JavaFX & SWT 4
R Tree automatisch öffnen AWT, Swing, JavaFX & SWT 7
N Tree automatisch öffnen AWT, Swing, JavaFX & SWT 2
J [SWT] alle Zellen in einem Tree einzeln selektieren AWT, Swing, JavaFX & SWT 2
S TableTree - Tree nicht in erster Spalte AWT, Swing, JavaFX & SWT 5
R Tree-Struktur in einer DB abspeichern AWT, Swing, JavaFX & SWT 15
R Klick in einem Tree erkennen und auswerten AWT, Swing, JavaFX & SWT 6
F Ermittlung der X- und Y- Koordinaten im Tree bei Tastaturst. AWT, Swing, JavaFX & SWT 5
S [S] custom tree componente AWT, Swing, JavaFX & SWT 8
C tree action AWT, Swing, JavaFX & SWT 8
G Tree und expand eines bekannten Pfades AWT, Swing, JavaFX & SWT 5
F Tree-Knoten programmgesteuert auswählen AWT, Swing, JavaFX & SWT 3
J Tree nur mit Ordner anzeigen? AWT, Swing, JavaFX & SWT 4
W SWT - Tree: Problem mit Double-Click expand AWT, Swing, JavaFX & SWT 5
R Nur Verzeichnisse im Tree? AWT, Swing, JavaFX & SWT 5
G verzeichnis tree erstellen AWT, Swing, JavaFX & SWT 2
V Tree Ausgabe Problem AWT, Swing, JavaFX & SWT 2
M JavaFX TreeView - TreeItem - SelectedItem AWT, Swing, JavaFX & SWT 7
P JavaFX Key-Value-Paar auf TreeItem ermitteln AWT, Swing, JavaFX & SWT 6
M JavaFX JAVAFX TreeItem mit Tooltip versehen AWT, Swing, JavaFX & SWT 4
N JavaFX TreeItem: Value-Binding AWT, Swing, JavaFX & SWT 1
S JavaFX TreeItem: Icon am Ende eines Eintrags anhängen AWT, Swing, JavaFX & SWT 2
G JavaFX TreeItem AWT, Swing, JavaFX & SWT 3
Madlip Probleme mit TreeItem AWT, Swing, JavaFX & SWT 2
T [SWT] TreeItem als selektiert markieren AWT, Swing, JavaFX & SWT 2
G SWT - TreeItem mit Image AWT, Swing, JavaFX & SWT 4
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
Mojo7310 Ändern von Text in JLabel mit einem Button AWT, Swing, JavaFX & SWT 11
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
S Swing zu einem Datum Tage addieren/subtrahieren AWT, Swing, JavaFX & SWT 6
E Swing Mausposition auf einem JFrame erkennen AWT, Swing, JavaFX & SWT 5
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
2 JavaFX die ChoiceBox leitet den String nicht weiter oder es komm zu einem NullPointer AWT, Swing, JavaFX & SWT 8
L JavaFX javafx.fxml.LoadException bei einem Taschenrechner AWT, Swing, JavaFX & SWT 5
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
N Nur bei einem Textfiled Nullpointerexception bei getText() AWT, Swing, JavaFX & SWT 1
H JComobox in einem JPopupNeu AWT, Swing, JavaFX & SWT 7
P Button simpler random auf einem JPanel verteilen? AWT, Swing, JavaFX & SWT 3
W Inject bei einem Swing Frontend AWT, Swing, JavaFX & SWT 8
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
Z Swing Drag and Drop mit einem JButton AWT, Swing, JavaFX & SWT 1
Z Mit einem Button einen anderen Button Triggern AWT, Swing, JavaFX & SWT 3
D AWT Wie kann ich ein Frame von einem anderen aus beeinflussen? AWT, Swing, JavaFX & SWT 7
T Setzen von der Schriftgröße bei einem Shell AWT, Swing, JavaFX & SWT 15
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
J Fenster mit Inhalten aus einem Array Füllen AWT, Swing, JavaFX & SWT 4
D JavaFX Ein Parameter von einem Stage(GUI) zu einem anderen übergeben AWT, Swing, JavaFX & SWT 6
T Bilder bei einem JFrame einfügen AWT, Swing, JavaFX & SWT 4
S JavaFX Variablen in einem FXML File verwenden AWT, Swing, JavaFX & SWT 8
A Objekt von einem Window erstellen? AWT, Swing, JavaFX & SWT 8
Drachenbauer Swing Wie ändere ich die helle geklickt-Farbe von einem JButton? AWT, Swing, JavaFX & SWT 4
ralfb1105 JavaFX Alert Confirmation Dialog aus einem Service Thread AWT, Swing, JavaFX & SWT 8
F JavaFX Aktuelle Zeit in einem TextField anzeigen AWT, Swing, JavaFX & SWT 7
M JavaFX Bild zur ImageView in einem Kreis anzeigen. AWT, Swing, JavaFX & SWT 4
F JavaFX PNG aus einem resource Ordner laden AWT, Swing, JavaFX & SWT 8
F JavaFX Checken ob der Input einem festgelegten Format gleicht AWT, Swing, JavaFX & SWT 7
B JavaFX Bilder in einem Gewissen bereich halten AWT, Swing, JavaFX & SWT 1
cool_brivk24 BufferedImage einem ClickEvent hinzufügen AWT, Swing, JavaFX & SWT 13
Q-bert Doppelclick auf einem List item AWT, Swing, JavaFX & SWT 9
J JavaFX von einem Array aus Buttons herausfinden auf welcher geklickt wurde aus dem Array. AWT, Swing, JavaFX & SWT 1
C SWT autosize bei gc.drawString() auf einem Label AWT, Swing, JavaFX & SWT 7
R Farbe zu einem Eckpunkt generieren AWT, Swing, JavaFX & SWT 2
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
F abgeleitete Panels von einem ContentPanel AWT, Swing, JavaFX & SWT 4
heinz ketchup While-Schleife in einem Service für GUI AWT, Swing, JavaFX & SWT 22
D zwei JLabel stapeln in einem JPanel AWT, Swing, JavaFX & SWT 5
H Hintergrundbild in einem Programm AWT, Swing, JavaFX & SWT 4
F RGB-Werte aus einem String einlesen AWT, Swing, JavaFX & SWT 26
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben