Ярослав, вот код, как Вы просили:
Midlet.java
| Код | import javax.microedition.midlet.*; import javax.microedition.lcdui.*; /** * @author Admin */ public class Midlet extends MIDlet implements CommandListener {
Form form; TextField first, second; //, third; int value1, value2, value3; Command CMD_SOLVE; Display display; MIDPCanvas canvas; boolean isPaint;
public Midlet() { display = Display.getDisplay(this); form = new Form("Calculator"); first = new TextField("", "", 10, 2); second = new TextField("", "", 10, 2); //third = new TextField("", "", 10, 2); CMD_SOLVE = new Command("Решить", Command.OK, 1); form.append(first); form.append(second); //form.append(third); form.addCommand(CMD_SOLVE); form.setCommandListener(this); isPaint = false; canvas = new MIDPCanvas(this); }
public void commandAction(Command c, Displayable d) { if(c == CMD_SOLVE) { value1 = Integer.parseInt(first.getString()); value2 = Integer.parseInt(second.getString()); value3 = value1 + value2; String value; value = String.valueOf(value3); isPaint = true; display.setCurrent(canvas); canvas.paintOtvet(value); //third.setString(value); //display.setCurrent(form); } }
public void startApp() { display.setCurrent(form); }
public void pauseApp() { }
public void destroyApp(boolean unconditional) { } }
|
MIDPCanvas.java
| Код | import javax.microedition.lcdui.*;
/** * @author Admin */ public class MIDPCanvas extends Canvas implements CommandListener {
String otv;
Midlet midlet;
Command CMD_BACK;
int screenWidth, screenHeight; /** * constructor */ public MIDPCanvas(Midlet midlet) { this.midlet = midlet;
screenWidth = getWidth(); screenHeight = getHeight();
try { CMD_BACK = new Command("Назад", Command.BACK, 1); // Set up this canvas to listen to command events setCommandListener(this); // Создаём комманду возврата на главную форму addCommand(CMD_BACK); } catch(Exception e) { e.printStackTrace(); } } /** * paint */ public void paint(Graphics g) { if(midlet.isPaint) { //Заливаем экран зеленым цветом clearGreenScreen(g); //Устанавливаем надпись - ответ по центру g.drawString(otv, screenWidth/2, screenHeight/2, Graphics.BASELINE|Graphics.HCENTER); } }
public void clearGreenScreen(Graphics g) { int color = g.getColor();
g.setColor(0, 255, 0); //Установили зелёный цвет по системе: (красный, зелёный, синий) g.fillRect(0, 0, screenWidth, screenHeight);
g.setColor(color); }
public void paintOtvet(String s) { otv = s; repaint(); } /** * Called when a key is pressed. */ protected void keyPressed(int keyCode) { } /** * Called when a key is released. */ protected void keyReleased(int keyCode) { }
/** * Called when a key is repeated (held down). */ protected void keyRepeated(int keyCode) { } /** * Called when the pointer is dragged. */ protected void pointerDragged(int x, int y) { }
/** * Called when the pointer is pressed. */ protected void pointerPressed(int x, int y) { }
/** * Called when the pointer is released. */ protected void pointerReleased(int x, int y) { } /** * Called when action should be handled */ public void commandAction(Command command, Displayable displayable) { if(command == CMD_BACK) { midlet.display.setCurrent(midlet.form); } }
}
|
|