Когда вы пытаетесь закрыть приложение Swing и меняете одно и то же значение в поле, приложение спросит вас, хотите ли вы сохранить изменения.
Мой первый вопрос: почему приложение RAP не задает тот же вопрос?
Второй и более важный вопрос заключается в том, как принудительно проверить изменение полей и как этим манипулировать.
Например :
У меня есть таблица со строками и некоторыми полями ниже таблицы. Если я нажимаю на строку, в поля вводится какое-то значение. Я могу изменить это значение и нажать кнопку «Сохранить».
Я хотел бы принудительно проверить изменение при щелчке строки. Поэтому, если изменения будут применены, и если я нажму на строку, приложение должно предупредить меня, что некоторые изменения не сохранены. Но я должен быть в состоянии манипулировать тем, что является изменением, а что нет. Например, если таблица по щелчку строки, заполните некоторые данные, если поля не изменяются, но если я ввел значение в те же поля, это изменение.
Я обнаружил метод
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?
ДОБАВИТЬ
Я ищу функцию, которая проверяет наличие грязных полей и выводит диалоговое окно сообщений, такое же, как при закрытии формы, и способ установить грязные поля или нет.
Я смотрю здесь и здесь, но все, что там описано, это то, как сохраняются значения для всплывающих сообщений, и то, как запускать эти сообщения (проверка).