Назад | Начало урока | Вперед
Содержание

Глава 2

Задача 2.4 Флаги с вертикальными полосами.

В программе FlagMaker измените функцию paint так, чтобы она рисовала флаги с вертикальными полосами. Попробуйте изобразить флаги Италии, Франции или Мали(зеленый, желтый, красный).

Решение

Для того, чтобы у флага нарисовать вертикальные полосы, достаточно изменить координаты прямоугольников в функции fillRect(). Согласно указанным координатам будут нарисованы вертикальные полосы на флагах.

Код программы:


class FlagMaker1 extends Frame {
FlagMaker1 () {

//Благодаря этой инструкции в центре окна появляется флаг.
//Без этой инструкции появится окно с заголовком, но клиентская область окна будет пуста.
add ("Center", new Flag());

// Enable the program to end when the window is closed
addWindowListener(new WindowAdapter () {

public void windowClosing(WindowEvent e) {
System.exit(0);
}
});

// Set the frame's title and size and activate the drawing
// described by the paint method.
setTitle ("A Flag");
setSize (300, 200);
setVisible (true);

}

public static void main (String [ ] args) {

new FlagMaker1 ();
}
}

Вот класс который создает флаг:

class Flag extends Canvas {

public void paint (Graphics g) {

// Draw the flag using coloured rectangles
g.setColor (Color.green);
g.fillRect (40,60,80,120);
g.setColor (Color.yellow);
g.fillRect (120,60,80,120);
g.setColor (Color.red);
g.fillRect (200,60,80,120);

// Label the drawing
g.setColor (Color.black);
g.drawString("Maly",150,200);

}
}


Результат работы программы:

Подсказка


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz