Иллюстрированный самоучитель по программированию мобильных телефонов

Рисование линий

Для того чтобы нарисовать линию нужно воспользоваться методом draw-Line () класса Graphics. Рассмотрим прототип этого метода:

public void drawLine(int x 1,
int y 1,
int x2,
int y2)

Параметры метода drawLine ():

  • x1 – координата начальной точки отрезка по оси X;
  • у1 – координата начальной точки отрезка по оси Y;
  • х2 – координата конечной точки отрезка по оси X;
  • у2 – координата конечной точки отрезка по оси Y.

Задавая целочисленные координаты точек в методе drawLine () можно нарисовать любую линию заданного размера. Также можно воспользоваться методом setColor () для закрашивания линий цветом и методом setStrokeSty le () – для рисования линии в виде пунктира.

Рассмотрим пример кода находящийся в листинге 7.1, где с помощью линий рисуется система координат используемая в Java 2 ME.

Листинг 7.1. Класс Main и класс Line.

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()
{
// создаем объект класса Line
Line myline = new Line();
// добавляем команду выхода
myline.addCommand(exitMidlet);
myline.setCommandListener(this);
Display.getDisplay(this).setCurrent(myline);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional){}
public void commandAction(Command c, Displayable d)
{
if (c = = exitMidlet)
{
destroyApp(false); notifyDestroyed();
}
}
}
/**
класс Line определен в файле Line.Java
*/
import javax.microedition.Icdui.*;
public class Line extends Canvas
{
// конструктор
public Line(){ super();
}
public void paint(Graphics g)
{
// устанавливается синий цвет для линий
g.setColor(0x0000ff);
// рисуется система координат
g.drawLine(20, 20, 90, 20);
g.drawLine(20, 20, 20, 90)
g.drawLine(90, 20, 80, 10)
g.drawLine(90, 20, 80, 30)
g.drawLine(20, 90, 10, 80)
g.drawLine(20, 90, 30, 80)
// устанавливается красный цвет для трех линий
g.setColor(0xffff0000);
// рисуем толстую линию, в три пикселя
g.drawLine(30, 30, 70, 30);
g.drawLine(30, 31, 70, 31);
g.drawLine(30, 32, 70, 32);
// устанавливаем пунктир
g.setStrokeStyle(Graphics.DOTTED);
// рисуем линию в два пикселя пунктиром
g.drawLine(30, 50, 70, 50);
g.drawLine(30, 51, 70, 51);
}
}

В листинге 7.1 используются два класса: Main, являющийся основным классом мидлета приложения, и класс Line, в котором происходит работа с графикой. Подразумевается, что оба класса находятся в файлах Main.java и Line.java, это характерно для объектно-ориентированного программирования и в дальнейшем мы будем придерживаться именно такой модели построения изучаемых примеров.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.