Автор неизвестен - Платформа J2Me

Тут можно читать онлайн Автор неизвестен - Платформа J2Me - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Автор неизвестен - Платформа J2Me краткое содержание

Платформа J2Me - описание и краткое содержание, автор Автор неизвестен, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Эта книга научит вас, как разрабатывать программное обеспечение для платформы J2ME компании «Sun Microsystems». Эта книга придерживается стиля учебного пособия, это не справочное руководство.

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

Платформа J2Me - читать онлайн бесплатно полную версию (весь текст целиком)

Платформа J2Me - читать книгу онлайн бесплатно, автор Автор неизвестен
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
Oбработка команд и событий

В компоненте Canvas вы можете добавлять и удалять высокоуровневые команды и устанавливать один блок прослушивания команд на Canvas , как и в других отображаемых компонентах. Canvas также может внедрять CommandListener и регистрироваться как свой собственный блок прослушивания.

Однако, в дополнение к обработке высокоуровневых команд, класс Canvas также обрабатывает низкоуровневые команды. Компоненты Canvas сами являются источниками низкоуровневых событий клавиш и указателя, которые генерируются действиями пользователя по вводу с клавиатуры и перемещением указателя на устройстве. Они также являются своими собственными блоками прослушивания низкоуровневых событий. Класс Canvas определяет интерфейс для обработки низкоуровневых событий как часть своего собственного API, другого интерфейса блока прослушивания не реализуется.

Реализация MIDP передает информацию о событии низкого уровня объекту Canvas , вызывая соответствующий метод в объекте Canvas . В таблице 6.1 перечислены возможные методы.

Таблица 6.1. Методы уведомления о событиях низкоуровневого API

Название метода — Описание

protected void keyPressed(int KeyCode) — Клавиша была нажата и отпущена

protected void keyReleased.(int KeyCode) — Клавиша была отпущена

protected void keyRepeated(int KeyCode) — Клавиша была нажата несколько раз

protected void pointerPressed(int x, int y) — Указатель был нажат

protected void pointerDragged(int x, int y) — Указатель был перемещен

protected void pointerReleased(int x, int y) — Указатель был отпущен

protected abstract void paint(Graphics g) — Произошел запрос Canvas на перерисовку

Для выполнения обработки событий низкого уровня ваш конкретный подкласс Canvas должен подменять один или больше методов, перечисленных в таблице 6.1. Не подменяя пустые описания класса Canvas, вы пропускаете события и вышеупомянутую возможность их обработки. Кроме того, ваш подкласс Canvas должен описывать метод paint () , который объявляется абстрактным в Canvas.

В листингах 6.1 и 6.2 представлена простая схема обработки команд и событий в Canvas. Код в листинге 6.1 является кодом MID-лета для демонстрационной программы, большая часть которой выглядит знакомо. Код в листинге 6.2, однако, создает подкласс Canvas — Displayable, который согласно коду, показанному в листинге 6.1, размещается на экране.

Листинг 6.1.Демонстрационной программе CanvasDemol требуется MID-лет, как и любое другое приложение МIDР

import javax.microedition.midlet.MIDlet;

import javax.microedition.lcdui.Display;

/"

Определяет MID-лет, отображающий пустой Canvas на дисплее устройства.

Отображаемый Canvas является Экземпляром класса Canvasl.

@смотри Canvasl

*/

public class CanvasDemol extends MIDlet

{

// Поддерживает ссылку на экземпляр данного класса.

private static CanvasDemol midlet;

// Поддерживает ссылку на Canvas, который пользователь

// видит на дисплее.

private static Canvasl instance;

private Display display; private Canvasl canvas;

/**

Конструктор No-arg. Вызывает конструктор no-arg класса MID-лета.

*/

public CanvasDemol()

super();

display = Display.getDisplay(this); instance = canvas; midlet = this;

{

/**

Возвращает ссылку на MID-лет, связанный с данным отображаемым объектом.

@возвращает MID-лет, который отображает этот объект.

**/

public static CanvasDemol getMIDlet()

{

return midlet;

{

public void startApp()

{

canvas = new Canvasl ();

display.setCurrent(canvas);

(

public void pauseApp()

{

}

public void destroyApp(boolean destroy)

{

instance = null;

canvas = null;

void quit ()

{

destroyApp(true);

notifyDestroyed();

}

}

Листинг 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! Это очень важно. Без вызова super() ваши экземпляры

// 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));

System.out.println("Game action = " + getGameAction(keyCode));

}

/* *

Печатает диагностическую информацию об атрибутах и возможностях объекта Canvas.

"/

protected void printCanvasInfо ()

{

System.out.println("Device height = " + getHeight ());

System.out.println("Device width = " + getWidth());

System.out.println("Pointer events = " + hasPointerEvents());

System, out. printl'n ("Pointer motion events = " +

hasPointerMotionEvents());

System.cue.println("Repeat events = " + hasRepeatEvents());

}

}

Чтобы убедиться, что в Canvas все еще осуществима обработка высокоуровневых команд, запустите MID-лет, показанный в листинге 6.2. Вы увидите, что дисплей, показанный на рисунке 6.2, имеет экранную клавишу Exit (Выход), которая при активации завершает работу МID-лета.

Рисунок 62Canvas все еще может выполнять обработку команд Он может быть - фото 47

Рисунок 6.2.Canvas все еще может выполнять обработку команд. Он может быть источником командных событий, которые реализация поставляет в зарегистрированный блок прослушивания команд

Клавишные события

Класс Canvas 1 подменяет метод keyReleased() в Canvas . Поскольку объект регистрируется как блок прослушивания событий, он получает клавишные события в ответ на действия пользователя, связанные с клавиатурой.

Нажатие на любую клавишу клавишной панели приводит к формированию двух клавишных событий: событие нажатия клавиши и событие отпускания клавиши. Эта программа выводит информацию о событиях отпускания клавиши. Информация о клавишном событии включает название клавиши, код клавиши и, возможно, связанное с ним обозначение игрового действия.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Автор неизвестен читать все книги автора по порядку

Автор неизвестен - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Платформа J2Me отзывы


Отзывы читателей о книге Платформа J2Me, автор: Автор неизвестен. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x