Автор работы: Пользователь скрыл имя, 12 Февраля 2013 в 21:25, лабораторная работа
Мета: Навчитися будувати складні програми з використанням наслідування і агрегації.
Завдання
1. Підключити до середовища NetBeans додаткову бібліотеку lab4.jar, що містить ієрархію наслідування класів графічних примітивів і приклад її використання.
2. Створити новий проект, що буде містити головне вікно програми, яке наслідує JFrame.
Мета: Навчитися будувати складні програми з використанням наслідування і агрегації.
Завдання
1. Підключити до середовища NetBeans додаткову бібліотеку lab4.jar, що містить ієрархію наслідування класів графічних примітивів і приклад її використання.
2. Створити новий проект, що буде містити головне вікно програми, яке наслідує JFrame.
3. Підключити до проекту бібліотеку класів figures.jar
4. З використанням класів цієї бібліотеки створити у вікні програми дві панелі. Одна панель повинна бути реалізована через наслідування класу JPanel та містити об’єкт-зображення відповідно до варіанту. Друга панель повинна містити елементи інтерфейсу користувача для управління об’єктом: переміщування, обертання, масштабування.
Короткі теоретичні відомості.
Підключення бібліотеки класів до середовища NetBeans:
ім’я бібліотеки, наприклад, figures
цього натисніть Add jar/folder у вкладці Classpath цього діалогу та оберіть потрібний
файл на жорсткому диску комп’ютера.
документації по класах бібліотеки, що міститься у файлі figures.jar
Використання класів бібліотеки у власному проекті:
Об’єктно-орієнтоване програмування Java2
само, як стандартні класи мови 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.
Информация о работе Побудова складних програм з використанням наслідування і агрегації