Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2014, 19:18   #1
mmx358
Пользователь
 
Регистрация: 28.06.2009
Сообщений: 84
По умолчанию jgraphx - несоотвествие id после добавления в граф

Здравствуйте!

Очень прошу помочь, если сможете!

Итак, использую библиотеку jgraphx 2.5.1.1.

Есть участок кода, кот. отвечает за добавление (копирование) объектов из списка ArrayList<GJoint> map.list в граф mxGraph graph:

Код:
			for (j = 0; j < mapY; j++ )
			{
				for (i = 0; i < mapX; i++)
				{
					vertices[j * mapX + i] = graph.insertVertex(parent, String.valueOf(map.list.get(j * mapX + i).id), 
							map.list.get(j * mapX + i), step + step * i, step + step * j,
							20, 20, "shape=ellipse;perimeter=ellipsePerimeter");
					verticeIds[j * mapX + i] = String.valueOf(map.list.get(j * mapX + i).id);
				}
			}
По задумке моей должно быть так, что в vertices[n] хранится копия вершины, добавленной в граф, а в verticeIds[n] хранится id этой вершины, присвоенный ей при ее добавлении в граф (поскольку этот id и для добавления в verticeIds, и для добавления в граф берется из map.list.get(n).id, то есть, один и тот же).


Когда же я пытаюсь проверить это соответствие (вывод в формате id вершины : копия вершины из массива : сама вершина из графа : значение вершины (объект GJoint, что не принципиально):
Код:
		for (int i = 0; i < vertices.length; i++)
		{
			System.out.println(verticeIds[i] + " : " + vertices[i] + " : " +  model.getCell(verticeIds[i]) + " : " + model.getValue(model.getCell(verticeIds[i])));
		}

И получаем вот такой сюрприз:

Код:
0 : com.mxgraph.model.mxCell@327ff40e : com.mxgraph.model.mxCell@2417bcb9 : null
1 : com.mxgraph.model.mxCell@6e6fdd08 : com.mxgraph.model.mxCell@12672832 : null
2 : com.mxgraph.model.mxCell@721870dc : com.mxgraph.model.mxCell@327ff40e : mainpack.GJoint@3f0cf5cb
3 : com.mxgraph.model.mxCell@2299b609 : com.mxgraph.model.mxCell@6e6fdd08 : mainpack.GJoint@6bdd02c3

....

96 : com.mxgraph.model.mxCell@7c3c62e8 : com.mxgraph.model.mxCell@63465272 : mainpack.GJoint@943692f
97 : com.mxgraph.model.mxCell@6081ad10 : com.mxgraph.model.mxCell@1dceed49 : mainpack.GJoint@28ae9169
98 : com.mxgraph.model.mxCell@618926ef : com.mxgraph.model.mxCell@7c3c62e8 : mainpack.GJoint@5ccc995c
99 : com.mxgraph.model.mxCell@735b46ef : com.mxgraph.model.mxCell@6081ad10 : mainpack.GJoint@7c68969c

Как видите, в граф (третья и четвертая колонки) вершины попали "с опозданием на две" - это видно по кодам объектов. В конце видно, что в графе 99-му соответствует реальный 97-й. А кем являются парни из графа под id 0 и 1 - непонятно.

И, самое главное: что делать? Это я виноват или разработчики библиотеки?

Очень прошу помочь, время жмет конкретно, я такой подставы не ждал совершенно.
mmx358 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WP8 тормозит приложение после добавления AdMob Onni C# (си шарп) 0 12.03.2014 18:56
Не сохраняются записи после добавления через IBTable artemavd БД в Delphi 6 27.08.2012 14:36
Обновить значки после добавления нового типа файла Человек_Борща Win Api 3 13.08.2012 18:18
DBGrid не отображает данные после добавления k0ks67 БД в Delphi 4 10.12.2009 21:17
после добавления ярлыка программа не работает Kos123 Помощь студентам 18 30.09.2009 14:27