In meinem TableViewer habe ich einen OwnerDrawLabelProvider, wo ich für eine bestimmte Spalte in meiner Tabelle eine ProgressBar zu einer TableEditor-Instanz hinzufüge.
Mein Problem ist folgendes:
Ich kann die Auswahl der ProgressBar festlegen, aber wenn ich versuche, sie zu aktualisieren, bleibt sie auf dem gleichen Wert.
CODE:
%Vor%Ich habe über ein Problem gelesen, dass die setSelection-Methode für ProgressBar einige Probleme hat. Ich habe meine eigene ProgressBar erstellt, indem ich die Basisklasse erweitert habe und die setSelection-Methode mit dem Fixcode überschrieben habe, aber immer noch nicht funktioniert.
In einer normalen Hauptfunktion funktioniert das.
Kann ich einige Vorschläge dazu bekommen, was das Problem sein kann oder wie das Hinzufügen dieser ProgressBar in einem TableViewer sein Verhalten beeinflusst?
EDIT: Wenn ich beim Erstellen des Label-Providers eine Instanz von progressbar erstelle und sie dann an den Tableeditor übergebe, wird die Fortschrittsanzeige für das letzte Element, bei dem ich sage, editor.setEditor (bar, tableItem, 4); aber ich muss eine Fortschrittsanzeige für jedes Element anzeigen und für jedes Element aktualisieren!
Vielleicht passiert das Update, aber die Visualisierungen werden nicht aktualisiert, je nachdem, wie Sie diesen Code aufrufen.
Du musst sicherstellen, dass du den ui-Thread nicht mobilisierst, wenn du dieses Update machst.
In Eclipse 3.x bedeutet dies die Verwendung von
%Vor%Oder verwenden Sie die Injektion, um die UISynchronize in 4.x
zu erhaltenSetze den setSelection-Code im Grunde dort ein.
Siehe diesen Artikel zur Hintergrundverarbeitung in Eclipse-Plugins: Ссылка
Wenn Sie den Wert von ProgressBar aktualisieren, müssen Sie danach den TableViewer mit all seinen Eigenschaften neu zeichnen / neu zeichnen, dann wird die Update Fortschrittsleiste angezeigt. Hoffe, das wird dein Problem lösen.
Tags und Links eclipse java eclipse-plugin