NetBeans插件 - 在用户保存代码上执行操作

时间:2014-08-25 21:59:27

标签: java netbeans netbeans-plugins

我正在为NetBeans构建一个插件,我想知道当用户按下Ctrl + S或点击" Save ..."时,我将如何执行操作。按钮。

我在Google上搜索过此内容,但我无法提供一些指示或API来实现此目标。

实际上,我想在每次用户保存时捕获NetBeans活动编辑器的内容,同时编译源代码。

请您提供一些关于如何实现这一目标的提示或资源?

提前致谢! 雷米

1 个答案:

答案 0 :(得分:1)

http://wiki.netbeans.org/DevFaqListenForSaveEvents

DataObject.Registry registries = DataObject.getRegistry();
registries.addChangeListener(new ChangeListener() {
    public void stateChanged(ChangeEvent e) {
        System.out.println("ChangedListener: o = " + e.getSource().getClass());
        System.out.println("ChangedListener: o.source = " + e.getSource());
    }
});
DataObject[] objects = registries.getModified();
for (int i = 0; i < objects.length; i++) {
    DataObject dataObj = objects[I];
    System.out.println("data object name = " + dataObj.getName());
    System.out.println("data object pimary file name = " + dataObj.getPrimaryFile().getName());
    Set fss = dataObj.files();
    Iterator iter = fss.iterator();
    while (iter.hasNext()) {
        FileObject fo = (FileObject) iter.next();
        System.out.println("\tset file object: " + fo.getName());
    }
}