Главная » Java, Web » Графика и апплеты Java

0

Java позволяет создавать самостоятельные программы. Самостоятельные программы должны иметь функцию main о, доступную извне. Апплеты — это не самостоятельные программы, апплет не имеет функции main о. Как правило, апплет помещается на Web-страницу, где занимает прямоугольную область. В задачу апплета входит прорисовка того, что будет отображено в этой области. Когда необходимо вывести область, занимаемую апплетом, из браузера вызывается функция paint о, которая находится в апплете.

Простейший апплет имеет следующую структуру:

impo гt j ava.awt.*; import java.applet.*;

public class ImyaAppleta Applet { public void paint(Graphics g) { выражения

Имя апплета — идентификатор, одновременно являющийся именем класса. Выражения, применяемые в апплете, служат для отображения его содержимого. При создании программ мы имеем возможность пользоваться заранее созданными классами. Это упрощает процесс программирования. В частности, к числу встроенных классов относятся классы Math и System. Помимо непосредственно встроенных классов существуют стандартные классы, которые не являются автоматически доступными для любой программы. Классы эти сгруппированы в пакеты. В нашем примере используются два таких пакета, а именно, пакеты java.awt и java.applet. Директива import java.awt.*; делает доступными для использования в программе все классы пакета java.awt. Пакет java.applet содержит классы, предназначенные для работы с апплетами. Помимо пакета java.applet для создания апплетов может быть использован класс javax. Jappiet, в котором используются возможности графического пакета swing.

Приведем пример простого апплета.

Апплет

impo гt j ava.awt.*; import java.applet.Applets-

public class StaticRects extends Applet { public void paint(Graphics g) {

// Отображает набор вложенных прямоугольников на красном фоне. // Каждый прямоугольник отделен пространством в 15 пикселов //от содержащего его прямоугольника со всех сторон. int inset; // отступ от краев апплета до прямоугольников int rectWidth, rectHeight; // размер прямоугольника g.setColor(Color.red) ;

g.fillRect(0,0,300,160); //заполнение всего апплета красным цветом g.setColor(Color.black); // черный прямоугольник inset = 0;

rectWidth = 299; // размер первого прямоугольника // соответствует размеру апплета

rectHeight = 159;

while (rectWidth >= 0 && rectHeight >=0) {

g.drawRect(inset, inset, rectWidth, rectHeight); inset += 15;

// прямоугольники отделены расстоянием 15 пикселов rectWidth 30; // ширина уменьшает на 15 пикселов

// как справа, так и слева rectHeight -= 30; // высота уменьшается на 15 пикселов // как сверху, так и снизу

}

}

}

Контрольные вопросы

1.    Что такое блок? Как используется блок?

Ответ. Блок — это инструкция, включающая в себя другие инструкции, которые должны быть помещены между фигурными скобками { и }. Тело функции — это блок. Блоки используются тогда, когда из нескольких инструкций необходимо сделать одну инструкцию.

2.     Каково основное отличие между циклами while и do. .while?

Ответ. Обе инструкции выполняют блок до тех пор, пока условие не примет значение false. Основное отличие состоит в том, что цикл while производит проверку условия перед выполнением блока, а цикл do. .while проверяет условие после того, как блок будет выполнен.

3.     Напишите цикл, который выводит числа, кратные 3, начиная с числа 3 и заканчивая числом 36, т. е. числа 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36.

Ответ

for (N = 3; N <= 36; N = N + 3) { System.out.println(N);

}

Или

for (N = 3; N <= 36; N++) { if (N % 3 == 0)

System.out.println(N);

}

4.    Создайте функцию main (), которая запрашивает у пользователя целое число, читает его и сообщает пользователю о том, какое число введено: четное или нечетное. Используйте следующую конструкцию

public static void main(String[] args) {

// здесь запишите свои функции

}

Ответ

public static void main (String[] args) {

int n; // число, введенное пользователем

TextlO.put("Type an integer: "); // просим ввести целое число

n = TextIO.getInt(); // читаем то, что было введено

if (п % 2 = 0)            // сообщаем, четное число или нет

System.out.println("chetnoe chislo.");

else

System.out.println("Nechetnoe chislo.");

}

5.    Что создает на выходе следующая программа?

public static void main(String[] args) { int N; N = 1; while (N <= 32) { N = 2 * N;

System.out.println(N); }

}

Ответ

2 4 8

16 32 64

6. Что получается на выходе этой программы:

public static void main(String[] args) { int x, y; x = 5; у = l;

while (x > 0) { x = x — 1; у = у * x;

System, out.println(у); }

}

Ответ. Запишем ход вычислений в виде таблицы (табл. П4.1).

Таблица П4.1. Вывод программы

Значение х

Значение у

Вывод программы

5

1 (до цикла)

 

4

4(=

= 4×1)

4

3

12

(= 4×3)

12

2

24

(=12×2)

24

1

24

(=24×1)

24

0

0(=

=24×0)

0

7. Что получается на выходе следующей программы? (Здесь name.charAt (i) — это символ в позиции i в строке с именем name.)

String name; int i ;

boolean startWord; name = "Richard M. Nixon"; startWord = true;

for (i = 0; i < name. length () ; i++) { if (startWord)

System.out.println(name.charAt(i)); if (name.charAt(i) == ‘ ‘) startWord = true;

else

startWord = false;

}

Ответ. Три строки:

R М N

Источник: Будилов В. А. Интернет-программирование на Java. — СПб.: БХВ-Петербург, 2003. — 704 е.: ил.

По теме:

  • Комментарии