Лучший способ реализовать отказ от значения изменяется пользователем в Swing?

У меня есть a JCheckBox это не должно быть проверено пользователем, когда определенное другое поле пусто.

Таким образом, теперь я хочу иметь ошибочное всплывающее окно и затем сбросить флажок (я рассмотрел отключение флажка, но соединение с другим полем неочевидно, и текст всплывающей подсказки IMO, не достаточно видимый).

Что корректный путь состоит в том, чтобы сделать это в Swing? Через a PropertyVetoException? Где я бросаю его и где я ловлю его? Мое первое (вероятно, ужасный) идея должно было бы добавить a ChangeListener то, что самостоятельно показывает всплывающее окно и сбрасывает значение.

Править: Вопрос о Nikki (снимок экрана ниже), приложение, которое я разрабатываю, какие геотеги отображают и экспортируют их в формат Google Earth KMZ. Флажок используется для выбирания изображений для включения в экспорт. Но это требует, чтобы изображения были gotagged сначала (который в свою очередь требует или метки времени или ручного присвоения). Я не думаю, что это требование может делаться ясным посредством расположения UI.

alt text
(источник: brazzy.de)

5
задан Glorfindel 23 July 2019 в 13:09
поделиться

3 ответа

Поле должно быть просто разрешено для отключения флажка. Если связывание не интуитивно понятно, то, возможно, придется пересмотреть макет графического интерфейса.


РЕДАКТИРОВАТЬ: Я запустил его с вашей страницы, и я считаю, что проблема здесь в том, что у вас на самом деле есть третий и четвертый шаг в дополнение к выбору папки, выбору изображений. Третий шаг - проверка изображения, а четвертый - выбор изображений для экспорта. Я думаю, ваша проблема в том, что это четко не передано в текущем макете, и это отражено в вашем вопросе.

Я бы посоветовал вам создать отдельный столбец, содержащий флажок для каждого изображения, и чтобы этот флажок был отключен до тех пор, пока изображение не пройдет проверку (шаг 3). Возможно, с пояснительным текстом в колонке о том, почему изображение еще не прошло.

0
ответ дан 15 December 2019 в 06:20
поделиться

Я бы просто снял флажок и добавил сообщение, объясняющее, почему эта опция недоступна. Хороший способ показать сообщение - отобразить небольшой восклицательный знак рядом с флажком и поместить сообщение во всплывающую подсказку.

Всплывающее окно исключения часто кажется неправильным, потому что пользователи не читают сообщения об ошибках . Для большинства пользователей всплывающее сообщение об ошибке означает, что приложение сделало что-то не так, в вашем случае это нормальное поведение.

Отредактируйте , если вы настаиваете на включении флажка, другой способ показать пользователю, что некоторая информация отсутствует, - это прошить отсутствующие данные. Например. если широта и долгота отсутствуют и пользователь нажимает кнопку экспорта, установите красный фон на эти поля всего на секунду. Это ясно покажет пользователю, чего не хватает.

Разве вы не хотите навести указатель мыши на красный кружок на этом экране, чтобы понять, что происходит?

validation http: //www.vogella.de / article / EclipseDataBinding / images / validation10.gif

2
ответ дан 15 December 2019 в 06:20
поделиться

Я не думаю, что экспорт JCheckBox нужно вообще отключать. Вместо этого сама кнопка экспорта JButton должна проверять текущий список экспорта и отображать любые аномальные записи таким образом, чтобы можно было перейти к выбранной фотографии. Если все введены правильно, экспорт будет продолжен как обычно.

Приложение: Думаю, вы правильно сделали, чтобы интерфейс оставался как можно более немодальным. Моя модель для этого - несохраненные файлы при выходе из редактора или незафиксированные изменения при закрытии проекта в IDE.

Если это строка состояния в нижней части окна, вы можете указать количество фотографий, выбранных в данный момент для экспорта, добавив счетчик, если еще требуется геокодирование.

1
ответ дан 15 December 2019 в 06:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: