Слайд 2GObject
Минулого разу ми розібралися майже з усіма підкласами GObject.
Залишилися:
GCompound
GPolygon
GImage
![GObject Минулого разу ми розібралися майже з усіма підкласами GObject. Залишилися: GCompound GPolygon GImage](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1139454/slide-1.jpg)
Слайд 3GImage
GImage клас, що використовується для відображення зображень з файлу.
new GImage(image file, x,y)
image
![GImage GImage клас, що використовується для відображення зображень з файлу. new GImage(image](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1139454/slide-2.jpg)
file – назва файлу
x,y – координати верхнього лівого кутка
Місце розташування файлу:
спочатку програма шукає файл в директорії проекту
якщо файлу немає в директорії проекту, пошук триває в піддиректорії - images
Слайд 4Приклад GImage
public void run(){
GImage image = new GImage(“Ukma.gif”);
add(image,0,0);
}
GImage реалізує інтерфейс Resizable, тому
![Приклад GImage public void run(){ GImage image = new GImage(“Ukma.gif”); add(image,0,0); }](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1139454/slide-3.jpg)
ми можемо використати метод scale:
public void run(){
GImage image = new GImage(“Ukma.gif”);
image.scale(1.5, 0.5);
add(image,0,0);
}
Слайд 5GPolygon
GPolygon графічний об’єкт побудований з ліній.
Gpolygon має уявну контрольну точку (зазвичай це
![GPolygon GPolygon графічний об’єкт побудований з ліній. Gpolygon має уявну контрольну точку](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1139454/slide-4.jpg)
центр фігури) відносно якої розташовані інші точки
Слайд 6GPolygon
Роботу краще розібрати на прикладі.
Спочатку ви створюєте порожній полігон.
Далі ви додаєте вершини,
![GPolygon Роботу краще розібрати на прикладі. Спочатку ви створюєте порожній полігон. Далі](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1139454/slide-5.jpg)
по одній addVertex(x,y)
addEdge(dx,dy) додає грань з попереднєю точкою
Слайд 7GPolygon
Розглянемо приклад Diamond
Питання?
![GPolygon Розглянемо приклад Diamond Питання?](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1139454/slide-6.jpg)
Слайд 8GCompound
Дозволяє об’єднати декілька компонентів в один і в подальшому працювати як з
![GCompound Дозволяє об’єднати декілька компонентів в один і в подальшому працювати як](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1139454/slide-7.jpg)
єдиним об’єктом.
GCompound – так само має уявну точку відносно якої ви компонуєте інші об’єкти.
Коли GCompound розміщується на екран він розташовується згідно цієї уявної точки.
Розглянемо приклад DrawFace
Питання?
Слайд 9Приклад
Пам’ятає те приклад з стрибаючим м’ячиком?
Давайте тепер зробимо, що б стрибала наша
![Приклад Пам’ятає те приклад з стрибаючим м’ячиком? Давайте тепер зробимо, що б](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1139454/slide-8.jpg)
голова.
Я повністю скопіював текст старої програми в клас BouncingFace давайте внесемо корективи тепер.
Слайд 10Управління подіями
Що таке подія?
Які події в університеті?
Які події можуть відбуватися у вас
![Управління подіями Що таке подія? Які події в університеті? Які події можуть](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1139454/slide-9.jpg)
в програмі?
Для того, що б відслідковувати події, необхідно зареєструвати слухачів подій (listeners) які вас цікавлять.
Це дуже просто зробити:
addMouseListeners()
addKeyListeners()
Але спочатку необхідно зробити імпорт відповідної бібліотеки:
import java.awt.event.*;
Слайд 11Приклад
Розглянемо приклад ClickForFace
Питання?
Основні кроки:
run або init метод має зареєструвати необхідний слухач addMouseListeners()
написати
![Приклад Розглянемо приклад ClickForFace Питання? Основні кроки: run або init метод має](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1139454/slide-10.jpg)
визначення необхідних методів слухачів
mouseClicked(e)
mousePressed(e)
mouseReleased(e)
mouseMoved(e)
mouseDragged(e)
параметр e – MouseEvent об’єкт
Слайд 12Приклад
Розглянемо приклад MouseTracker
Питання?
Робота з клавіатурою, основні кроки:
run або init метод має зареєструвати
![Приклад Розглянемо приклад MouseTracker Питання? Робота з клавіатурою, основні кроки: run або](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1139454/slide-11.jpg)
необхідний слухач addKeyListeners()
написати визначення необхідних методів слухачів
keyPressed(e)
keyReleased(e)
keyTyped(e)
Слайд 13Приклад
Розглянемо приклад DragObjects
Питання?
Розглянемо приклад UfoGame
Питання?
![Приклад Розглянемо приклад DragObjects Питання? Розглянемо приклад UfoGame Питання?](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1139454/slide-12.jpg)