Prefuse установить разные цвета для каждой группы узлов
Я новичок в префузии и не понимаю несколько вещей, касающихся узлов.
- Как я могу получить событие, вызванное нажатием на узел?
- Как я могу сгруппировать похожие узлы с одинаковым цветом?
- Как я могу сохранить дополнительные метаданные на каждом узле?
Важно сказать, что я строю график в режиме реального времени, а не загружаю его из какого-либо файла.
Спасибо, Озрад.
1 ответ
Решение
Три ответа на ваши три вопроса:
- Лучший способ реагировать на щелчки узлов - это расширить
prefuse.controls.ControlAdapter
и добавить его вDisplay
, prefuse.action.assignment.DataColorAction
назначает цвет на основе поля данных. Для более сложных сценариев вы можете использоватьColorAction
с предикатами или расширить классDataColorAction
,Вы можете добавить столбцы в таблицу узлов для хранения метаданных. Столбец также может хранить объекты, если вам это нужно:
vg.getNodeTable().addColumn("meta", MyMetaData.class);