# HELP! Code verbessern?



## huller (23. Nov 2004)

Hallo Leute....
Ich hab da mal ne frage. ich möchte gerne eine präsentation über stuttgart fürs handy machen. ich hab bilder gemacht und die als *.png gespeichert. 15 kb im durchschnitt. jetzt ist das ein irrer schreib aufwand immer neue forms zu erstellen. kann mir jemand von euch tipps geben wie ich den code etwas kürzen könnte. vielleicht ne neue klasse schreiben oder so ähnlich die mir dann die einzelnen forms erstellt. ich hab alles in den konstrucktor reingehauen was auch der grund ist warum das proggie so lange läd. also ich würde mich einfach für alle tipps bedanken. 

danke im voraus schon..

mladdi


```
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;

public class Stadtspaziergang extends MIDlet implements CommandListener {

	
	static final Command cmdExit = new Command("Beenden", Command.EXIT, 1);
	static final Command cmdStart = new Command("Start", Command.SCREEN, 1);
	static final Command cmdWeiter = new Command("Weiter", Command.SCREEN, 1);
	static final Command cmdInfo = new Command("Info", Command.SCREEN, 2);
	static final Command cmdBack = new Command("Zurück", Command.SCREEN, 3);
	static final Command cmdBild1 = new Command("Bild 1", Command.SCREEN, 3);
	static final Command cmdBild2 = new Command("Bild 2", Command.SCREEN, 3);
	
	Display display;
	Form start;
	Form bahnhof1, bahnhof2, bahnhof3, bahnhofinfo;
	Form staatsgalerie1, staatsgalerie2, staatsgalerie3, staatsgalerieinfo;
	Form staatstheater1, staatstheater2, staatstheater3, staatstheaterinfo;
	Form landtag1, landtag2, landtag3, landtaginfo;
	Form neuesschloss1, neuesschloss2, neuesschloss3, neuesschlossinfo;
	Form schlossplatz1, schlossplatz2, schlossplatz3, schlossplatzinfo;
	Form altesschloss1, altesschloss2, altesschloss3, altesschlossinfo;
	Form markthalle1, markthalle2, markthalle3, markthalleinfo;
	Form koenigstrasse1, koenigstrasse2, koenigstrasse3, koenigstrasseinfo;
	Form end;
	
	public Stadtspaziergang() {
		display = Display.getDisplay(this);
		
		start = new Form("Stadtspaziergang");
		try {
			ImageItem startpic = new ImageItem("", Image.createImage("/img/start.png"), ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_AFTER, "Stadtspaziergang");
			start.append(startpic);
		}
		catch (java.io.IOException e) {
			start.append(new StringItem("Copyright", "Image not available:" + e));
		}
		start.addCommand(cmdExit);
		start.addCommand(cmdStart);
		start.setCommandListener(this);

//--------------START-FORM-------------------------------------------------------------------------------------------------------------------------------------------------------------		
		
		bahnhof1 = new Form("Hauptbahnhof");
		try {
			ImageItem bahnhofpic1 = new ImageItem("", Image.createImage("/img/bahnhof_1.png"), ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_AFTER, "Stadtspaziergang");
			bahnhof1.append(bahnhofpic1);
		}
		catch (java.io.IOException e) {
			start.append(new StringItem("Copyright", "Image not available:" + e));
		}
		bahnhof1.addCommand(cmdExit);
		bahnhof1.addCommand(cmdWeiter);
		bahnhof1.addCommand(cmdInfo);
		bahnhof1.setCommandListener(this);
		
		bahnhofinfo = new Form("Hauptbahnhof");
		try {
			ImageItem banner = new ImageItem("", Image.createImage("/img/banner.png"), ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_AFTER, "Stadtspaziergang");
			bahnhofinfo.append(banner);
		}
		catch (java.io.IOException e) {
			start.append(new StringItem("Copyright", "Image not available:" + e));
		}
		bahnhofinfo.addCommand(cmdExit);
		bahnhofinfo.addCommand(cmdBild1);
		bahnhofinfo.addCommand(cmdBild2);
		bahnhofinfo.addCommand(cmdBack);
		bahnhofinfo.setCommandListener(this);
		
		bahnhof2 = new Form("Hauptbahnhof");
		try {
			ImageItem bahnhofpic2 = new ImageItem("", Image.createImage("/img/bahnhof_2.png"), ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_AFTER, "Stadtspaziergang");
			bahnhof2.append(bahnhofpic2);
		}
		catch (java.io.IOException e) {
			start.append(new StringItem("Copyright", "Image not available:" + e));
		}
		bahnhof2.addCommand(cmdExit);
		bahnhof2.addCommand(cmdBack);
		bahnhof2.setCommandListener(this);
		
		bahnhof3 = new Form("Hauptbahnhof");
		try {
			ImageItem bahnhofpic3 = new ImageItem("", Image.createImage("/img/bahnhof_3.png"), ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_AFTER, "Stadtspaziergang");
			bahnhof3.append(bahnhofpic3);
		}
		catch (java.io.IOException e) {
			start.append(new StringItem("Copyright", "Image not available:" + e));
		}
		bahnhof3.addCommand(cmdExit);
		bahnhof3.addCommand(cmdBack);
		bahnhof3.setCommandListener(this);
		
//--------------BAHNHOF-FORM----------------------------------------------------------------------------------------------------------------------------------------------------------

		staatsgalerie1 = new Form("Staatsgalerie");
		try {
			ImageItem staatsgaleriepic1 = new ImageItem("", Image.createImage("/img/staatsgalerie_1.png"), ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_AFTER, "Stadtspaziergang");
			staatsgalerie1.append(staatsgaleriepic1);
		}
		catch (java.io.IOException e) {
			staatsgalerie1.append(new StringItem("Copyright", "Image not available:" + e));
		}
		staatsgalerie1.addCommand(cmdExit);
		staatsgalerie1.addCommand(cmdWeiter);
		staatsgalerie1.addCommand(cmdInfo);
		staatsgalerie1.addCommand(cmdBack);
		staatsgalerie1.setCommandListener(this);
		
		staatsgalerieinfo = new Form("Staatsgalerie");
		try {
			ImageItem banner = new ImageItem("", Image.createImage("/img/banner.png"), ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_AFTER, "Stadtspaziergang");
			staatsgalerieinfo.append(banner);
		}
		catch (java.io.IOException e) {
			staatsgalerieinfo.append(new StringItem("Copyright", "Image not available:" + e));
		}
		staatsgalerieinfo.addCommand(cmdExit);
		staatsgalerieinfo.addCommand(cmdBild1);
		staatsgalerieinfo.addCommand(cmdBild2);
		staatsgalerieinfo.addCommand(cmdBack);
		staatsgalerieinfo.setCommandListener(this);
		
		staatsgalerie2 = new Form("Staatsgalerie");
		try {
			ImageItem staatsgaleriepic2 = new ImageItem("", Image.createImage("/img/staatsgalerie_2.png"), ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_AFTER, "Stadtspaziergang");
			staatsgalerie2.append(staatsgaleriepic2);
		}
		catch (java.io.IOException e) {
			staatsgalerie2.append(new StringItem("Copyright", "Image not available:" + e));
		}
		staatsgalerie2.addCommand(cmdExit);
		staatsgalerie2.addCommand(cmdBack);
		staatsgalerie2.setCommandListener(this);
		
		staatsgalerie3 = new Form("Staatsgalerie");
		try {
			ImageItem staatsgaleriepic3 = new ImageItem("", Image.createImage("/img/staatsgalerie_3.png"), ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_AFTER, "Stadtspaziergang");
			staatsgalerie3.append(staatsgaleriepic3);
		}
		catch (java.io.IOException e) {
			staatsgalerie3.append(new StringItem("Copyright", "Image not available:" + e));
		}
		staatsgalerie3.addCommand(cmdExit);
		staatsgalerie3.addCommand(cmdBack);
		staatsgalerie3.setCommandListener(this);
		
//--------------STAATSGALERIE-FORM----------------------------------------------------------------------------------------------------------------------------------------------------------

		staatstheater1 = new Form("Staatstheater");
		try {
			ImageItem staatstheaterpic1 = new ImageItem("", Image.createImage("/img/staatstheater_1.png"), ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_AFTER, "Stadtspaziergang");
			staatstheater1.append(staatstheaterpic1);
		}
		catch (java.io.IOException e) {
			staatstheater1.append(new StringItem("Copyright", "Image not available:" + e));
		}
		staatstheater1.addCommand(cmdExit);
		staatstheater1.addCommand(cmdWeiter);
		staatstheater1.addCommand(cmdInfo);
		staatstheater1.addCommand(cmdBack);
		staatstheater1.setCommandListener(this);
		
		staatstheaterinfo = new Form("Staatstheater");
		try {
			ImageItem banner = new ImageItem("", Image.createImage("/img/banner.png"), ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_AFTER, "Stadtspaziergang");
			staatstheaterinfo.append(banner);
		}
		catch (java.io.IOException e) {
			staatstheaterinfo.append(new StringItem("Copyright", "Image not available:" + e));
		}
		staatstheaterinfo.addCommand(cmdExit);
		staatstheaterinfo.addCommand(cmdBild1);
		staatstheaterinfo.addCommand(cmdBild2);
		staatstheaterinfo.addCommand(cmdBack);
		staatstheaterinfo.setCommandListener(this);
		
		staatstheater2 = new Form("Staatstheater");
		try {
			ImageItem staatstheaterpic2 = new ImageItem("", Image.createImage("/img/staatstheater_2.png"), ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_AFTER, "Stadtspaziergang");
			staatstheater2.append(staatstheaterpic2);
		}
		catch (java.io.IOException e) {
			staatstheater2.append(new StringItem("Copyright", "Image not available:" + e));
		}
		staatstheater2.addCommand(cmdExit);
		staatstheater2.addCommand(cmdBack);
		staatstheater2.setCommandListener(this);
		
		staatstheater3 = new Form("Staatstheater");
		try {
			ImageItem staatstheaterpic3 = new ImageItem("", Image.createImage("/img/staatstheater_3.png"), ImageItem.LAYOUT_CENTER | ImageItem.LAYOUT_NEWLINE_AFTER, "Stadtspaziergang");
			staatstheater3.append(staatstheaterpic3);
		}
		catch (java.io.IOException e) {
			staatstheater3.append(new StringItem("Copyright", "Image not available:" + e));
		}
		staatstheater3.addCommand(cmdExit);
		staatstheater3.addCommand(cmdBack);
		staatstheater3.setCommandListener(this);
		
//--------------STAATSTHEATER-FORM----------------------------------------------------------------------------------------------------------------------------------------------------------
	}
	
	public void startApp() {
		display.setCurrent(start);
	}
	
	public void pauseApp() {
	}
	
	public void destroyApp(boolean unconditional) {
	}
	
	public void commandAction(Command c, Displayable d) {
		
		if (c == cmdStart) { //----------------------------------------- cmdStart
			display.setCurrent(bahnhof1);
		}
		if (c == cmdExit) { //------------------------------------------ cmdExit
			notifyDestroyed();
		}
		if (c == cmdInfo) { //------------------------------------------ cmdInfo
			if (d == bahnhof1) {
				display.setCurrent(bahnhofinfo);
			}
			if (d == staatsgalerie1) {
				display.setCurrent(staatsgalerieinfo);
			}
			if (d == staatstheater1) {
				display.setCurrent(staatstheaterinfo);
			}
		}
		if (c == cmdWeiter) { //---------------------------------------- cmdWeiter
			if (d == bahnhof1) {
				display.setCurrent(staatsgalerie1);
			}
			if (d == staatsgalerie1) {
				display.setCurrent(staatstheater1);
			}
			if (d == staatstheater1) {
				display.setCurrent(landtag1);
			}
		}
		if (c == cmdBild1) { //----------------------------------------- cmdBild1
			if (d == bahnhofinfo) {
				display.setCurrent(bahnhof2);
			}
			if (d== staatsgalerieinfo) {
				display.setCurrent(staatsgalerie2);
			}
			if (d== staatstheaterinfo) {
				display.setCurrent(staatstheater2);
			}
		}
		if (c == cmdBild2) { //----------------------------------------- cmdBild2
			if (d == bahnhofinfo) {
				display.setCurrent(bahnhof3);
			}
			if (d== staatsgalerieinfo) {
				display.setCurrent(staatsgalerie3);
			}
			if (d== staatstheaterinfo) {
				display.setCurrent(staatstheater3);
			}
		}
		if (c == cmdBack) { //------------------------------------------ cmdBack
			if (d == bahnhofinfo) {
				display.setCurrent(bahnhof1);
			}
			if (d == bahnhof2) {
				display.setCurrent(bahnhofinfo);
			}
			if (d == bahnhof3) {
				display.setCurrent(bahnhofinfo);
			}
			if (d == staatsgalerie1) {
				display.setCurrent(bahnhof1);
			}
			if (d == staatsgalerieinfo) {
				display.setCurrent(staatsgalerie1);
			}
			if (d == staatsgalerie2) {
				display.setCurrent(staatsgalerieinfo);
			}
			if (d == staatsgalerie3) {
				display.setCurrent(staatsgalerieinfo);
			}
			if (d == staatstheater1) {
				display.setCurrent(staatsgalerie1);
			}
			if (d == staatstheaterinfo) {
				display.setCurrent(staatstheater1);
			}
			if (d == staatstheater2) {
				display.setCurrent(staatstheaterinfo);
			}
			if (d == staatstheater3) {
				display.setCurrent(staatstheaterinfo);
			}
		}
	}
}
```
 :?:  :?:  :?:


----------



## pogo (23. Nov 2004)

du kannst auf jeden Fall mal mehrer Klassen schreiben, die deine Forms enthalten, dann entzerrt es sich schonmal.
Und diese dann in der main zusammen fügen


----------



## huller (25. Nov 2004)

was würdest du mir empfehlen zwecks der bilder. ich hätte da 28 bilder und 32 forms. also viel zum laden. so um 400kb. ich hau halt alle form immer in den konstrucktor rein. die werden aber beim start des programms alle initialisiert. das dauert. was kann man da anders machen??


----------



## tomkruse (25. Feb 2005)

Hi!

Wozu überhaupt Forms, wenn Du nur Bilder anzeigen möchtest?

Um welches Handy handelt es sich denn? Viele Handys können mittlerweile Jpg, dann werden die Bilder auch etwas kleiner.

viele Grüße

Thomas.


----------

