Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Метод paint

Після розфарбовування тла вікна аплета й малювання довкола нього рамки метод paint приступає до побудови кругової діаграми. Прийняті дані відображаються в рядку стану браузера:

showStatus(sChart);

Далі створюється розбирач рядка вихідних даних:

StringTokenizer st = new StringTokenizer(sChart, ",\r\n");

Як роздільники для цього розбирача вказується кома, символ повернення каретки й перекладу рядка.

Малювання секторів діаграми виконується в циклі, умовою виходу з якого є завершення розбору рядка вихідних даних:

while(st.hasMoreElements()){ . . .}

Для того щоб сектори діаграми не зливалися, вони повинні мати різний колір. Колір сектора можна було б передавати разом зі значенням кута через файл вихідних даних, однак ми застосували більше простий спосіб раскаршивания секторів - у випадкові кольори. Ми одержуємо випадкові компоненти кольору сектора, а потім вибираємо колір у контекст відображення:

rColor = (int)(255 * Math.random());gColor = (int)(255 * Math.random());bColor = (int)(255 * Math.random());g.setColor(new Color(rColor, gColor, bColor));

За допомогою методу nextElement ми одержуємо чергове значення кута сектора й зберігаємо його в змінної angle:

String angle = (String)st.nextElement();

Далі за допомогою конструктора класу Integer це значення перетвориться в чисельне:

AngleFromChart = new Integer(angle);

Малювання сектора кругової діаграми виконується за допомогою методу fillArc:

g.fillArc(0, 0, 200, 200, PrevAngle, AngleFromChart.intValue());

Як початкове значення кута сектора використовується значення зі змінної PrevAngle. Відразу після ініціалізації в цю змінну записується нульове значення.

Кінцевий кут сектора задається як AngleFromChart.intValue(), тобто вказується значення, отримане із прийнятого по мережі файлу вихідних даних.

Після завершення малювання чергового сектора кругової діаграми початкове значення PrevAngle збільшується на величину кута намальованого сектора:

PrevAngle += AngleFromChart.intValue();



Переглядів: 290

<== попередня сторінка | наступна сторінка ==>
Поля класу ShowChart | Додатка SocketServ і SocketClient

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.009 сек.