Revision as of 13:40, 16 June 2010 by Vstejskal (Talk | contribs)

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