Платформа Netbeans получает путь к файлу в расширении действия редактора

Я создал действие в редакторе HTML и добавил его в контекст меню, следуя руководству здесь< /а>

и теперь у меня есть следующее:

public final class PreviewAction implements ActionListener {

private final EditorCookie context;

public PreviewAction(EditorCookie context) {
    this.context = context;
}

@Override
public void actionPerformed(ActionEvent ev) {

}

Действие предоставляет мне EditorCookie, но после некоторых исследований я обнаружил, что оно не дает мне информация о пути к файлу, и я должен получить ее через DataObject

У меня есть действие двойного щелчка где-то еще, которое открывает файлы HTML в редакторе следующим образом:

DataObject.find(FileUtil.toFileObject(filePath)).getLookup().lookup(OpenCookie.class).open();

так в любом случае я могу получить доступ к пути к файлу в моем действии редактора?
или, может быть, передать объект данных редактора в действие вместо EditorCookie?
или есть какая-то "связь" между файлом cookie редактора и DataObject?

Любая помощь приветствуется, заранее спасибо.


person Aboud Zakaria    schedule 16.04.2015    source источник


Ответы (1)


Бинго!
Я получил его через Lookup, связанный с текущим активированным TopComponent следующим образом:

TopComponent activeTC = TopComponent.getRegistry().getActivated();
DataObject dataLookup = activeTC.getLookup().lookup(DataObject.class);
String filePath = FileUtil.toFile(dataLookup.getPrimaryFile()).getAbsolutePath();
person Aboud Zakaria    schedule 16.04.2015