Netbeans平台在编辑器的动作扩展中获取文件路径

时间:2015-04-16 07:12:24

标签: java netbeans netbeans-platform

我已经在教程here

之后创建了一个Action To HTML Editor并将其添加到其菜单上下文中

现在我有以下内容:

public final class PreviewAction implements ActionListener {

private final EditorCookie context;

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

@Override
public void actionPerformed(ActionEvent ev) {

}

行动为我提供EditorCookie,但在做了一些research之后我发现它不会给我文件路径信息,我应该通过DataObject < / p>

我在其他地方进行了双击操作,可以在编辑器中打开HTML文件,如下所示:

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

无论如何,我可以在我的编辑器动作中访问文件路径吗? 或者可能将编辑器的DataObject传递给Action而不是EditorCookie?
或者是否有任何类型的&#34;链接&#34;在编辑的Cookie和DataObject之间?

感谢任何帮助,提前致谢。

1 个答案:

答案 0 :(得分:0)

宾果!
我通过与当前激活的TopComponent相关联的Lookup获得了它:

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