Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Java / LR_5

.doc
Скачиваний:
11
Добавлен:
28.03.2016
Размер:
78.34 Кб
Скачать

Міністерство освіти і науки України

ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД

«НАЦІОНАЛЬНИЙ ГІРНИЧИЙ УНІВЕРСИТЕТ»

ІНСТИТУТ ЕЛЕКТРОЕНЕРГЕТИКИ

ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ

Кафедра програмного забезпечення комп'ютерних систем

ЗВІТ

З ЛАБОРАТОРНОЇ РОБОТИ № 5

з дисципліни “Мережеве Java програмування”

Виконав:

ст. гр. КНіт-10-1

Левченко О.А.

Перевірив:

Зінченко О.В.

Харь О.Т.


Дніпропетровськ

2014

Лабораторная работа №5

Изучение свойств объектно-ориентированных Java-программ: наследование инкапсуляция, полиморфизм, перегрузка

Цель: Освоить работу с ООП.

Задача: В результате выполнения работы созданное Java приложение должно вывести на экран текстовую строку, которая должна содержать Ваши фамилию, имя, отчество, название студенческой группы и тему этой работы.

Вариант 2:

Методами объектно-ориентированного программирования описать графический объект  как потомок базового объекта "круг", перекрыв виртуальный метод отображения объекта на экране. Обеспечить перемещение объекта по экрану (перерисовкой объекта) при нажатии клавиш управления курсором ((((().

Листинг программы:

package lr_5;

import java.awt.*;

import javax.swing.*;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

class JBadSmile extends JComponent

{

public int x; // абсцисса точки

public int y; // ордината точки

public int radius;

private int old_x;

private int old_y;

JBadSmile()

{

x = 0;

y = 0;

radius = 0;

old_x = 0;

old_y = 0;

}

JBadSmile(int Radius)

{

x = 0;

y = 0;

radius = Radius;

old_x = 0;

old_y = 0;

}

JBadSmile(int X,int Y,int Radius)

{

x = X;

y = Y;

radius = Radius;

old_x = X;

old_y = Y;

}

protected void paintComponent(Graphics g, int x, int y)

{

g.setColor(Color.black);

g.fillOval(x, y, radius, radius);

g.setColor(Color.white);

g.fillOval(x + 2, y + 2, radius - 4, radius - 4);

g.setColor(Color.black);

g.fillOval(x + 12, y + 15, 8, 8);

g.fillOval(x + 30, y + 15, 8, 8);

g.fillArc(x + 15, y + 30, 20, 20, 5, 175);

g.setColor(Color.white);

g.fillArc(x + 15, y + 35, 20, 10, 5, 175);

old_x = x;

old_y = y;

}

protected void Clear(Graphics g, Color color)

{

g.setColor(color);

g.fillOval(old_x, old_y, radius, radius);

g.fillOval(old_x + 2, old_y + 2, radius - 4, radius - 4);

g.fillOval(old_x + 12, old_y + 15, 8, 8);

g.fillOval(old_x + 30, old_y + 15, 8, 8);

g.fillArc(old_x + 15, old_y + 30, 20, 20, 5, 175);

g.fillArc(old_x + 15, old_y + 35, 20, 10, 5, 175);

}

}

class MyJPanel extends JPanel implements MouseListener

{

JFrame frame = new JFrame("Лабораторна робота № 5");

JBadSmile smile = new JBadSmile(50);

MyJPanel()

{

this.setBackground(Color.WHITE);

this.setMinimumSize(new Dimension (600, 800));

frame.setLocation(500, 150);

frame.setMinimumSize(new Dimension (600, 400));

frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

frame.getContentPane().add(this);

frame.pack();

frame.setVisible(true);

frame.addMouseListener(this);

JLabel lbl1 = new JLabel("Блажко Виктория");

lbl1.setBounds(0, 380, 100, 10);

JLabel lbl2 = new JLabel("КНит-10-2");

lbl2.setBounds(0, 400, 100, 10);

JLabel lbl3 = new JLabel("Изучение свойств объектно-ориентированных Java-программ");

lbl3.setBounds(0, 420, 250, 10);

JLabel lbl4 = new JLabel();

frame.add(lbl1);

frame.add(lbl2);

frame.add(lbl3);

frame.add(lbl4);

repaint();

}

protected void paintComponent(Graphics g, int X, int Y)

{

smile.Clear(g, this.getBackground());

smile.paintComponent(g, X, Y);

}

@Override

public void mouseClicked(MouseEvent e) {

this.paintComponent(this.getGraphics(), e.getX()-30, e.getY()-50);

}

@Override

public void mousePressed(MouseEvent e) {

}

@Override

public void mouseReleased(MouseEvent e) {

}

@Override

public void mouseEntered(MouseEvent e) {

}

@Override

public void mouseExited(MouseEvent e) {

}

}

public class LR_5 extends JPanel{

public static void main(String[] args) {

MyJPanel myPanel = new MyJPanel();

}

}

Результат:

Вывод: я освоил работу с ООП.

Соседние файлы в папке Java