2012-03-05 2 views
0

NetBeansプラットフォーム7.0.1を使用し、this (now “obsolete”) tutorialを使用して新しい言語のサポートを実装しました。NetBeansのエディタのウィンドウでアクションを実行します。

当社のすべての内容をファイルにデータベースに格納され、されていないので、我々はこのようにそれらを開く:

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にカスタムボタンを追加しましたデータベースに転送します。

ただし、ユーザーがファイルを閉じると(タブまたはウィンドウを閉じることによって)、ファイルを保存する方法がわかりません。

PropertyChangeListenerCookieに追加し、PROP_DOCUMENT(およびnewValue() == null)を見ていると、ウィンドウを閉じるときのトリックがあるようです。しかし、確認ウィンドウから戻り値を取得するにはどうすればよいですか(変更後にファイルが閉じられたとき、メッセージFile xxx.xxx is modified. Save it?を参照しています)。

答えて

0

私たちは間違った方法で問題に近づいているようです。

我々はメモリ内のファイルを開いているので、我々は

fo.addFileChangeListener(new CustomFileChangeListener()); 

public class CustomFileChangeListener implements FileChangeListener { 
    @Override 
    public void fileChanged(FileEvent fe) { 
     ... file has been saved in the editor, sync with database ... 
    } 
} 

を使用することにより、ファイル自体の変化を聞くと、それはそのように同期しておく必要があるのNetBeans-devのリストに示唆されました、組み込みのNetBeansプラットフォームの「保存」機能を利用できます。

関連する問題