Побудова складних програм з використанням наслідування і агрегації

Автор работы: Пользователь скрыл имя, 12 Февраля 2013 в 21:25, лабораторная работа

Описание

Мета: Навчитися будувати складні програми з використанням наслідування і агрегації.
Завдання
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,100, null);

    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.event.WindowEvent evt) {                                 

jPanel1.repaint();

    }                                

 

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        

MT.move(-10, 0);

jPanel1.repaint();

    }                                       

 

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        

MT.move(+10, 0);

jPanel1.repaint();

    }                                       

 

    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                        

MT.move(0, -10);

jPanel1.repaint();

    }                                       

 

    private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {                                       

MT.move(0, 10);

jPanel1.repaint();

    }                                       

 

    private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {                                        

MT.scale(0.9);

jPanel1.repaint();

    }                                       

 

    private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {                                        

MT.scale(1.1);

jPanel1.repaint();

    }                                       

 

    private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {                                        

MT.rotate(-10);

jPanel1.repaint();

    }                              

    private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {                                         

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.


Информация о работе Побудова складних програм з використанням наслідування і агрегації