Мы используем NetBeans Platform 7.0.1 и внедрили поддержку нового языка с помощью этого (ныне «устаревшего») учебного пособия .
Поскольку все наше содержимое хранится в базе данных, а не в файлах, мы открываем их следующим образом:
FileSystem fs = FileUtil.createMemoryFileSystem();
FileObject fo = fs.getRoot().createData(fileName, fileExtension);
… write contents from database to `fo` ….
DataObject data = MyMultiDataObject.find(fo);
EditorCookie.Observable cookie = data.getCookie(EditorCookie.Observable.class);
cookie.open();
… forces undock of editor window …
И в нашем layer.xml
мы добавили пользовательскую кнопку к Save
, которая отправляет содержимое обратно в базу данных.
Однако, когда пользователь закрывает файл (закрывая вкладку или окно), мы не нашли способ его сохранить.
Добавление PropertyChangeListener
к Cookie
и наблюдение за PROP_DOCUMENT
(и newValue() == null
), похоже, помогают при закрытии окна. Но как получить возвращаемое значение из окна подтверждения (я имею в виду, когда файл закрывается после изменений, сообщение File xxx.xxx is modified. Save it?
)?