我已经在教程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之间?
感谢任何帮助,提前致谢。
答案 0 :(得分:0)
宾果!
我通过与当前激活的TopComponent相关联的Lookup获得了它:
TopComponent activeTC = TopComponent.getRegistry().getActivated();
DataObject dataLookup = activeTC.getLookup().lookup(DataObject.class);
String filePath = FileUtil.toFile(dataLookup.getPrimaryFile()).getAbsolutePath();