Prefuse установить разные цвета для каждой группы узлов

Я новичок в префузии и не понимаю несколько вещей, касающихся узлов.

  1. Как я могу получить событие, вызванное нажатием на узел?
  2. Как я могу сгруппировать похожие узлы с одинаковым цветом?
  3. Как я могу сохранить дополнительные метаданные на каждом узле?

Важно сказать, что я строю график в режиме реального времени, а не загружаю его из какого-либо файла.

Спасибо, Озрад.

1 ответ

Решение

Три ответа на ваши три вопроса:

  1. Лучший способ реагировать на щелчки узлов - это расширить prefuse.controls.ControlAdapter и добавить его в Display,
  2. prefuse.action.assignment.DataColorAction назначает цвет на основе поля данных. Для более сложных сценариев вы можете использовать ColorAction с предикатами или расширить класс DataColorAction,
  3. Вы можете добавить столбцы в таблицу узлов для хранения метаданных. Столбец также может хранить объекты, если вам это нужно:

    vg.getNodeTable().addColumn("meta", MyMetaData.class);
    
Другие вопросы по тегам