# Progress circle



## pipoo (26. Mrz 2009)

hallo,


weisst jemand, wie man ein progress circle bzw. loading (Animation) in SWT (Composite) entwickeln kann. D.h. während die Daten aus einer Database gesammelt werden, soll die progress circle angezeigt werden.


Vielen dank und besten Gruß


pipoo


----------



## Vayu (26. Mrz 2009)

ich würd ne undecorated Shell mit nem animated gif drauf basteln und die halt solange anzeigen, bis du mit dem Laden fertig bist


----------



## pipoo (26. Mrz 2009)

Vayu hat gesagt.:


> ich würd ne undecorated Shell mit nem animated gif drauf basteln und die halt solange anzeigen, bis du mit dem Laden fertig bist



vielen dank für die Antwort. zurzeit habe ich ja so gemacht. aber es ist irgendwie nicht schön. Manchmal werden die daten aufgeladen, kommt das fenster nicht automatisch hoch.  Außerdem habe ich das statusbar mit Swing geschrieben.


Hast du Beispiel?

Gruß

Pipoo


----------



## Vayu (26. Mrz 2009)

zeig am besten mal ein bisschen code. wie du was gemacht hast kann ich aus 



> Manchmal werden die daten aufgeladen, kommt das fenster nicht automatisch hoch. Außerdem habe ich das statusbar mit Swing geschrieben.



leider nicht erkennen


----------



## pipoo (26. Mrz 2009)

Vayu hat gesagt.:


> zeig am besten mal ein bisschen code. wie du was gemacht hast kann ich aus
> 
> 
> 
> leider nicht erkennen



[HIGHLIGHT="Java"]public StatusBar(int intPosX, int intPosY, int intWidth, int intHeight, String strPathImage, boolean bWithoutToolbar, String strTitle){
		mFrame = new JFrame();
		mPosX = intPosX;
		mPosY = intPosY;
		mWidth = intWidth;
		mHeight = intHeight;
		mPathImage = strPathImage;
		mFrame.setBounds(mPosX, mPosY, mWidth, mHeight);
		mImageLabel = new JLabel(new ImageIcon(mPathImage));
		if(bWithoutToolbar)	
			mFrame.setUndecorated(bWithoutToolbar);
		else
			mFrame.setTitle(strTitle);
		mFrame.getContentPane().add(mImageLabel);
		mFrame.pack();
		mFrame.setVisible(true);
	}[/HIGHLIGHT]

so sehe ich mein code aus.

aber ich würde gern ein animation bild wie in Ajax haben. weisst du was ich meine.


----------



## Vayu (26. Mrz 2009)

also du meinst ein Bild welches in Abhängigkeit des wirklichen Fortschritts voranschreitet und sich nicht einfach nur dreht und dreht so wie die Windowssanduhr? 

naja ... keine Ahnung bastel dir 10 Bildchen, 1 Bild stellt 10% dar. Wenn 10% deiner Arbeit erledigt sind ersetzt du dein voriges Bild durch das nächste und repaintest.


----------



## Wildcard (26. Mrz 2009)

Warum mischst du SWT und Swing? Wenn du keine zwingenden Gründe dafür hast, lass es bleiben, glaub mir, ich kenne mich da leider ein wenig aus.


----------



## pipoo (27. Mrz 2009)

Wildcard hat gesagt.:


> Warum mischst du SWT und Swing? Wenn du keine zwingenden Gründe dafür hast, lass es bleiben, glaub mir, ich kenne mich da leider ein wenig aus.



unter Swing hat es schon funktioniert. Dann würde ich jetzt mit SWT machen. Aber ich habe jetzt keine idea, wie gemacht werden soll.

Gruß

Pipoo


----------



## Wildcard (28. Mrz 2009)

Zeichnen kannst du mit einem PaintListener. Oder du nimmst etwas fertiges wie einen ProgressMonitorDialog.


----------



## pipoo (28. Mrz 2009)

Wildcard hat gesagt.:


> Zeichnen kannst du mit einem PaintListener. Oder du nimmst etwas fertiges wie einen ProgressMonitorDialog.



danke für die idea. ich will mal probieren.

ein schönes WE noch wünsche ich dir.


Gruß

pipoo


----------



## pipoo (31. Mrz 2009)

Wildcard hat gesagt.:


> Zeichnen kannst du mit einem PaintListener. Oder du nimmst etwas fertiges wie einen ProgressMonitorDialog.



Hallo WIldcard,

ich habe ein progressbar eingebaut. Aber während die Daten gesammelt werden, dann reagiert mein bar nicht mehr, falls es fertig ist, funktioniert mein bar wieder.. 
Für das Progressbar, was muss man berücksichtigen?


Pipoo


----------



## Wildcard (31. Mrz 2009)

Dann blockierte dein Workload den UI Thread. Long running operations müssen immer in einem eigenen Thread laufen. Benutzt du den ProgressMonitorDialog? Wenn ja, solltest du den parameter 'fork' auf true setzen.


----------



## pipoo (31. Mrz 2009)

Wildcard hat gesagt.:


> Dann blockierte dein Workload den UI Thread. Long running operations müssen immer in einem eigenen Thread laufen. Benutzt du den ProgressMonitorDialog? Wenn ja, solltest du den parameter 'fork' auf true setzen.



so ist das problem schon erledigt. ich habe mit canvas (animiert Pic) eingebettet.  VIelen Dank WIldcard.


Pipoo


----------

