import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class Hemtenta extends MIDlet implements CommandListener { private Display display; private TextBox om_rutan = new TextBox("Om programmet", "Hemtentan 31 maj 2008. " + "Av Thomas Padron-McCarthy.", 100, TextField.ANY); private TreObjekt canvasen = new TreObjekt(); private Form cirkelform = new Form("Cirkeln"); private Gauge cirkel_x = new Gauge("X-position", true, canvasen.get_the_width(), canvasen.getCirkelX()); private Gauge cirkel_y = new Gauge("Y-position", true, canvasen.get_the_height(), canvasen.getCirkelY()); private Gauge cirkel_radie = new Gauge("Radie", true, 100, canvasen.getCirkelRadie()); private Form triangelform = new Form("Triangeln"); private Gauge triangel_x = new Gauge("X-position", true, canvasen.get_the_width(), canvasen.getTriangelX()); private Gauge triangel_y = new Gauge("Y-position", true, canvasen.get_the_height(), canvasen.getTriangelY()); private Gauge triangel_hojd = new Gauge("Höjd", true, 100, canvasen.getTriangelHojd()); private Form kvadratform = new Form("Kvadraten"); private Gauge kvadrat_x = new Gauge("X-position", true, canvasen.get_the_width(), canvasen.getKvadratX()); private Gauge kvadrat_y = new Gauge("Y-position", true, canvasen.get_the_height(), canvasen.getKvadratY()); private Gauge kvadrat_sida = new Gauge("Sida", true, 100, canvasen.getKvadratSida()); private Command tillbaka_kommandot = new Command("Tillbaka", Command.BACK, 1); private Command avsluta_kommandot = new Command("Avsluta", Command.EXIT, 1); private Command om_kommandot = new Command("Om programmet", Command.SCREEN, 1); private Command cirkel_kommandot = new Command("Redigera cirkeln", Command.SCREEN, 1); private Command triangel_kommandot = new Command("Redigera triangeln", Command.SCREEN, 1); private Command kvadrat_kommandot = new Command("Redigera kvadraten", Command.SCREEN, 1); public Hemtenta() { om_rutan.addCommand(tillbaka_kommandot); om_rutan.addCommand(avsluta_kommandot); om_rutan.setCommandListener(this); canvasen.addCommand(om_kommandot); canvasen.addCommand(avsluta_kommandot); canvasen.addCommand(cirkel_kommandot); canvasen.addCommand(triangel_kommandot); canvasen.addCommand(kvadrat_kommandot); canvasen.setCommandListener(this); cirkelform.append(cirkel_x); cirkelform.append(cirkel_y); cirkelform.append(cirkel_radie); cirkelform.addCommand(tillbaka_kommandot); cirkelform.setCommandListener(this); triangelform.append(triangel_x); triangelform.append(triangel_y); triangelform.append(triangel_hojd); triangelform.addCommand(tillbaka_kommandot); triangelform.setCommandListener(this); kvadratform.append(kvadrat_x); kvadratform.append(kvadrat_y); kvadratform.append(kvadrat_sida); kvadratform.addCommand(tillbaka_kommandot); kvadratform.setCommandListener(this); } public void startApp() { display = Display.getDisplay(this); display.setCurrent(canvasen); } public void commandAction(Command kommandot, Displayable s) { if (kommandot == avsluta_kommandot) { destroyApp(true); notifyDestroyed(); } else if (kommandot == om_kommandot) { display.setCurrent(om_rutan); } else if (kommandot == tillbaka_kommandot) { if (display.getCurrent() == cirkelform) { canvasen.setCirkelX(cirkel_x.getValue()); canvasen.setCirkelY(cirkel_y.getValue()); canvasen.setCirkelRadie(cirkel_radie.getValue()); } else if (display.getCurrent() == triangelform) { canvasen.setTriangelX(triangel_x.getValue()); canvasen.setTriangelY(triangel_y.getValue()); canvasen.setTriangelHojd(triangel_hojd.getValue()); } else if (display.getCurrent() == kvadratform) { canvasen.setKvadratX(kvadrat_x.getValue()); canvasen.setKvadratY(kvadrat_y.getValue()); canvasen.setKvadratSida(kvadrat_sida.getValue()); } display.setCurrent(canvasen); } else if (kommandot == cirkel_kommandot) { cirkel_x.setValue(canvasen.getCirkelX()); cirkel_y.setValue(canvasen.getCirkelY()); cirkel_radie.setValue(canvasen.getCirkelRadie()); display.setCurrent(cirkelform); } else if (kommandot == triangel_kommandot) { triangel_x.setValue(canvasen.getTriangelX()); triangel_y.setValue(canvasen.getTriangelY()); triangel_hojd.setValue(canvasen.getTriangelHojd()); display.setCurrent(triangelform); } else if (kommandot == kvadrat_kommandot) { kvadrat_x.setValue(canvasen.getKvadratX()); kvadrat_y.setValue(canvasen.getKvadratY()); kvadrat_sida.setValue(canvasen.getKvadratSida()); display.setCurrent(kvadratform); } } public void destroyApp(boolean unconditional) { } public void pauseApp() { } } // Hemtenta