DevFaqListenEditorChanges

(Difference between revisions)
(How can I track what file the user is currently editing?)
Line 2: Line 2:
===How can I track what file the user is currently editing?===
===How can I track what file the user is currently editing?===
-
The editor keeps a registry of open editors;  you can track changes in which editor is active using this method: <tt>org.netbeans.api.editor.EditorRegistry.addPropertyChangeListener(myListener);</tt>. If you attach any listeners to the <tt>Document</tt> or anything else in the active editor text component, remember to remove them when the active editor changes.
+
The editor keeps a registry of open editors;  you can track the active editor using this method: <tt>org.netbeans.api.editor.EditorRegistry.addPropertyChangeListener(myListener);</tt>.
 +
 
 +
'''IMPORTANT''': If you attach any listener to the <tt>Document</tt> or anything else in the active editor text component, remember to remove them when the active editor changes.
 +
 
 +
-----
 +
 
 +
Applies to: Netbeans 6.x and later
 +
 
 +
Platforms: All
==Track the currently modified files by DataObject Registry listening - Sample code==
==Track the currently modified files by DataObject Registry listening - Sample code==

Revision as of 13:40, 16 June 2010

How can I track what file the user is currently editing?

The editor keeps a registry of open editors; you can track the active editor using this method: org.netbeans.api.editor.EditorRegistry.addPropertyChangeListener(myListener);.

IMPORTANT: If you attach any listener to the Document or anything else in the active editor text component, remember to remove them when the active editor changes.


Applies to: Netbeans 6.x and later

Platforms: All

Track the currently modified files by DataObject Registry listening - Sample code

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());
    }
}

Libraries needed

  • Datasystems API
  • File System API
  • Nodes API
  • Utilities API
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo