Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Illustrator- программа рисующая диаграммы (diagrams).

Надо написать программу, которая может произвести схемы (diagrams) , составленные из строк, квадратов и элементов текста. Элементы будут добавлены к схеме согласно командам меню - ввод от пользователя. Программа также будет в состоянии сохранить и загрузить рисунки в текстовый файл. Читайте полное описание задание тщательно перед началом программирование.

Что программа должна сделать

Программа должна запуститься дисплеем в окне EasyGraphics, ширина которого и высота установлены параметрами командной строки, например,

java Illustrator 200 200

запустится, выводя на экран пустое окно размера 200 200 пикселями. Программа должна вывести на экран меню со следующими опциями, S, L, T, U, V, D, C и Q, где у этих опций есть следующие значения,

S – добавляет Квадрат

L – добавляет Строку

T – добавляет текст

U – Отмена: удаляет последний добавленный элемент

D - загружает рисунок из файла

V – сохраняет рисунок к файлу

C – Очищает изображение

Q – Выход

Подробно, если пользователь вводит,

• S, программа должна тогда попросить у пользователя x и y позицию квадратного центра и длину одной стороны. Далее добавляет квадрат к изображению.

• L, программа должна запросить x и y позицию и конец строки. Далее добавляет строку к схеме.

• T, программа должна запросы x и y позиция и текстовая строка. Далее добавляет текст к схеме.

• U, последний добавленный элемент изображения удален из изображения, и изображение перерисовано.

• D, это должно запросить имя файла и затем загрузить изображение из того файла.

• V, программа должна запросить имя файла и затем сохранить картинку к файлу в формате, описанном ниже.

• C, программа удаляет все элементы из текущего рисунка.

Программа должна продолжать запрашивать пользователя выбирать опции из главного меню, пока пользователь не вводит Q, чтобы выйти.

Формат файла схемы (diagrams)

Программа должна быть в состоянии сохранить и загрузить схемы в текстовые файлы, используя формат, описанный в этом разделе. Ниже написанное показывает содержание файла изображения в качестве примера.

2

10 10 20 20

10 20 20 10

3

40 40 10

50 50 10

60 60 10

2

100 90 hello

100 100 world!

Файл составлен из трех разделов: строки, квадраты и текст.

1. Первая строка файла представляет число линейных элементов изображения. Затем для каждого линейного элемента есть строка в файле, выводящем на экран координаты конечных точек строки в порядке: x1, y1, x2, y2. Так в примере выше есть две строки, один от (10,10) до (20,20) и второе от (10,20) до (20,10).

2. После этого идет число квадратных элементов, то есть в примере выше есть 3 квадрата. Каждый квадрат описан строкой трех чисел: x, y, размер.

Так в примере выше есть 3 квадрата размера 10 в позициях (40,40), (50,50) и (60,60)

3. Следющим идет число текстовых элементов, то есть в примере выше есть 2 текстовых элемента. Каждый текстовый элемент описан строкой, показывая два числа (x и координаты y) сопровождаемый текстом, который будет выведен на экран. Так в примере выше текста "Hello" будет выведен на экран в позиции (100,90), и "world!" будет в (100 100).

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

Что Вам дано как исходные данные

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

Загрузите код байта, Illustrator.jar, и файл данных, mypicture.pic. Выполните графический редактор, выполняя:

java –jar Illustrator.jar 200 200

Программа должна вывести на экран пустое 200 200 пиксельное окно и вывести на экран меню опций в консоли. Попробуйте использование программа, чтобы загрузить файл mypicture.pic.

Что делать

Программа потребует от вас следующие классы,: Линию, прямоугольника и текста, чтобы показать элементы рисунка. Картинку чтобы изобразить полную картинку(Picture to represent a complete picture). Контролирующий класс, называющийся Illustrator и содержащий в себе главный метод .

А также вы сами можете решить дизайн и написать программу, так как вы сами желаете. Внизу путеводитель и оно вам может понадобиться. Этот путеводитель содержит 6 шагов для решения задачи. Эти шаги:

1) Напишите классы, элементы рисунка: линию, прямоугольника и текста.

2) Напишите основной Picture class с конструкторами и методы «Добавления»

3) Загрузить и нарисовать методы в Picture class

4) Implement the menu- driven interactive control

5) Добавить сохраняющий метод в Picture class

6) Запустить аннулирующий (Undo) и очищающий (Clear) опций.

Детали каждого шага приведены ниже

1. Напишите классы, элементы рисунка линию, прямоугольника и текста

Каждому нужны конструкторы и методы, которые назовутся write и draw, например классу линия:

Line (int_x1,int_y1,int_x2,int_y2)) // класс конструктор

Public void write(BufferedWriter outputFile) // написать линию в фаиле

Public void draw(EasyGraphics window) // нарисовать линию в окне EasyGraphics

Протестируйте ваши классы которые элементы рисунка, например, используя такие коды текста

EasyGraphic window =new EasyGraphics(200,200);

Line aline = newLine(10,20,100,150);

aline.draw(window);

2 The Picture class: конструктор и метод «добавления»

Для Picture class для сохранения объектов линии, прямоугольника и текста нужно использовать массивы которые нарисуют рисунок и оно же должно содержать объект EasyGraphic которая будет использоваться для отображения картинки.

Конструктор должно быть в таком виде:

Picture(int width, int height)

Массивы должны быть инициализированы конструктором и make an EasyGraphics window of size width by height.

Оно должно содержать методы для добавления элементов в картинку, например :

Public void addSquare(int x, int y, int size){…}

Public void addLine(int x1, int y1, int x2, int y2){…}

Эти методы должны строить подходящую элемента картинки, добавит ее в подходящий массив и показать ее в окне.

Как только вы это напишете, напишите тестирующий код, например :

Picture picture =new Picture(200,200);

picture.addSquare(50,50,10);

picture.addLine(10,10,100,100);

3. Picture class: Загрузить и нарисовать методы

public void load(String filename)

используйте Scanner для того чтобы читать данные с файла. Посмотрите формат файла и удостоверьтесь, что вы поняли структуру файла с картинкой. После чтения данных для каждого элемента изображения, названного addSquare. addLine или addText как соответствующий, чтобы добавить элемент к изображению.After reading the data for each picture element called addSquare. addLine or addText as appropriate to add the element to the picture.

Public void draw();

The draw метод просто называется draw для каждого элемента в массиве картинки.

Напишите код для тестирования загрузки и рисования метода, например :

Picture picture=newPicture(200,200);

picture.load(“example1.pic”);

picture.draw();

4. Menu – driven interactive control

Наконец, в главном методе controller class напишите код Illustrator, чтобы показать поведение меню. Вы можете использовать Scanner class, чтобы прочитать с клавиатуры и цикл while в котором программа будет продолжаться пока не введут букву Q с клавиатуры. Удостоверьтесь что вы ввели все буквы S, L, T, U, D, V, C и Q. (Отметьте, что опция Save не может быть завершена, пока метод сохранения Изображения не был добавлен, см. шаг 5). (Note the Save option cannot be completed until Picture’s save method has been added, see step 5). Хорошо используйте private static methods, чтобы предотвратить основной метод, становящийся нечитабельными, например, каждый пункт меню может быть реализован как отдельный метод.

Протестируйте программу тщательно

5. Picture class : добавление Save method

Public void save(String filename)

Откройте файл для написания (посмотрите заметки в леций) и после этого используйте циклы для печати каждого элемента сохраненного в массиве. Посмотрите секцию формата файла для просмотра как файл построен.

Напишите тестирующий код который загружает и пере сохраняет картинки, например :

Picture picture = new Picture(200,200);

picture.load(“example1.pic”);

picture.draw();

picture.save(“out.pic”);

Прверьте что выходной файл out.pic имеет такое же содержание как и input file example1.pic

6. Анулирующий и очищающий

Когда добавляешь пункты при использований меню очень легко сделать ошибку, поэтому программе нужно иметь некоторый механизм для удаления пунктов которые были добавлены неправильно. Вам необходимо запустить “Undo” особенность чтобы сделать программу более практичной. Добавьте 1 пункт, в меню пункт, U для Undo. При выборе U последний добавленный элемент прямоугольник, линия или текста должен быть удален. Это потребует некоторую модификацию в Picture class для отслеживания последнего добавленного элемента. Особенность “Clear” – удалять все что было нарисовано до этого времени.

12 лет назад
mr-diamant
Виталий 
38 летКазахстан
14 лет в сервисе
Был
день назад
Выбранные исполнители
Egorik789
Егор 
33 годаРоссия
16 лет в сервисе
Был
4 года назад
12 лет назад
$150
5 дней
Очень ответственный и надежный человек Егор. Сделал работу в кротчайшие сроки с высоким качеством. Рекомендую всем заказчикам!
Отличный заказчик и приятный в общении человек. По работе/оплате все отлично, кроме этого масса приятного человеческого общения. Очень рада знакомству!
bihle
Артем 
36 летУкраина
15 лет в сервисе
Был
2 года назад
12 лет назад
$1
4 дня
Работа выполнена! Все ок!
.....