Платформа программирования J2ME для портативных устройств


Листинг 6.2. Чтобы использовать Canvas, вы должны создать подкласс Canvas


import javax.microedition.lcdui.Canvas;

import javax.microedition.lcdui.Command;

import javax.microedition.lcdui.CommandListener;

import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.Displayable;

import javax.microedition.lcdui.Graphics;

/**

Определяет подкласс Canvas, который отображается с помощью MID-лета

CanvasDemol. Этот Canvas имеет единственную команду «Exit», так что

пользователь может завершить работу демонстрационной программы.

@Осмотри CanvasDemol

*/

public class Canvasl extends дополняет Canvas

implements CommandListener

{

private Command exit = new Command("Exit", Command.EXIT, 1);

/**

Конструктор No-arg.

*/

public Canvasl ()

{

// Обратите внимание на вызов super (), который является конструктором

// r.o-arg Canvas! Это очень важно. Без вызова superf) ваши экземпляры

// Canvas не смогут действовать как настоящие Canvas. Они не будут

// отображать правильно, они не будут рисовать должным образом и они

// не смогут обрабатывать события, super () ;

addCommand(exit); setCommandListener (this);

printCanvasInfo() ;

}

/**

Рисует внешний вид Canvas, видимый пользователю.

В данном случае он не рисует ничего.

Поэтому этот Canvas не имеет визуального представления.

*/

public void paint(Graphics g)

{

}

public void commandAction(Command c, Displayable d)

{

if (c == exit)

CanvasDemol.getMIDlet().quit();

}

/**

Определяет, что обработка должна быть сделана в ответ на

событие отпускания клавиши, произошедшее в данном Canvas.

Этот метод подменяет тот же самый метод в Canvas.

*/

public void keyReleased(int keyCode)

{

printKeyEventlnfo(keyCode);

}

/**

Определяет некоторую обработку событий, связанных с клавишами.

Этот метод просто печатает в стандартном результате некоторую

диагностическую информацию о событиях, связанных с клавишами, на Canvas.

*/

protected void printKeyEventlnfо(int keyCode)

{

System.out.println("Key code = " + keyCode);

System.out.println("Key name = " + getKeyName(keyCode));



- Начало -  - Назад -  - Вперед -



Книжный магазин