Программирование мобильных телефонов на Java

public class Main extends MIDlet



Листинг 7.6

Класс Main и luiacq.Draw */ import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class Main extends MIDlet implements CommandListener  { // команда выхода из программы private Command exitMidlet = new Command("Выход",Command.EXIT, 0);
public void startApp() { // создаем объект класса Draw Draw dr = new Draw();
// запускаем поток dr.start();
// добавляем команду выхода dr.addCommand(exitMidlet);
dr.setCommandListener(this);
Display.getDisplay(this).setCurrent(dr);
} public void pauseApp() {} public void destroyApp(boolean unconditional){} public void commandAction(Command c, Displayable d) { if (c == exitMidlet) { destroyApp(false);
notifyDestroyedt) ;  } } } /**  класс Draw определен в файле Draw.Java циклическое появление квадрата */ import javax.microedition.Icdui.*; public class Draw extends Canvas implements Runnable { // позиция для перемещения квадрата int position = 10; // узнаем ширину экрана int end = getwidth();
// конструктор public Draw() { super();
} public void start () { // создаем и запускаем поток Thread t = new Thread(this);
t.start();
} // метод run интерфейса Runnable  public void run()  { // бесконечный цикл while (true) { // сравниваем позицию квадрата if(position >
end) { // обнуляем позицию квадрата position = 0;  } // увеличиваем позицию на 1 position ++; // обновляем экран repaint() ; // останавливаем цикл на 20 миллисекунд try { Thread.sleep(20);
} catch (Java. lang. InterruptedException zxz) {} ) } public void paint(Graphics g) { // вычисляем область для перерисовки экрана int x = g.getClipWidth();
int у = g.getClipHeight();
// устанавливаем белый цвет фона g.setColor(0xffffff);
// назначаем перерисовку всему экрану g.fillRect(0,0,х,у);
//устанавливается синий цвет квадрата g.setColor(0, 0, 200);
 // рисуем квадрат g.fillRect(position,40, 20, 20);
}  }
 


Содержание раздела