Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по лабораторным работам.doc
Скачиваний:
1
Добавлен:
19.11.2019
Размер:
517.63 Кб
Скачать

1. Подготовка к выполнению работы. Подготовка производится в часы самостоятельной работы студентов. Она включает:

  • изучение теоретического материала темы по конспекту лекций и литературе;

  • ознакомление с содержанием работы по настоящему методическому пособию.

2. Отображение позиции курсора мыши.

3. Разработка классов фигур.

4. Реализация обработчиков события нажатия на кнопки инструментальной панели.

5. Очистка области рисования.

7.2 Отображение позиции курсора мыши

Выделите панель-доску для рисования. В редакторе свойств активируйте вкладку События (Events). Найдите свойство mouseMoved и выпадающем списке, справа выберите предлагаемый пункт.

Рисунок 7.1 – Установка обработчика события перемещения мыши.

После этого будет предложено реализовать метод обработчика. В этом методе реализуйте обновление у текстовой метки labelCoordinates свойства текста, поместите в него координаты курсора мыши. Координаты курсора мыши находятся в объекте MouseEvent аргумента данного метода.

Запустите приложение и протестируйте программу.

7.3 Разработка классов фигур

Создайте новый пакет внутри пакета graphiceditor для графических фигур.

Подсказка: фигуры на английском figures.

Создайте класс фигуры и наследуйте его от JComponent. Затем создайте три класса для круга, квадрата и треугольника. И наследуйте их от класса фигуры.

Подсказка: фигура, круг, квадрат и треугольник на английском figure, circle, square и triangle соответственно.

При наследовании от класса JComponent объекты классов фигур будут являться графическими компонентами, и их можно будет класть на панель для рисования. Переопределите в каждом классе метод paint(Graphics g) и наполните его отрисовкой каждой фигуры. Для рисования используйте объект g типа Graphics. Он имеет все необходимые методы для рисования различных фигур. Рисунок должен быть растянуть во весь размер фигуры (текущие размеры компонента - методы getWidth и getHeight).

7.4 Реализация обработчиков события нажатия на кнопки инструментальной панели

Для каждой кнопки на панели реализуйте обработчики события actionPerformed. Перед этим создайте у формы свойство текущей фигуры. А в упомянутых обработчиках записывайте в данное свойство вновь созданную ту или иную фигуру, в зависимости от кнопки.

Для отображения записанной фигуры, реализуйте обработчик на событие mouseClecked у панели panelGraphicsBoard. Во-первых, задайте координаты фигуры текущей позиции курсора мыши. Во-вторых, размеры (можно жестко заданные, к примеру 40 пикселей). Затем добавьте фигуру на панель (метод add) и обновите отрисовку панели (метод repaint).

Запустите приложение и протестируйте программу.

7.5 Очистка области рисования

Для удаления всех фигур с панели рисования необходимо создать еще одну кнопку. Определите у нее точно также иконку и обработчик события actionPerformed. Для удаления вызовите метод removeAll у панели. Не забудьте обновить перерисовку панели (метод repaint).

Запустите приложение и протестируйте программу.

ПЛАН ВЫПОЛНЕНИЯ РАБОТЫ

1. Выполните все задания представленные выше.

2. Убедитесь, что освоили материал. При необходимости проработайте нужные уроки.

3. Сделайте отчет по выполненной работе.

4. Подготовьтесь к защите лабораторной работы.

СОДЕРЖАНИЕ ОТЧЕТА

1. Скриншот работающего приложения с отрисованными фигурами.

3. Исходный код программы.

4. Выводы по результатам работы.

ЛАБОРАТОРНАЯ РАБОТА №8

Графический редактор. Разработка функционала. Часть 2”

Цель работы: Освоение событий пользовательского интерфейса.

ПЛАН РАБОТЫ