Как я могу проверить параметры без создания отдельного диалога? - PullRequest
1 голос
/ 20 ноября 2008

Я собираюсь сделать приложение (на Swing), которое использует дерево для визуализации структуры данных (JTree). Дерево будет на левой стороне окна. Пользователь сможет просматривать дерево. Параметры каждого узла дерева будут отображаться в правой части окна. Примеры окон будут выглядеть так:

===========================
| tree panel | data panel |
|            |            |
|            |            |
|            |            |
---------------------------

Проблема возникает, когда пользователь хочет изменить эти данные. когда я должен проверить их? Простой подход - открыть новый модальный диалог (JDialog) и позволить пользователю изменять эти данные в нем. Проверка данных будет выполняться методом прослушивания кнопки «ОК», но это немного неуклюже. Я хотел бы позволить пользователю редактировать эти данные прямо на панели данных. В таком случае, когда я должен их проверить?

Существует ли закономерность такого решения в Swing?

Или любой онлайн-учебник, как это сделать?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 20 ноября 2008

Диалоги плохие.

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

0 голосов
/ 20 ноября 2008

Я не совсем уверен, что вы ищете, но ..

Вы можете добавить эту кнопку «ОК» (или «зафиксировать изменения» или что-то еще) на панель данных, и когда кнопка будет нажата, вы подтвердите данные и сохраните изменения, если изменения действительны?

(чтобы у вас были редактируемые компоненты на панели данных)

Редактировать: если это не хорошо, не могли бы вы немного уточнить:

  • Показывает ли панель данных данные для одного элемента дерева одновременно?
  • Какие данные можно изменить (и проверить)

В любом случае, если вы хотите проверить правильность изменений, внесенных в компонент редактирования (например, JTextField), вы можете использовать, например,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...