【问题标题】:Java - Dialog design brainstormingJava - 对话设计头脑风暴
【发布时间】:2014-01-28 06:56:20
【问题描述】:

我有一个带有对话框的 Java Swing 程序,我想以更好的方式设计它。程序中的一个窗口有一个按钮,用户需要单击该按钮以打开一个小对话框以选择几个客户名称,然后保存他的选择,然后我在主窗口中对该选择执行一些操作。

问题在于设计那个小对话框。用户可以在其中执行 2 个操作:

  1. 启用他想要使用的客户名称。
  2. 选择客户名称以对其进行编辑或从数据库中删除。

这是最初的对话框设计:

------------------>

我最初的想法是:

  1. 要使名称能够在主窗口中使用,用户必须勾选其选择框(即名称 3)。
  2. 要编辑或删除名称,用户必须突出显示名称本身的标签,然后单击“编辑”按钮。因此,突出显示名称不会勾选(启用)它(即名称 2)。

我的 2 个问题是:

  1. 用户是否熟悉这种行为(他可以对每个列表项执行两个操作)。
  2. 在 Java Swing 中,我应该使用 (JCheckBox + JLabel) 项的 JList 来完成此操作,还是使用 JTable?

【问题讨论】:

  • 第一个问题,你为什么不让一些不熟悉编程的朋友测试一下,得到一些意见。对于第二个问题,一个列表似乎很合适。表格中只有一列没有意义。
  • @peeskillet ... 问题 1:我已经这样做了,这对他们来说是一件令人困惑的事情 :) ... 问题 2:检查 JCheckBox 列表项是否启用/禁用或突出显示很复杂。当我突出显示一个项目时,它会自动启用它,这不是我想要的。
  • 也许使用CardLayoutCardLayout 中的每个 JPanel 都有一个不同的列表。每个列表将用于不同的目的。初始列表,您禁用它。它可以仅通过查看列表。当用户单击编辑按钮时,它会将面板切换到用户可以编辑的列表。让所有列表共享相同的模型。这对你有意义吗?
  • 我会担心混合责任。允许用户选择一系列用户或管理他们。在这一点上,上下文很重要。这并不是说您不能重复使用相同的 UI 并根据该上下文提供不同的操作
  • JList & JTable 方法被检查here

标签: java swing jlist


【解决方案1】:

在我看来,最简单的方法是将访问权放在每个名称的旁边。 为了更清楚,这是从 phpmyadmin 软件中拍摄的图片(见下文)。

你可以做一些类似图片的“动作”栏的事情! 它非常直观,非常适合您的需求(phpmyadmin 有助于管理数据库,并且与您正在做的事情很接近)

【讨论】:

  • stackoverflow.com/questions/19766/… ,这样做应该很有趣。
  • 谢谢,但您不认为这对用户不友好吗?
  • 我认为它非常直观,它用于许多现有软件,尤其是数据库管理系统(这与您正在做的非常接近)。您还可以使用按钮(笔形和齿轮形)并避免使用复选框
  • 做一些模型并听取朋友的建议是一个相当不错的主意(你给他们看,问他们对它的理解,而不向他们解释任何东西)。一种简单、免费且快速的制作模型的方法:moqups.com(以防你从未听说过!希望我能提供帮助
  • 另一个选项:pc6.com/up/2011-6/201163162941.jpg(它是 phpmyadmin)尝试执行图像中的“操作”列之类的操作;)
【解决方案2】:

也许你可以拆分列表?

+---------------------------------------------------+
|  Available users            Selected users        |
|  +------------------+       +------------------+  |
|  | Name 1           |       | Name 3           |  |
|  | Name 2           |  [>]  |                  |  |
|  |                  |  [<]  |                  |  |
|  |                  |       |                  |  |
|  +------------------+       +------------------+  |
|  [Add]           [Edit] [Delete]                  |
+---------------------------------------------------+
|  [Import][Export]                  [OK] [Cancel]  |
+---------------------------------------------------+
  • 按钮 > 用于在列表之间移动用户。
  • 多选左右,允许一次添加/删除多个用户。
  • 双击也应该移动一个条目。
  • 只允许在左侧右侧列表中选择(选择左侧会自动删除右侧选择)
    这将允许使用编辑/删除 kbd> 按钮。
    仅当仅选择一项时才启用按钮。
  • 添加按钮将用户添加到左侧列表中,之后自动选择它
  • OK 仅在至少使用一个用户时启用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-07
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    • 1970-01-01
    相关资源
    最近更新 更多