Действия для выбора нескольких узлов - PullRequest
4 голосов
/ 13 февраля 2012

Чтобы определить действия для выбранных узлов, я переопределяю метод getActions(bool b) для BeanNode.Однако, если я выберу более одного узла, я не получу контекстное меню при щелчке правой кнопкой мыши.Есть ли способ определить действия для нескольких узлов?Если вы знаете учебник, который я пропустил по этой теме, пожалуйста, ссылку, в противном случае я благодарен за любые подсказки.

  • Все узлы одного типа (и имеют одинаковые действия).
  • Узлы отображаются на BeanTreeView.

1 Ответ

2 голосов
/ 19 февраля 2012

Наиболее вероятный сценарий, который приведет к отображению действий во время одиночного выбора, но не во время множественного выбора, заключается в том, что вы new выполняете действия каждый раз в методе getActions(boolean b). Это не позволит методу findActions(Node[] nodes) в NodeOp.java найти общих действий для ваших узлов, поскольку экземпляры действий будут другими.

Скорее используйте SystemAction.get(Class<T> actionClass) или что-то подобное, чтобы получить экземпляры ваших действий, вместо того, чтобы каждый раз создавать экземпляры действий.

...