Swing アプリケーションを閉じようとして、フィールドで同じ値を変更すると、アプリケーションは変更を保存するかどうかを尋ねます。
私の最初の質問は、RAP アプリケーションが同じ質問をしないのはなぜですか?
2 番目のより重要な問題は、フィールド変更の検証を強制する方法と、これを操作する方法です。
例えば :
行とテーブルの下にいくつかのフィールドがあるテーブルがあります。行をクリックすると、フィールドに値が入力されます。この値を変更して、保存ボタンをクリックします。
行のクリック時に変更の検証を強制したいと思います。したがって、変更が適用され、行をクリックすると、アプリケーションはいくつかの変更が保存されていないことを警告するはずです。しかし、私は変化とそうでないものを操作できるはずです。たとえば、行のテーブルをクリックすると、フィールドが変更されない場合はデータが入力されますが、入力した値が同じフィールドである場合、これは変更されます。
方法を発見しました
checkSaveNeeded();
しかし、それは何もしません。(値を変更するかどうか)
すべての分野に数学があることがわかりました
@Override
public final void checkSaveNeeded() {
if (isInitialized()) {
try {
propertySupport.setPropertyBool(PROP_SAVE_NEEDED, m_touched || execIsSaveNeeded());
}
catch (ProcessingException e) {
SERVICES.getService(IExceptionHandlerService.class).handleException(e);
}
}
}
だから私は変更を操作する必要があります m_touched をスローしますか?
これは Scout でどのように処理されますか?
追加
フォームを閉じるときと同じように、汚れたフィールドをチェックしてメッセージダイアログをポップアップする機能と、フィールドを汚れているかどうかを設定する方法を探しています。
hereとhereを見ましたが、説明されているのは、ポップアップメッセージの値の保存方法と、このメッセージを起動する方法 (検証) だけです。