Universell einsetzbarer Ladebalken, Progresssbar?

Status
Nicht offen für weitere Antworten.

pocketom

Bekanntes Mitglied
Hallo,

habe ein kleines Programm (SWT) geschreiben das teilweie relativ lange Rechenzeiten (10-60 Sek.) mit sich bringt. So z.B. beim Laden und Parsen von Dateien(>100MB), Teilweise bei der Auswertung, Verarbeitung, Datei schreiben, usw. Ich brauche derzeit insges. an 7 Stellen einen Progressbar damit der User nicht denkt das Programm wäre hängengeblieben, evtl. bald noch mehr. Nun wäre meine Frage, gibts eine Möglichkeit für alle dieser rechenintensiven Operationen ein und den selben Ladebalken, (bzw. das selbe Objekt, Klasse) zu benutzen, oder muss ich für jedes dieser Teilprobleme einen eigenen Progressbar(bzw. halt eine eigene Ansteuerung) entwickeln? Hier im Forum gibts natürlich zig Beispiele zu Progressbars, aber einen generalisierbaren Ansatz den man möglichst einfach an verschiedenen Stellen zum Einsatz bringen kann hab ich leider nicht gefunden.

Dank Euch schonmal für Eure Ideen und Anregungen :cool:
 

pocketom

Bekanntes Mitglied
Ok, aber ich benutze doch SWT? ???:L Irgendwie peil ichs nicht so ganz. Vielliecht hab ich meine Frage auch undeutlich formuliert. Ich möchte dass immer dann wenn mein Programm rechnet(also egal wie kurz oder wie lang) einen Balken anzeigen lassen. Die vorhandenen Klassen, Methoden möchte ich dazu wenn irgendwie möglichnicht modifizieren müssen, der ProgressBar soll sich selbständig um die Ermittlung seines Status und der Aktualisierung seines Fortschrittes kümmern. Er soll beim Programmstart einfach nur mit den Methoden initialisiert werden auf die er quasi anspringen soll. Geht sowas? Möchte wiegesagt wenn möglich die Aktualisierung der Fortschrittanzeige nicht in jede betroffene Klasse bzw. Methode implementieren. Kennst du hierfür ein SWT Beispiel? Die die ich gefunden habe sind alle eher so nach der von Hand zu Fuß Methode...
 

FelixB

Bekanntes Mitglied
??? das Programm rechnet doch permanent. du bewegst die Maus - das Programm arbeitet. Du drückst eine Taste - wieder Rechenarbeit.

nach deiner Logik wird der Progress-Bar nur dann nicht angezeigt, wenn absolut nichts nichts passiert. Ist das wirklich so gedacht?
 
G

Guest

Gast
Er soll beim Programmstart einfach nur mit den Methoden initialisiert werden auf die er quasi anspringen soll.
Also natürlich nicht für Bewegen der Maus, nur für eine Liste von Methoden die rechenintensiv sind, so dass man auch jederzeit wenn eine neue hinzukommt die schnell beim progressbar registrieren kann.
 

Wildcard

Top Contributor
pocketom hat gesagt.:
Ich möchte dass immer dann wenn mein Programm rechnet(also egal wie kurz oder wie lang) einen Balken anzeigen lassen. Die vorhandenen Klassen, Methoden möchte ich dazu wenn irgendwie möglichnicht modifizieren müssen, der ProgressBar soll sich selbständig um die Ermittlung seines Status und der Aktualisierung seines Fortschrittes kümmern.
Vergiss es. Das ist schon mathematisch unmöglich (und damit absolut unmöglich), da sich nicht allgemein feststellen lässt ob ein Algorithmus terminieren wird oder nicht.
 
G

Guest

Gast
Hallo

warum nimmst du nicht ne Progressbar von swt, wenn du den style da swt.intermdiate setzt, Brauchst du keinen anfangs und endwert
 

pocketom

Bekanntes Mitglied
Hmmm, raff ich ned so ganz. Was bewirkt INTERMEDIATE? Irgednwo her muss der Progressbar ja wissen in welchem Bereich er angesprochen werden möchte ???:L
 

Wildcard

Top Contributor
Das bedeutet einfach das sie nicht von 0-100% läuft, sondern einfach um zu zeigen das sich noch was tut.
Denk nicht weiter drüber nach, die ultimative, gedankenlesende ultra ProgressBar gibt es nicht :wink:
 
G

Guest

Gast
Jup, das ist mir mittlerweile auch klar geworden. Habe mir selbst eine Progressbarklaasse gemacht, aber das einzige was daran funktioniert ist der Fortschrittsbalken selbst, seltsamerweise krieg ichs aber nicht mal hin eine Prozentanzeige (Label das immer parallel aktualisiert werden soll) zum laufen zu bringen, geschweige denn das man eine Description setzen kann. Das Teil verhält sich sehr sehr komisch. Vielleicht kannst du dir das mal kurz ansehen, Code hab ich hier gepostet: ProgressBar Probleme


Würde sagen, damit ist der Thread hier abgeschlossen.
 

Wildcard

Top Contributor
Anonymous hat gesagt.:
Das Teil verhält sich sehr sehr komisch. Vielleicht kannst du dir das mal kurz ansehen, Code hab ich hier gepostet: ProgressBar Probleme
Ich halte SWT für ein absolut grottiges Toolkit das Swing um Jahre hinterher ist (bzw. ohne ein deutlich verbessertes JFace niemals auch nur annähernd die Mächtigkeit von Swing erreichen kann) insofern klinke ich mich hier aus :wink:
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben