Читайте также:
|
|
Мета роботи: отримання практичних навичок створення геометричних фігур у додатках Java.
Завдання: Створити додаток, який выдображає еліпс, вписаний в прямокутник, коло, трикутник, дугу і пряму лінію, що сполучає центри еліпса і кола. Встановити різні кольори для викреслювання і зафарбовування геометричних фігур.
Вигляд екрану працюючого додатка може бути такий:
Основні теоретичні положення:
Мова Java дозволяє зображати різні геометричні фігури (прямі, прямокутники, еліпси, багатокутники та ін.). Починаючи з версії Java 1.0, існує клас Graphics, що містить ряд методів викреслювання різних фігур. Але методи класу Graphics не дозволяли виконувати деякі достатньо поширені графічні операції, такі як зміни товщини лінії, поворот фігури на певний кут. Подальший розвиток графічних можливостей Java реалізований в бібліотеці Java2D.
Нові можливості пакета Java2D створили і певні труднощі. Якщо клас Graphics передбачав тільки цілочислові координати, то в пакеті Java2D координати представлені числами з плаваючою крапкою, що розширило можливості програміста, але створило необхідність узгодження даних.
Пакет AWT Java дозволяє створити будь-який бажаний колір. Створюваний код не залежить від дисплея, підбір найбільш відповідного кольору для конкретного пристрою виконується автоматично. Визначення кольору виконується за допомогою класу Color, у якого є три конструктори:
Color(int червоний, int зелений, int синій)
Color(int значення_кольору)
Color(float червоний, float зелений, float синій)
Для вибору кольору, який надалі використовуватиметься при викреслюванні геометричних фігур і при суцільному зафарбовуванні, застосовується метод setPaint() класу Graphics.
Для установки кольору фону слід використовувати метод setBackground () класу Component.
Для зафарбовування геометрічних фігур необхідно використовувати метод fill(), що передбачає викреслювання із зафарбовуванням, аргументом якого має бути об’єкт, що представляє цю фігуру. Наприклад, наступний код забезпечує зображення закрашеного еліпса:
Graphics g;
Graphics2D g2=(Graphics2D)g;
Ellipse2D ellipse=new …;
g2.fill(ellipse);
При цьому зафарбовування буде виконано тим кольором, який встановлено до моменту виконання коду.
Контрольні запитання і завдання:
1. Які проблеми виникали у розробника програм, використовуючого бібліотеку AWT?
2. У чому переваги бібліотеки Swing порівняно з AWT при проектуванні графічного інтерфейсу?
3. Що є фреймом? Як він використовується?
4. Які класи забезпечують викреслювання геометричних фігур? У чому їх відмінність?
5. Які способи визначення кольору ви знаєте?
6. Як зафарбувати одним кольором замкнуту геометричну фігуру?
7. Як забезпечити плавний перехід з одного кольору в іншій при зафарбовуванні?
8. Поясніть текст програми.
Дата добавления: 2015-09-11; просмотров: 35 | Поможем написать вашу работу | Нарушение авторских прав |