Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Анимация линейного графика JavaFX LineChart 
V
    Опции темы
timdeygun
  Дата 28.11.2017, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 28.11.2017

Репутация: нет
Всего: нет



Доброго времени суток, господа.

Используемые обозначения:
[x] - метка, где "x" - номер метки на фото.


Сабж:

Вопрос вот в чем: написал JavaFX Desktop для чтения географических координат из файла, их преобразования и построения траектории движения задуманного ЛА по входным данным + визуализация этой дичи. 
Все получилось, однако, дойдя до попытки анимировать линейный график, столкнулся с пока нерешаемой для меня проблемой. 

При работе метода [1] в цикле [2] я вижу исключение при работе программы [4]. 
Вопрос: Почему? Разве зеленым обведенная строка (метод очистки) не должна солвить эту проблему? 
(если метод [2] вынести за пределы цикла [2], то все замечательно работает, однако, без анимации построения графика).

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

user posted image



Это сообщение отредактировал(а) timdeygun - 28.11.2017, 20:58
PM MAIL   Вверх
timdeygun
  Дата 28.11.2017, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 28.11.2017

Репутация: нет
Всего: нет



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

Солюшн:

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

for (int i = 0; i < coords62lat.size(); i++)
{
    .................

    lineChart.getData().add(data);
}

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

Достаточно было просто подключить серию данных
Код

XYChart.Series<Number, Number> data = new XYChart.Series<>();

 к графику с помощью методов
Код

lineChart.getData().add(data);

а за тем просто обновлять саму серию, добавляя или удаляя элементы:
Код

for (int i = 0; i < coords62lat.size(); i++)
{
    data.getData().add(new XYChart.Data<>(coords62lon.get(i), coords62lat.get(i)));
}


Как все-таки полезно владеть несколькими языками  smile 

Это сообщение отредактировал(а) timdeygun - 28.11.2017, 22:10
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.1093 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.