Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Я имел успех с помощью JFreeChart на нескольких проектах. Это очень настраивающееся. JFreeChart является открытым исходным кодом, но они взимают за руководство разработчика . При выполнении чего-то простого пример кода, вероятно, достаточно хорош. Иначе, 50$ для руководства разработчика довольно хорошая сделка.
Относительно данных "в реальном времени", я также использовал JFreeChart для этих видов приложений. К сожалению, я должен был создать некоторые пользовательские модели данных с соответствующими механизмами синхронизации для предотвращения условий состязания. Однако это не было ужасно трудно, и JFreeChart все еще будет моим предпочтительным вариантом. Однако как FAQ предполагает, JFreeChart не мог бы дать Вам лучшую производительность, если это - большое беспокойство.
JHandles является альтернативным графическим пакетом для Октавы (математический пакет). Это, вероятно, стоит изучить, но быть конкретной Октавой не может иметь то, в чем Вы нуждаетесь.
-Adam
Для графического изображения в реальном времени Вас может использовать График QN, JOpenChart или его ветвление Openchart2.
Я использовал JFreeChart в довольно сложном приложении, которое должно было визуализировать потоки данных и вычисления на основе данных. Мы реализовали способность визуально отредактировать графики данных мышью и имели очень большой набор точек данных. JFreeChart обработал его очень хорошо.
, К сожалению, я застрял с v0.7, но новейший выпуск является sooo намного лучше когда дело доходит до ясности API. Сообщество очень полезно, и разработчики отвечают на письма также.
, Если Вы делаете веб-приложение и не хотите беспокоиться библиотеками, можно проверить Google Chart API . Не использовал его самостоятельно, но я запустил некоторые тесты, которые были очень перспективны.
Я использовал JFreeChart ( http://www.jfree.org/jfreechart/ ) на предыдущем проекте. Это имеет некоторые очень хорошие встроенные возможности, и дизайном был ПУТЬ, расширяемый, таким образом, Вы могли всегда расширение самокрутки позже, если бы Вы нуждались в некоторой пользовательской аннотации диаграммы или хотели, чтобы ось представила по-другому, или что бы то ни было. Это определенно стоит проверить.
Проверьте ILOG's JViews - у них есть много материала, и что-то могло бы соответствовать Вашим потребностям. Все они чрезвычайно настраиваются и довольно быстры. Не свободный все же.
Живой График поддержки рендеринг в реальном времени.
Я только что столкнулся с аналогичной проблемой (отображение быстро обновляемых данных для инженерных целей), и я использую JChart2D . Он довольно минималистичен и имеет несколько причуд, но кажется довольно быстрым: я провожу тест скорости, в котором он добавляет 2331 точку в секунду (333x7 кривых) в ленточную диаграмму и использует 1% ЦП на моем Pentium 4 с тактовой частотой 3 ГГц.
Я использую GRAL для построения графиков в реальном времени. Это библиотека Java LGPL. Хотя он не такой мощный, как JFreeChart, у него более приятный API. Я получил участок за очень короткое время. Они также поставляют пример построения графика в реальном времени.
Библиотека, которую я написал, Plot4j также поддерживает построение графиков в реальном времени.