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

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

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

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

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


person Oz Radiano    schedule 11.03.2014    source источник


Ответы (1)


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

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

    vg.getNodeTable().addColumn("meta", MyMetaData.class);
    
person alex.rind    schedule 12.03.2014
comment
Благодарю вас! Знаете ли вы, где я могу найти ссылки или примеры кода для решения этих проблем? - person Oz Radiano; 12.03.2014
comment
некоторые примеры находятся на github.com/prefuse/Prefuse/tree/master/ демо/префьюз/демо - person alex.rind; 11.05.2014