Читаем Платформа J2Me полностью

*/

public void paint(Graphics g)

{

paintClipRect(g);

int width = getWidthO; int height = getHeight();

int xO = 5;

int yO = 5;

int barW = 10;

int initHeight = height — 10;

int deltaH = 10;

g. drawRect(xO, yO, barW, initHeight);

g. fillRect(xO + barW, yO + deltaH, barW, initHeight — deltaH + 1);

g. drawRect(xO + barW " 2, yO + deltaH * 2,

barW, initHeight — deltaH * 2);

g. setColor (255, 00, 00); g.fillRect(xO + bar» * 3, yO + deltaH * 3,

barW, initHeight — deltaH * 3 + 1); g. setColor (0," 0, 0);

g. drawRect(xO + barW * 4, yO + deltaH * 4,

barW, initHeight — deltaH * 4);

g. fillRect(xO + barW * 5, yO + deltaH * 5,

barW, initHeight — deltaH * 5 + 1);

g. drawRect(xO + barW * 6, yO + deltaH * 6,

barW, initHeight — deltaH * 6); g.fillRect(xO + barW * 1, yO + deltaH * 1,

barW, initHeight — deltaH * 7 + 1);

}

public void commandAction(Command c, Displayable d)

{

if (c == back)

{

GraphicsDemo.getlnstanceO.display!);

}

}

}


Дуги. Класс Graphics также поддерживает рисование дуг. Чтобы нарисовать дугу, вы должны указать шесть параметров. Эти параметры включают четыре размера, которые определяют ограничивающий дугу прямоугольник, ее начальный угол и ее конечный угол. Ограничивающий прямоугольник определяется теми же четырьмя параметрами, которые требуются для прямоугольников.

Процедура рисования отслеживает дугу вдоль ее пути от начального угла к конечному углу в направлении против часовой стрелки. Угол в 0 градусов располагается вдоль положительной оси X координатной плоскости. На рисунке 6.6 показаны две дуги, нарисованные методом paint (Graphics g) в листинге 6.5.



Рисунок 6.6. Как и другие геометрические фигуры, дуги могут быть нарисованы в режиме контура или заполненными


Листинг 6.5. Дуги могут быть нарисованы в виде очертания или заполненными, как и прямоугольники


import javax.microedition.lcdui.*;

/**


Демонстрирует рисование дуг с помощью класса Graphics.

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


*/

public class ArcDemo extends Canvas

implements ComraandListener

{

public void paint(Graphics g)

{

paintClipRect(g);

}

int width = getWidth();

int height = getHeight ();

g. drawArc(5, 5, 80, 40, 90, 300);

g. fillArc(5, 60, 80, 40, 0, 250);

}

.

}


Обратите внимание, что вторая дуга заполнена и что она была создана с помощью метода fillArc () вместо метода drawArc ().


Текст. Класс Graphics также поддерживает «рисование» текстовых символов в Canvas. Три метода, перечисленные в таблице 6.4, являются методами класса Canvas, поддерживающими размещение текста в Canvas.


Таблица 6.4. Методы класса Canvas, которые поддерживают изображение текста на Canvas


Перейти на страницу:

Похожие книги

Программирование мобильных устройств на платформе .NET Compact Framework
Программирование мобильных устройств на платформе .NET Compact Framework

Книга известного профессионала в области компьютерных технологий посвящена разработке приложений для широкого спектра мобильных устройств с использованием популярной и постоянно развивающейся платформы .NET Compact Framework. Уникальность этой книги состоит в том, что в ней гармонично переплетены теоретические сведения обо всем цикле разработки программного обеспечения с практическими примерами применения на языках С# и Visual Basic. Подробно рассматриваются концепции, лежащие в основе самой платформы .NET Compact Framework, а также вопросы, связанные с созданием эффективного пользовательского интерфейса, управлением памятью, производительностью и надежностью. Немалое внимание уделяется практическим аспектам разработки приложений для мобильных устройств, среди которых выбор модели представления и доступа к данным, внедрение коммуникационной модели, реализация модели поведения с помощью конечных автоматов и использование XML.Книга рассчитана на разработчиков разной квалификации, а также может быть полезна для студентов и преподавателей соответствующих специальностей.

Иво Салмре

Программирование / Книги по IT