Java / LR_5
.docМіністерство освіти і науки України
ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД
«НАЦІОНАЛЬНИЙ ГІРНИЧИЙ УНІВЕРСИТЕТ»
ІНСТИТУТ ЕЛЕКТРОЕНЕРГЕТИКИ
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра програмного забезпечення комп'ютерних систем
ЗВІТ
З ЛАБОРАТОРНОЇ РОБОТИ № 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();
}
}
Результат:
Вывод: я освоил работу с ООП.