import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class index extends MIDlet { public class point extends Canvas implements CommandListener{ private int x; // êoîpäèíaòa x òo÷êè private int y; // êoîpäèíaòa y òo÷êè private int width; // øèpèía ýêpaía private int heigh; // âûcoòa ýêpaía private boolean clrFlag = true; // ôëaã o÷ècòêè ýêpaía private Command clear; // êoìaíäa o÷ècòêè ýêpaía // êoícòpyêòop êëacña Ëåâàÿ êëàâèøà âûáîð point public point () { // âûçoâ êoícòpyêòopa poäèòeëücêoão êëacña super(); // ïoëy÷èòü øèpèíy ýêpaía width=getWidth(); // ïoëy÷èòü âûcoòy ýêpaía height=getHeight(); // ycòaíoâèòü òeêyùèe êoîpäèíaòû òo÷êè â öeíòp ýêpaía x=width/2; y=height/2; // coçäaòü oáÚeêò êoìaíäû o÷ècòêè ýêpaía clear = new Command("Î÷èñòèòü", Command.OK, 1); // äoáaâèòü êoìaíäy o÷ècòêè ýêpaía addCommand(clear); // ycòaíoâèòü áëoê ïpocëyøèâaíèÿ êoìaíäû setCommandListener(this); } // ìeòoä ïepepècoâêè ýêpaía public void paint(Graphics g) { // ïpoâepèòü ôëaã o÷ècòêè ýêpaía if (clrFlag) { // ycòaíoâèòü òeêyùèé öâeò áeëûì g.setColor(0xffffff); // çaëèòü ïpÿìoyãoëüíèê paçìepoì c ýêpaí g.fillRect(0, 0, width, height); // cápocèòü ôëaã o÷ècòêè ýêpaía clrFlag = false; } // ycòaíoâèòü òeêyùèé öâeò òo÷êè êpacíûì g.setColor(255,0,0); // oòoápaçèòü òo÷êy â òeêyùèx êoîpäèíaòax g.drawLine(x,y,x,y); } // ìeòoä, peaëèçyþùèé áëoê ïpocëyøèâaíèÿ êoìaíäû public void commandAction(Command c, Displayable s) { // ecëè cpaáoòaëa êoìaíäa o÷ècòêè if (c == clear) { // ïoäíÿòü ôëaã o÷ècòêè ýêpaía clrFlag = true; // ycòaíoâèòü òeêyùèe êoîpäèíaòû òo÷êè â öeíòp ýêpaía x=width/2; y=height/2; // èíèöèèpoâaòü ïepepècoâêy ýêpaía repaint(); } } // áëoê ïpocëyøèâaíèÿ coáûòèé íèçêoão ypoâíÿ public void keyPressed(int keyCode) { switch (keyCode) { // cìecòèòü òeêyùèe êoîpäèíaòû òo÷êè // â coîòâeòcòâèè c íaæaòoé êëaâèøeé case KEY_NUM1: x--; y--; break; case KEY_NUM2: y--; break; case KEY_NUM3: x++; y--; break; case KEY_NUM4: x--; break; case KEY_NUM6: x++; break; case KEY_NUM7: x--; y++; break; case KEY_NUM8: y++; break; case KEY_NUM9: x++; y++; break; } // èíèöèèpoâaòü ïepepècoâêy ýêpaía repaint(); }} public void startApp() { // ñîçäàòü îáÚåêò óïðàâëÿåìîé òî÷êè point point = new point(); // ïîëó÷èòü ññûëêó íà ìåíåäæåð äèñïëåÿ display = Display.getDisplay(this); display.setCurrent(point); } public void pauseApp() {} public void destroyApp(boolean unconditional) {} }