J2ME Problem mit Form und Gauge

benomatic

Grünschnabel
Hallo Leute,

vieleicht kann mir einer vieleicht ein Tip geben,
Ich hab nen Form an dem ich ein Fortschritsbalken drann pappe, dieser soll
mitten auf dem Diplay erscheinen ausserdem soll die Gauge nachdem diese
zuende getickert hat verschwinden und ein folge form gezeichnet werden.

Hier ist die Progrssbar, die funktioniert auch wunderbar, nur am ende bleibt alles
natürlich so stehen, da ich nicht weiss wie ich aufs folge form verweisen soll.

Code:
private void displayProgress(String titel, String info, int timeout, int init){
		gForm = new Form("Demo Application");
		final int intervals = 5;
		final long delay = timeout / intervals;
		final Gauge gauge = new Gauge(null, false, intervals, init);	
		gForm.append(gauge);
		Thread thread = new Thread(){
			public void run(){
				try{
					for(int i = 1; i <= intervals; i++){
						gauge.setValue(i);
						Thread.sleep(delay);
					}
				}catch (InterruptedException e){}
			}
		};
		thread.start();
		gForm.setTitle(titel);
		gForm.append(info);
		display.setCurrent(gForm);
		//display.setCurrent(form);
	}

Dann soll nach gForm, form folgen, nicht durch ein Command sondern nachdem die progressbar fertig ist.
Code:
public void commandAction(Command c, Displayable d) {
		
		if (d == form){
			if(c == cmd_exit){
				shutdown();
			}
			else if(c == cmd_gPos){
				try{
					//System.out.print("View_2\n");
					displayProgress("Positionsbestimmung", "Ihre Posiotion wird ermittelt", 3000, 0);
					img = Image.createImage("/image1.PNG");
					//form.deleteAll();
					form.append(img);
					form.removeCommand(cmd_gPos);
					form.addCommand(cmd_gSub);
					form.addCommand(cmd_back);
					form.append("Deine Position: "+position+");
					display.setCurrent(form);
				}catch (IOException e){}
[...]

Ich hoffe ich habe mich verständlich ausdrücken können,
Danke
 
Zuletzt bearbeitet:

matdacat

Erfahrenes Mitglied
Das soll "form" soll z.b. folge form sein
Ich hoffe ich habe mich verständlich ausdrücken können
Nein, konntest Du nicht.

Würd mal raten, dass einfach die Zeile display... fehlt.
Code:
Thread thread = new Thread(){
  public void run(){
    try{
      for(int i = 1; i <= intervals; i++){
        gauge.setValue(i);
        Thread.sleep(delay);
      }
      display.setCurrent(form);
    }catch (InterruptedException e){}
  }
};
 

benomatic

Grünschnabel
Nein, konntest Du nicht.
[...]

Okay ich versuchs nochmal,

Ich habe ein from -> gForm an das ich ein Fortschritsbalken anhänge. Wenn dieser abgelaufen ist möchte ich zum nächsten Form -> form wechseln, an dennen ich andere Items angehängt habe. Ich weiss nur nicht wie ich das realisieren soll.

Ausserdem wie bekomme ich diesen Fortschrittsbalken in die Mitte des Displays zentriert.

Für jeden Tip bin ich sehr Dankbar
gruss benomatic

ps. @ Maddog, nein da kommt keine "display" hin.
 

matdacat

Erfahrenes Mitglied
Ich habe ein from -> gForm an das ich ein Fortschritsbalken anhänge. Wenn dieser abgelaufen ist möchte ich zum nächsten Form -> form wechseln, an dennen ich andere Items angehängt habe.
Mein Code macht doch genau das: nach dem Updaten in der for-Schleife wird mittels display.setCurrent Deine nächste Form angezeigt.

in die Mitte des Displays zentriert
Oh, ein Pleonasmus! (scnr)
 
Zuletzt bearbeitet:

Neue Beiträge