Побудова складних програм з використанням наслідування і агрегації
Лабораторная работа, 12 Февраля 2013, автор: пользователь скрыл имя
Описание
Мета: Навчитися будувати складні програми з використанням наслідування і агрегації.
Завдання
1. Підключити до середовища NetBeans додаткову бібліотеку lab4.jar, що містить ієрархію наслідування класів графічних примітивів і приклад її використання.
2. Створити новий проект, що буде містити головне вікно програми, яке наслідує JFrame.
Работа состоит из 1 файл
ООП_6ВВ.doc
— 122.50 Кб (Скачать документ)
Мета: Навчитися будувати складні програми з використанням наслідування і агрегації.
Завдання
1. Підключити до середовища NetBeans додаткову бібліотеку lab4.jar, що містить ієрархію наслідування класів графічних примітивів і приклад її використання.
2. Створити новий проект, що буде містити головне вікно програми, яке наслідує JFrame.
3. Підключити до проекту бібліотеку класів figures.jar
4. З використанням класів цієї бібліотеки створити у вікні програми дві панелі. Одна панель повинна бути реалізована через наслідування класу JPanel та містити об’єкт-зображення відповідно до варіанту. Друга панель повинна містити елементи інтерфейсу користувача для управління об’єктом: переміщування, обертання, масштабування.
Короткі теоретичні відомості.
Підключення бібліотеки класів до середовища NetBeans:
- В головному вікні програми оберіть пункт меню Tools – Library Manager
- У вікні, що відкриється натисніть кнопку New Library…
- Відкриється діалогове вікно. У ньому у рядку позначеному “Library Name:” введіть
ім’я бібліотеки, наприклад, figures
- У рядку ”Library Type” залиште Class Library
- Натисніть кнопку ”Ok”
- Додайте до створеної бібліотеки файл figures.jar, який ви отримали від викладача, для
цього натисніть Add jar/folder у вкладці Classpath цього діалогу та оберіть потрібний
файл на жорсткому диску комп’ютера.
- Підтвердьте свій вибір.
- Перейдіть на вкладку Javadoc і повторіть попередні два пункти для підключення
документації по класах бібліотеки, що міститься у файлі figures.jar
Використання класів бібліотеки у власному проекті:
- У вікні Projects оберіть свій проект, він відображується у вигляді дерева.
- У цьому дереві оберіть гілку Libraries
- Клацніть правою кнопкою миші на ньому та оберіть Add Library…
- У вікні, що відкриється, оберіть потрібну бібліотеку:
Об’єктно-орієнтоване програмування Java2
- Підтвердьте свій вибір, натиснувши кнопку ”Add Library…”
- Тепер ви можете використовувати класи бібліотеки у власному проекті так
само, як стандартні класи мови Java.
Ієрархія класів бібліотеки figures.jar описана у відповідних javadoc файлах, і наведена на рисунку в додатку.
Лістинг програми:
import java.awt.Graphics;
import ua.edu.nuos.figures.Triangle;
/**
*
* @author Слава
*/
public class MyTest_1 {
private Triangle trr1 = new Triangle(150,100,200,150,250,
private Triangle trr2 = new Triangle(150, 150, 200, 200, 150, 250, null);
private Triangle trr3 = new Triangle(250, 250, 200, 200, 150, 250, null);
private Triangle trr4 = new Triangle(250, 250, 200, 200, 250, 150, null);
private int Deg = 0;
public void show (Graphics g){
trr1.drawFigure(g);
trr2.drawFigure(g);
trr3.drawFigure(g);
trr4.drawFigure(g);
}
public void move (int dx, int dy){
int de = Deg;
rotate (-1 * de);
trr1.move(dx, dy);
rotate (de);
}
public void rotate (int da){
if (Deg >= 360){
Deg += 360;
}
Deg += da;
trr1.move(208, 150);
trr1.rotate((int)da);
trr1.move(-208, -150);
}
public void scale (double s){
trr1.move(208, 150);
trr1.scale(s);
trr1.move(-208, -150);
}
}
MainFrame:
import java.awt.Graphics;
/**
*
* @author Слава
*/
public class mainTest_1 extends javax.swing.JFrame {
private MyTest_1 MT = new MyTest_1 ();
/**
* Creates new form mainTest_1
*/
public mainTest_1() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold
defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
private
void formWindowOpened(java.awt.
jPanel1.repaint();
}
private
void jButton1ActionPerformed(java.
MT.move(-10, 0);
jPanel1.repaint();
}
private
void jButton2ActionPerformed(java.
MT.move(+10, 0);
jPanel1.repaint();
}
private
void jButton5ActionPerformed(java.
MT.move(0, -10);
jPanel1.repaint();
}
private
void jButton6ActionPerformed(java.
MT.move(0, 10);
jPanel1.repaint();
}
private
void jButton7ActionPerformed(java.
MT.scale(0.9);
jPanel1.repaint();
}
private
void jButton8ActionPerformed(java.
MT.scale(1.1);
jPanel1.repaint();
}
private
void jButton9ActionPerformed(java.
MT.rotate(-10);
jPanel1.repaint();
}
private
void jButton10ActionPerformed(java.
MT.rotate(10);
jPanel1.repaint();
}
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton10;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton5;
private javax.swing.JButton jButton6;
private javax.swing.JButton jButton7;
private javax.swing.JButton jButton8;
private javax.swing.JButton jButton9;
private javax.swing.JPanel jPanel1;
Результати роботи програми програми:
Висновок: під час виконання лабораторної роботи, я практично освоїв навички створення графічних об’єктів за допомогою мови програмування Java у середовищі програмування NetBeans.