Рисование линий
Для того чтобы нарисовать линию нужно воспользоваться методом 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, это характерно для объектно-ориентированного программирования и в дальнейшем мы будем придерживаться именно такой модели построения изучаемых примеров.
