Разработка программы построения объемных гистограмм с помощью языка программирования Java

Разработка программы, реализующей построение объемной гистограммы с использованием свойств языка программирования Java. Возможность графически отобразить статистические данные урожайности как основное требование к программе. Реализация кода программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 21.01.2013
Размер файла 333,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

  • Вступление
  • 1. Описание и анализ предметной области
  • 1.1 Постановка задачи
  • 1.2 Анализ предметной области
  • 1.3 Формирование требований
  • 2. Описание классов и методов
  • 2.1 Класс Window
  • 2.2 Класс GraphicPanel
  • 3. Реализация кода программы
  • Вывод
  • Список использованной литературы
  • Приложения

Вступление

Сегодня существует множество диаграмм для сравнения статистических данных. Однако, я хотел выбрать такую диаграмму, в которой можно легко и просто сравнить урожайность. Объемная гистограмма это наглядный пример такой реализации. Сперва может показаться, что тема довольно проста, и в программе нет ничего сложного, но передо мной встала задача автоматического изменения масштаба диаграмм при изменении главного окна. Ведь если графики будут выходить за размеры окна, то это будет не наглядно выглядеть. Именно поэтому основное время разработки программы я посвятил точному отображению графиков, что бы во время работы с программой пользователь легко и просто мог посмотреть результаты.

1. Описание и анализ предметной области

1.1 Постановка задачи

Необходимо разработать программу, реализующую построение объемной гистограммы. В процессе реализации необходимо использовать свойства языка программирования Java.

1.2 Анализ предметной области

Объемная гистограмма - это столбчатая диаграмма, в которой пользователь наглядно сравнивает полученные статистические данные или анализирует их изменения за определённый промежуток времени. Построение столбчатой диаграммы заключается в изображении статистических данных в виде горизонтальных прямоугольников. Каждый прямоугольник изображает величину уровня данного статистического ряда. Все сравниваемые показатели выражены одной единицей измерения, поэтому удаётся сравнить статистические показатели данного процесса.

1.3 Формирование требований

Необходимо создать программу, которая должна обеспечивать пользователю такие возможности:

1. Возможность графически отобразить статистические данные урожайности.

Пользователь сможет наглядно сравнить урожайность за последние 7 лет.

2. Возможность отображать диаграммы в соответствии с размером окна.

гистограмма объемная язык программирование

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

3. Необходимо создать удобный интерфейс.

В программе не должно быть сбоев, зависаний и ошибок. Также, пользователь должен иметь возможность ввести новые данные, не выходя из программы. Должно быть удобное меню и удобная система внесения новых данных.

2. Описание классов и методов

2.1 Класс Window

Этот класс наследует класс JFrame и является главным окном игры. Этот класс содержит в себе все графические компоненты программы. Окно состоит из кнопки "построить график", поля диаграммы и меню. Методы этого класса представлены ниже.

2.1.1 Метод openCreateWindow

Метод реализует всплывание информационного окна, в котором отображена: краткая информация об авторе, номер варианта и тип диаграммы.

2.1.2 Метод fillGraf

Метод считывает входящую информацию и выдает соответствующее сообщение, если данные введены не правильно.

2.2 Класс GraphicPanel

Класс является наследником класса JPanel, и содержит в себе метод paintComponent, который выполняет рисование диаграмм в цвете.

2.3 Класс Yield

Класс, который содержит в себе все значения для построения гистограмм.

2.3.1 Метод maxElem выполняет вычисления максимального элемента, для сопоставления диаграмм между собою.

2.3.2 Метод fillingX

Метод выполняет вычисления оси координат X, и возвращает полученный массив координат.

2.3.3 Метод fillingY

Метод аналогичный методу fillingX, только выполняется вычисления оси координат Y.

3. Реализация кода программы

В качестве примера я выбрал метод paintComponent () класса GraphicPanel, который реализует рисование объемных гистограмм. Я пошагово выполню алгоритм рисования диаграмм, после того как пользователь ввел данные урожайности за последние 7 лет. После того как данные были введены, начинается рисования графика, с помощью функции drawPolyline () объекта Graphics, в качестве параметров передается массив оси координат X, массив оси координат Y и количество точек. Когда график построен, происходит заливка цветом, с помощью функции fill3DRect () объекта Graphics, в качестве параметров передаются: начальные координаты X и Y, ширина и высота которая должна быть зарисована, а также логическое значения, которое определяет размещение прямоугольника над или под поверхностью.

Вывод

В ходе выполнения курсовой работы я разработал программу построения объемных гистограмм с помощью языка программирования Java. Я расширил свои знания в языке Java, узнал широту его возможностей (в частности графические библиотеки).

Кроме того, я научился анализировать свой проект, и визуально отображать его содержимое (диаграммы классов, объектов). Я также научился формулировать требования к проекту и реализовывать их программно.

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

Список использованной литературы

1. Герберт Шилдт. Java. Руководство для начинающих. Издание 4

2. Википедия - свободная энциклопедия [Электронный ресурс]. - http://wikipedia.org

3. [Электронный ресурс]. - http://berkut. homelinux.com

Приложения

Приложение А

Фрагменты кода игры

// Класс главного окна

public class Window extends javax. swing. JFrame {

// Метод открытия информационного окна

public void openCreateWindow () {

JFrame frame = new JFrame ();

JOptionPane. showMessageDialog (null, "Студента групи 2141\n Кобаля Романа"

+ " Анаталійовича\n варіант №10\nТип графіку - об'ємна гістограма", "Інформація", WIDTH);

}

// Метод считывает веденные данные

void fillGraf () {

String [] n = jTextField1. getText (). trim (). split (" ");

int [] x = new int [n. length];

if (n. length > 7) {

jLabel4. removeAll ();

jLabel4. setText ("Ви ввели забагато значень, введіть 7 чисел");

}

if (n. length < 7) {

jLabel4. removeAll ();

jLabel4. setText ("Ви ввели не всі значення, введіть 7 чисел");

} else {

jLabel4. removeAll ();

jLabel4. setText ("Якщо бажаете побудувати нові графіки, введіть нові 7 значень");

for (int i = 0; i < n. length; i++) {

x [i] = Integer. parseInt (n [i]);

}

graphicPanel4. setUroshau (x);

repaint ();

}

}

/*Класс, представляющий собой рисования диаграмм и заполнение их цветом*/

public class GraphicPanel extends javax. swing. JPanel {

int [] uroshau = {100, 100, 100, 100, 100, 100, 100};

public GraphicPanel () {

initComponents ();

}

public void setUroshau (int [] setUroshau) {

uroshau = setUroshau;

}

protected void paintComponent (Graphics g) {

super. paintComponent (g);

int [] X;

int [] Y;

int width = getWidth () - 1;

int height = getHeight () - 1;

int dy = height / 7;

g. setColor (new Color (0, 0, 0));

g. drawLine (0, 0, width, 0);

g. drawLine (0, 0, 0, height);

Y = Yield. fillingY (height);

for (int i = 0; i < 7; i++) {

X = Yield. fillingX ( (int) uroshau [i], width, uroshau);

g. setColor (new Color (0, 0, 0));

g. drawString (""+ (2012-i), X [3] - 60, Y [3] +10);

g. setColor (new Color (0, 0, 0));

g. drawPolyline (X, Y,

7);

g. setColor (new Color (12, 25, 205));

g. fill3DRect (X [3], Y [3], uroshau [i] * X [7] - 60, Y [6] - Y [3], true);

g. setColor (new Color (255, 25, 205));

g. fillPolygon (X, Y,

4);

for (int j = 0; j < 7; j++) {

Y [j] += dy;

}

}

}

}

/*Класс представляющий собой вычисления координат для построения гистограмм*/

public class Yield {

// Метод находит максимальный элемент

public static int maxElem (int [] X) {

int max = X [0];

for (int i = 0; i < X. length; i++) {

if (X [i] > max) {

max = X [i];

}

}

return max;

}

// Метод вычисляет координаты оси Х

public static int [] fillingX (int X, int width, int [] uroshau) {

int zapolnenie = (width / maxElem (uroshau));

int [] x = new int [8];

x [0] = X * zapolnenie;

x [1] = (X * zapolnenie) - (6 * X * zapolnenie / 100);

x [2] = 60;

x [3] = 60;

x [4] = x [0];

x [5] = x [4];

x [6] = 60;

x [7] = zapolnenie;

return x;

}

// Метод вычисляет координаты оси Y

public static int [] fillingY (int height) {

int [] y = new int [7];

y [1] = 10;

y [0] = y [1] + (height/7*2/10);

y [2] = 10;

y [3] = y [0];

y [4] = y [0];

y [5] = y [1] + (height/7*6/10);

y [6] = y [5];

return y;

}

} Приложение Б

Документация

Краткое руководство пользователя

Для начала нужно запустить программу. После нужно ввести данные для построения диаграмм и нажать на кнопку "побудувати графік". После чего на экране будут построенные 7 объемных гистограмм. Для того что бы построить графики еще раз - вводим данные и повторно нажимаем на клавишу. Что бы посмотреть информацию о программе, нажимаем в меню Edit - Информація. Для выхода нажимаем File - Вихід.

Приложение В

Снимки экранных форм представлены на следующих рисунках

Рисунок 1. Окно программы после открытия

Рисунок 2. Окно после введения данных

Рисунок 3. Информационное окно

Размещено на Allbest.ru


Подобные документы

  • Описание языка программирования Java: общие характеристики, главные свойства, краткий обзор. Надежность и безопасность, производительность и базовая система программы. Разработка программы поиска по словарю, алгоритм её работы. Общий вид кода программы.

    курсовая работа [20,3 K], добавлен 28.10.2012

  • Разработка игры "Экзамен" с применением объектно-ориентированного программирования и языка Java (в среде Eclipse Helios). Структура программы и алгоритм решения задачи. Описание методов и переменных. Экспериментальное тестирование и оценка программы.

    курсовая работа [122,5 K], добавлен 19.05.2011

  • История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возможностей использования языка Java, его преимущества. Перспективы работы программистом на языке Java.

    курсовая работа [795,9 K], добавлен 14.12.2012

  • Создание языка программирования с помощью приложения "Java". История названия и эмблемы Java. Обзор многообразия современных текстовых редакторов. Обработка строки. Методы в классе String. Java: задачи по обработке текста. Примеры программирования.

    курсовая работа [276,1 K], добавлен 19.07.2014

  • История развития языка программирования Java. История тетриса - культовой компьютерной игры, изобретённой в СССР. Правила проведения игры, особенности начисления очков. Создание интерфейса программы, ее реализация в среде Java, кодирование, тестирование.

    курсовая работа [168,1 K], добавлен 27.09.2013

  • Общая характеристика и оценка возможностей языка программирования си-шарп, его сходные и отличительные черты от С++ и Java. Разработка с помощью данного языка программирования лексического и синтаксического анализатора. Составление таблиц разбора.

    курсовая работа [111,6 K], добавлен 11.06.2010

  • Разработка программы для поиска пути в лабиринте с возможностью задания входа и выхода, наглядное представление решений. Использование языка логического программирования Prolog. Данные и методы решения. Пользовательский интерфейс, листинг программы.

    реферат [14,3 K], добавлен 15.10.2012

  • Анализ возможных подходов к созданию web-приложения с использованием программирования Java и CGI. Разработка структуры базы данных и реализация полученной модели в рамках СУБД. Обеспечение диалога CGI-программы с пользователем, используя браузер.

    курсовая работа [310,9 K], добавлен 07.08.2011

  • Особенности объектно-ориентированного программирования. Основные возможности языка программирования Java, классификация платформ. Создание программы, обеспечивающей вычисление арифметических выражений. Руководство пользователя и характеристика функций.

    курсовая работа [1,2 M], добавлен 07.07.2012

  • Изучение объектно-ориентированного языка программирования Java, его функциональные возможности. Создание программного кода. Описание классов и методов, использованных в программе. Руководство пользователя, запуск сервера и клиентского приложения.

    курсовая работа [1,8 M], добавлен 16.09.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.