Глава 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);
}
}
Результат работы программы:
Назад |
Начало урока |
Вверх |
Вперед
Содержание