Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Использование JDK (Java Developer’s Kit). 3 страница




//**************************************************************

// CombiFrame.java:

//

//**************************************************************

import java.awt.*;

// ПОДДЕРЖКА РАБОТЫ ПРОГРАММЫ КАК ПРИЛОЖЕНИЯ:

// Этот класс действует как окно, в котором отображается апплет,

// когда он запускается как обычное приложение

//============================================

class CombiFrame extends Frame

{

// Конструктор класса CombiFrame

//--------------------------------------------------------

public CombiFrame(String str)

{

// Сделать: Добавьте сюда код конструктора

// Вызов конструктора базового класса должен быть

// первым оператором конструктора подкласса

super (str);

}

// Метод-обработчик handleEvent() обрабатывает все события,

// получаемые окном фрейма. В этом методе можно обрабатывать

// все оконные события. Для обработки событий, генерируемых

// меню, кнопками и другими элементами управления

// используется метод action()

//--------------------------------------------------------

public boolean handleEvent(Event evt)

{

switch (evt.id)

{

// при закрытии окна завершается работа приложения

//-------------------------------------------------

case Event.WINDOW_DESTROY:

// Сделать: Добавьте сюда код, который должен

// работать при остановке приложения

dispose(); // удаление окна

System.exit(0); // завершение приложение

return true;

default:

// передача сообщения на обработку

// методу базового класса

return super.handleEvent(evt);

}

}

}

Модифицируйте метод paint() так, чтобы в окне апплета выводился режим работы программы: “Application” или “Applet".

 

Задания к лабораторной работе

Задание 1. Проверить и объяснить работу всех апплетов, рассматриваемых в данной главе и отмеченных курсивом. Должны быть созданы следующие апплеты: Hello (пример 1), модифицированный апплет Hello (пример 2), HelloApplet (пример 3), AppletWithParam (пример 4), ParamUrlImage (пример 5), QuickPicture (пример 6), MouseEvent (пример 7), модифицированный апплет MouseEvent (пример 8), Combi (пример 9).

Задание 2. Дать ответы на контрольные вопросы.

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

1. Чем выполнение апплета отличается от выполнения простого Java-приложения?

2. Чем отличаются первичные классы приложения и апплета?

3. Какие методы должен переопределять первичный класс апплета?

4. Каковы принципы функционирования апплета?

5. Какие методы переопределяются в шаблоне апплета, предоставляемом системой Java Аpplet Wizard? Каково их назначение?

6. Как передаются параметры апплету?

7. Как загрузить графическое изображение из файла?

8. Как ускорить вывод графических изображений, загружаемых из файла?

9. Какие фрагменты кода для обработки параметров создает система Java Аpplet Wizard?

10. Что называется событием, когда они генерируются?

11. Какие обработчики событий используются чаще всего?

12. Как переменные содержит класс Event для идентификации события?

13. Как обработать любое событие?

14. Как приложение может само сгенерировать сообщение?

15. Как устранить мерцание при выводе изображений?

16. Что такое апплеты двойного назначения? Как они работают?

 

ЛАБОРАТОРНАЯ РАБОТА № 3.

РИСОВАНИЕ В ОКНЕ, ОБРАБОТКА СОБЫТИЙ МЫШИ И КЛАВИАТУРЫ (4 часа).

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ

1. Рисование в окне

Язык Java предоставляет набор графических примитивов, которые позволяют рисовать текст, линии, прямоугольники и др. прямо на экране. При этом можно рисовать эти примитивы сами по себе и с заполнением каким угодно цветом. Для вывода текста можно использовать различные доступные шрифты.

1.1 Графика

В процессе рисования на экране прежде всего требуется наличие объекта класса Graphics (контекст отображения). Графические операции всегда выполняются над объектом Graphics. Например, в апплетах для вывода в окно используется метод paint(), которому передается единственный параметр - объект класса Graphics.

Некоторые методы класса Graphics:

· Graphics - Конструктор нового объекта - контекста отображения

· clearRect - Очищает указанный прямоугольник, заполняя цветом фона

· clipRect - Задает область ограничения вывода

· getClipRect - Возвращает ограничивающий прямоугольник области отсечения

· copyArea - Копирует область экрана

· create - Создает новый объект, который является копией исходного объекта

· draw3DRect - Рисует прямоугольник с объемным эффектом

· drawArc - Рисует дугу текущим цветом

· drawBytes - Рисует указанные байты текущим шрифтом и цветом

· drawChars - Рисует указанные символы текущим шрифтом и цветом

· drawImage - Рисует указанное изображение типа Image

· drawLine - Рисует линию между точками

· drawOval - Рисует овал внутри указанного прямоугольника текущим цветом

· drawPolygon - Рисует многоугольник текущим цветом

· drawRect - Рисует контур прямоугольника текущим цветом

· drawRoundRect - Рисует контур прямоугольника с закругленными краями

· DrawString - Рисует указанную строку текущим шрифтом и текущим цветом

· fill3DRect - Раскрашивает цветом прямоугольник с объемным эффектом

· fillArc - Заполняет дугу текущим цветом

· fillOval - Заполняет овал текущим цветом

· fillPolygon - Заполняет многоугольник текущим цветом

· fillPolygon - Заполняет объект класса Polygon текущим цветом

· fillRect - Заполняет прямоугольник текущим цветом

· fillRoundRect - Заполняет прямоугольник с закругленными краями

· GetColor - Получить текущий цвет

· getFont - Получить текущий шрифт

· getFontMetrics - Получить размеры шрифта

· setColor - Устанавливает текущий цвет

· setFont - Устанавливает текущий шрифт

· setPaintMode - Устанавливает режим заполнения текущим цветом

· setXORMode - Устанавливает режим заполнения

· translate - Сдвиг начала системы координат в контексте отображения

1.2 Цвет

Для задания текущего цвета используется метод setColor() класса Graphics:

// пусть g - объект Graphics, создадим случайный цвет и установим его

g.setColor(new Color((float)Math,random(),

(float)Math,random(),(float)Math,random(),);

Цветовая модель языка Java представляет собой 24-разрядную модель RGB (красный, синий, зеленый), следовательно объекты класса Color могут содержать 24 разряда цветовой информации (что соответствует 16 миллионам различных цветов), определяемой в виде составляющих красного, зеленого и синего цветов.

Для использования цвета необходимо сначала создать объект Color и передать в него значения красного, зеленого и синего цвета (причем существуют два конструктора - для задания целочисленных значений (каждое значение от 0 до 255) и значений с плавающей точкой (каждое значение от 0.0 до 1.0)). Совместно эти значения и определяют цвет.

Color clr1=new Color(255,0,0); // создать красный цвет

Color clr2=new Color(0,255,0); // создать зеленый цвет

Color clr3=new Color(0,0,255); // создать красный цвет

Color clr4=new Color(255,255,255); // создать белый цвет

Color clr5=new Color(0,0,0); // создать черный цвет

Color clr6=new Color(100, 100, 100); // создать оттенок серого цвета

Язык Java предоставляет ряд заранее установленных цветов, которые можно использовать, не задавая их значения (Color.white, Color.lightGray, Color.gray, Color.darkGray, Color.black, Color.red, Color.pink, Color.orange, Color.yellow, Color.green, Color.magenta, Color.cyan, Color.blue). При использовании этих цветов не нужно создавать новый объект Color, можно записать следующее:

// пусть g - объект Graphics, установим красный цвет

g.setColor(Color.red);

Класс Color содержит ряд методов, которые позволяют осуществить запрос для нахождения различных составляющих цвета (методы getRed(), getGreen(), getBlue(), getRGB()), получения разновидностей текущего цвета (например, методы brighter() и darker() возвращают соответственно более светлый или более темный оттенок текущего цвета), а также другие методы.

Несмотря на то, что можно создать миллионы различных цветов, для обеспечения наилучшего из возможных результатов, охватывающих широкий спектр применяемых дисплеев, рекомендуется работать с 256 или меньше цветами. И применять там, где это возможно, стандартные цвета, определяемыми переменными, а не создавать собственные цвета.

Помимо установки текущего цвета отображения текста и графики методом setColor() класса Graphics, можно установить цвет фона и цвет переднего плана методами setBackground() и setForeground() класса Component.

1.3 Шрифты

Класс Graphics позволяет размещать на экране текст с использованием установленного шрифта. Для того чтобы воспользоваться шрифтом, необходимо прежде всего создать объект класса Font. Для этого необходимо лишь предоставить название гарнитуры шрифта (тип String), стиль шрифта (тип int) и размер шрифта в пунктах (тип int):

Font f=new Font("Times Roman",Font.BOLD,72);

Хотя можно выбрать любое начертание (гарнитуру) шрифта, рекомендуется использовать достаточно ограниченный набор шрифтов ("Times Roman", "Courier", "Helvetica"), которые по всей вероятности имеются на всех системах, на которых будут работать апплеты.

Для задания стиля шрифта используются константы класса Font: Font.PLAIN, Font.BOLD и Font.ITALIC. Эти стили можно объединять при помощи операции +. После создания шрифта его можно установить для использования при помощи метода setFont() класса Graphics:

// пусть g - объект Graphics, создадим шрифт и установим его

g.setFont(new Font("Times Roman",Font.BOLD,72));

Некоторые методы класса Font:

· getFamily - Получает название шрифта, зависящее от платформы. Для получение логического имени испольуется метод getName

· getName - Получает логическое имя шрифта

· getStyle - получает стиль шрифта

· getSize - Получает размер шрифта в пунктах

· isPlain - Возвращает true, если шрифт простой

· isBold - Возвращает true, если шрифт полужирный

· isItalic - Возвращает true, если шрифт курсивный

· getFont - Получает шрифт из списка параметров системы




Поделиться с друзьями:


Дата добавления: 2014-11-20; Просмотров: 472; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.186 сек.