【问题标题】:How can I validate parameters without creating a separate dialog?如何在不创建单独对话框的情况下验证参数?
【发布时间】:2008-11-20 08:44:14
【问题描述】:

我将制作一个应用程序(在 Swing 中),它使用树来可视化数据结构 (JTree)。一棵树将在窗口的左侧。用户将能够浏览树。每个树节点的参数将显示在窗口的右侧。 示例窗口将如下所示

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

当用户想要更改该数据时,就会出现问题。我应该什么时候验证它们? 简单的方法是打开一个新的模态对话框(JDialog)并让用户更改其中的数据。数据验证将在“确定”按钮侦听器方法中进行,但这有点笨拙。我想允许用户直接在数据面板中编辑这些数据。在那种情况下,我应该什么时候验证它们?

在 Swing 中是否有这种解决方案的模式?

或者有什么在线教程怎么做?

提前致谢。

【问题讨论】:

  • 数据面板中的“保存”按钮怎么样? ;)

标签: java validation swing


【解决方案1】:

对话框很糟糕。

立即丢弃任何完全无意义的输入。例如,在数字字段中输入一个字母(使用文档过滤器)。不要哔哔声。不需要任何特定的提交步骤。您可能保留了部分输入的数据。

【讨论】:

    【解决方案2】:

    我不完全确定你在追求什么,但是..

    您可以将此“确定”按钮(或“提交更改”或其他任何内容)添加到数据面板,当按下按钮时,您将验证数据并在更改有效时保存更改?

    (所以你在数据面板上有可编辑的组件)

    编辑:如果这不好,你能澄清一下吗:

    • 数据面板是否一次显示树中一项的数据?
    • 有哪些数据需要更改(和验证)

    无论如何,如果您想直接验证对编辑组件(例如 JTextField)所做的更改,您可以使用例如

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-06
      • 2023-01-05
      • 2013-08-07
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 2022-12-28
      相关资源
      最近更新 更多