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

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

Платформа J2Me: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Платформа J2Me»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Платформа J2Me», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Нажатием на кнопку Go вы на самом деле переключаете перемещение. Нажатие на кнопку во второй раз перемещает начало координат назад к верхнему левому углу дисплея.

Рисунок 69Когда ваш Canvas впервые создан начало координат его объекта - фото 54

Рисунок 6.9.Когда ваш Canvas впервые создан, начало координат его объекта Graphics, (0, 0), всегда относится к верхнему левому пикселю дисплея устройства

Рисунок 610Дисплей после перемещения начала координат Перемещение означает - фото 55

Рисунок 6.10.Дисплей после перемещения начала координат. Перемещение означает перенос начала координат объекта Graphics, а не дисплея

Листинг 6.8.После перемещения координаты, указанные процедурам рисования Graphics, не изменяются, поскольку они всегда связаны с началом координат контекста Graphics, а не дисплея

import javax.microedition.Icdui.Canvas;

import javax.microedition.Icdui.Command;

import javax.microedition.Icdui.CommandListener;

import javax.microedition.Icdui.Display;

import javax.microedition.Icdui.Displayable;

import javax.microedition.Icdui.Graphics;

/**

Демонстрирует преобразование контекста Graphics в Canvas.

@смотри javax.microedition.lcdui. Graphics

*/ public class TranslationDemo extends Canvas

implements CommandListener

{

private final int WHITE = OxFF «16 I OxFF «8 | OxFF;

private GraphicsDemo gDemo = GraphicsDemo.getlnstance ();

private Display display = Display.getDisplay(gDemo);

private static Command back = new Command("Back", Command.BACK, 1);

private static Command go = new Command("Go", Command.SCREEN, 1);

private static final int ORIGINAL_STATE = 1;

private static final int TRANSLATED_STATE = -1;

// Координата х начального рисунка, private int x = 20;

// Координата у начального рисунка, private int у = 20;

// Величина переноса в направлении х. private int deltaX = 30;

// Величина переноса в направлении у. private int deltaY = 30;

// Задает переменную, которая сообщает программе, рисовать ли на экране

// в первоначальной позиции или в преобразованной позиции,

private int state = ORIGINAL_STATE;

/**

Конструктор.

*/

public TranslationDemo()

{

super ();

addCommand(back);

addCommand(go);

setCommandListener (this);

display.setCurrent(this);

}

protected void paintClipRect(Graphics g)

{

int clipX = g.getClipX();

int clipY = g.getClipY();

int clipH = g.getClipHeight(); int clipW = g.getClipWidth();

int color = g. getColor();

g. setColor(WHITE);

g. fillRect(clipX, clipY, clipW, clipH);

g. setColor (color);

}

public void paint(Graphics g)

{

int w = 50;

int h = 50;

paintClipRect(g); g.fillRect(x, y, w, h);

}

// Переключает режим рисования. Этот метод вызывается во время

// обработки команды «Go», которая переключает перемещение.

private void toggleState()

{

state = — state;

}

// Переключает преобразование. Перерисовывает заново Canvas.

private void toggleTranslation()

}

if (state == ORIGINAL_STATE)

x = x + deltaX; у = у т deltaY;

}

else

{

x = x — deltaX;

у = у — deltaY; 1 toggleState();

// Запрашивает у реализации вызов метода paint() для восстановления

// Canvas. Это выражается в генерировании внутреннего события

// рисования, которое обрабатывается реализацией, repaint ();

*/

public void commandAction(Command c, Displayable d)

{

if (с == back)

GraphicsDemo.getInstanced.display!);

}

else if (c == go)

{

toggleTranslation();

}

}

}

Как вы узнали в предыдущем разделе, вы можете рисовать за пределами границ объекта Graphics, однако такое рисование не будет формировать изображение на экране. Но после выполнения внеэкранного рисования вы можете преобразовать Graphics для того, чтобы отобразить предыдущий внеэкранный рисунок.

Kaк рисуются компоненты

Вы, возможно, заметили, что метод toggleTranslation() в листинге 6.8 вызывает Canvas.repaint (). Этот вызов требует, чтобы реализация перерисовывала дисплей.

Вызов Canvas.repaint() выражается в событии внутренней реализации, представляя запрос обновления. Реализация обрабатывает событие внутренне. Она назначает вызов метода paint () Canvas, который выполняется реализацией, а не вашей программой.

Canvas должен быть закрашен для визуализации всех элементов, изображенных в его контексте, или для перерисовки поврежденных пикселей. Однако вы никогда не должны вызывать paint () прямо. Если вы желаете перерисовать ваш Canvas, вы должны создать вызов repaint (). Или вы можете вызвать следующую версию перегрузки, которая также определяется в классе Canvas:

void repaint(int x, int у, int width, int height)

Эта версия требует перерисовки прямоугольной области, определяемой параметрами, указанными в вызове.

Обратите внимание, что вы все равно должны перерисовать поврежденные пиксели, прежде чем создавать- вызов на перерисовку Canvas. Это требование отличается от требований приложений, написанных в AWT или Swing. В AWT и Swing вызов repaint() выполняет две операции: он сначала вызывает update(), а затем — paint (Graphics g). Вызов update () приводит к тому, что реализация стирает Panel, Canvas или JComponent. Такого вызова в МГОР нет, так что вы должны перерисовать поврежденные пиксели сами. Обратите внимание, что в листинге 6.6 метод paint (Graphics g) все равно вызывает метод paintClipRect(Graphics g).

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

Интервал:

Закладка:

Сделать

Похожие книги на «Платформа J2Me»

Представляем Вашему вниманию похожие книги на «Платформа J2Me» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Автор неизвестен - Старшая Эдда
Автор неизвестен
libcat.ru: книга без обложки
Автор неизвестен
libcat.ru: книга без обложки
Автор неизвестен
libcat.ru: книга без обложки
Автор неизвестен
Автор неизвестен Европейская старинная литература - Песни Матушки Гусыни
Автор неизвестен Европейская старинная литература
Автор неизвестен - Картезианский развратник
Автор неизвестен
Автор неизвестен Детская литература - Верхом на урагане [Из американского фольклора]
Автор неизвестен Детская литература
Автор неизвестен Эротика и секс - Роман Виолетты. Парижские сладости
Автор неизвестен Эротика и секс
libcat.ru: книга без обложки
Автор неизвестен Юмор
Автор неизвестен Эпосы, мифы, легенды и сказания - Мифы древней Индии. Литературное изложение В. Г. Эрмана и Э. Н. Темкина
Автор неизвестен Эпосы, мифы, легенды и сказания
Автор неизвестен Древневосточная литература - Древнекитайская философия. Собрание текстов в двух томах
Автор неизвестен Древневосточная литература
Отзывы о книге «Платформа J2Me»

Обсуждение, отзывы о книге «Платформа J2Me» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x