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

OOP / Лаб 13

.docx
Скачиваний:
26
Добавлен:
10.02.2016
Размер:
16.44 Кб
Скачать

Министерство образования и науки Украины

Одесский национальный политехнический университет

Кафедра системного программного обеспечения.

Протокол лабораторной работы № 13

По дисциплине:

Объектно-ориентированное программирование

Вариант 10

Выполнил

студент AC-121

Куценко Дмитрий Сергеевич

Преподаватель Левченко А.Ю

Одесса 2013 (год)

Лабораторная работа № 13 «Графика. Java» (2ч.)

Для каждого варианта начертить на экране оси координат,

необходимые геометрические фигуры, а также вывести текст задания и текст ответа.

Задание

Задано прямоугольные координаты вершин и точки. Определить, лежит точка на диагонали квадрата.

Код программы.

package javalab13;

import java.awt.*;

import java.util.*;

import javax.swing.*;

class MyFrame extends JFrame{

protected int x;

protected int y;

protected int w;

protected int h;

protected int x1;

protected int y1;

protected int x2;

protected int y2;

protected JPanel panel;

protected int i;

public void createFrame()

{

setSize(600, 400);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

panel = new JPanel();

panel.setLocation(0,0);

panel.setSize(600, 400);

panel.setVisible(true);

add(panel);

setVisible(true);

}

public void add(){

Scanner in= new Scanner(System.in);

System.out.println("Введите X:");

x=in.nextInt();

System.out.println("Введите Y:");

y=in.nextInt();

System.out.println("Введите W:");

w=in.nextInt();

System.out.println("Введите H:");

h=in.nextInt();

System.out.println("Введите X1:");

x1=in.nextInt();

System.out.println("Введите Y1:");

y1=in.nextInt();

}

public void paint() {

Graphics2D g =(Graphics2D) panel.getGraphics();

g.setColor(Color.GRAY);

for (i=0;i<1000;i=i+20){

g.drawLine(i,1000,i,0);

g.drawLine(1000,i,0,i);

}

g.setColor(Color.BLACK);

g.setStroke(new BasicStroke(2));

g.drawLine(230,400,230,0);//Y

g.drawLine(500,205,0,205);// X

g.setStroke(new BasicStroke(1.5f));

for (i=0;i<500;i=i+18){

g.drawLine(i,201,i,210);

g.drawLine(225,i,235,i);

}

g.setStroke(new BasicStroke(2));

g.drawLine(480,195,500,205);

g.drawLine(480,215,500,205);

g.drawLine(220,20,230,0);

g.drawLine(240,20,230,0);

Font font = new Font("Helvetica",Font.ITALIC, 20);

g.setFont(font);

g.drawString("X", 500,190);

g.drawString("Y", 200,20);

g.setColor(Color.BLACK);

g.drawRect(x+230, 205-y-h, w, h);

g.drawLine(x+230,205-y,x+w+230 ,205-(y+h) );

g.drawLine(x+w+230,205-y,x+230 ,205-(y+h) );

g.setColor(Color.RED);

g.fillOval(x1+226 , -y1+201 , 8, 8);

}

public void check(){

y2=y+h;

x2=x+w;

if((double) (y1-y)/(x1-x)==(double) (y2-y)/(x2-x) ||(double) (y1-y)/(x2-x)==(double)(y2-y)/(x2-x)){

System.out.println("Точка лежит на диагонали");

}

else

System.out.println("Точка не лежит на диагонали");

}

}

public class JavaLab13

{

public static void main(String[] args)

{

MyFrame p = new MyFrame();

p.add();

p.check();

p.createFrame();

while(true)

p.paint();

}

}

Тест1 Тест2

Введите X:

10

Введите Y:

10

Введите W:

100

Введите H:

100

Введите X1:

50

Введите Y1:

50

Точка лежит на диагонали

Введите X:

10

Введите Y:

10

Введите W:

100

Введите H:

60

Введите X1:

15

Введите Y1:

15

Точка не лежит на диагонали

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