В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
При использовании JGraph необходимо дать попытку JGraphT, который разработан для алгоритмов. Одной из его функций является визуализация, пользующаяся библиотекой JGraph. Это все еще разрабатывается, но довольно стабильное. Я проанализировал сложность алгоритмов JGraphT некоторое время назад. Некоторые из них не являются самыми быстрыми, но если Вы собираетесь реализовать их самостоятельно и должны отобразить свой график, тогда это мог бы быть лучший выбор. Мне действительно понравилось использовать его API, когда я быстро должен был записать приложение, которое работало над графиком и отображало его позже.
Если бы Вы на самом деле ищете Построение диаграммы библиотек, а не для библиотек Node/Edge Graph я предложил бы разориться на библиотеку Big Faceless Graph ( BFG). Это - путь, легче использовать, чем JFreeChart, более хорошие взгляды, выполнения быстрее, больше произвел опции, действительно никакое сравнение.
Я не знаю, назвал ли я его готовым к производству, но существует jGABL.
JDSL (Библиотека структур данных в Java) должен быть достаточно хорошим, если Вы в алгоритмы графика - http://www.cs.brown.edu/cgc/jdsl/
Для визуализации наша группа имела некоторый успех с предварительный предохранитель . Мы расширили его для обработки архитектурного floorplates и пузырькового схематического изображения, и это не жаловалось слишком много. У них есть новый инструментарий Flex также названная Вспышка, которая использует очень похожий API.
ОБНОВЛЕНИЕ: я должен был бы согласиться с комментарием, мы закончили тем, что писали большую пользовательскую функциональность/работу вокруг ограничений перед предохранителем. Я не могу сказать, что запуск с нуля был бы лучше хотя, когда мы смогли продемонстрировать прогресс со дня 1 при помощи предварительного предохранителя. С другой стороны, если бы мы делали вторую реализацию того же материала, я мог бы пропустить предварительный предохранитель, так как мы поняли бы требования намного лучше.
В университетском проекте я играл вокруг с yFiles yWorks и нашел, что это имело довольно хороший API.
JUNG является хорошим вариантом для визуализации, и также имеет довольно хороший набор доступных алгоритмов графика, включая несколько различных механизмов для случайного создания графика, перемонтажа, и т.д. Я также нашел, что он обычно довольно легок расшириться и адаптироваться в случае необходимости.
Выезд JGraphT для очень простой и мощной библиотеки графика Java, которая вполне прилично сделана и, для смягчения любого беспорядка, , отличается, чем JGraph. [Приблизительно 112] пример кода :
UndirectedGraph<String, DefaultEdge> g =
new SimpleGraph<String, DefaultEdge>(DefaultEdge.class);
String v1 = "v1";
String v2 = "v2";
String v3 = "v3";
String v4 = "v4";
// add the vertices
g.addVertex(v1);
g.addVertex(v2);
g.addVertex(v3);
g.addVertex(v4);
// add edges to create a circuit
g.addEdge(v1, v2);
g.addEdge(v2, v3);
g.addEdge(v3, v4);
g.addEdge(v4, v1);
Резюме:
Попробуйте Annas - это пакет графов с открытым исходным кодом, который легко освоить с
http://neo4j.org/ - это база данных графов, которая содержит множество алгоритмов графов и масштабируется лучше, чем большинство библиотек в памяти.
http://incubator.apache.org/hama/ - распределенный научный пакет на Hadoop для работы с массивными матричными и графовыми данными.
JGraph из http://mmengineer.blogspot.com/2009/10/java-graph-floyd-class.html
Предоставляет мощное программное обеспечение для работы с графиками ( прямой или непрямой). Также генерирует код Graphivz, вы можете видеть графические представления. Вы можете поместить в пакет свои собственные алгоритмы кода, например: код обратного отслеживания. В пакете есть несколько алгоритмов: Дейкстры, минимальная стоимость пути с возвратом и т. Д.