Java - Dialog设计集思广益

时间:2014-01-28 06:56:20

标签: java swing jlist

我有一个Java Swing程序,其中包含一个我希望以更好的方式设计的对话框。程序中的一个窗口有一个按钮,用户需要点击该按钮打开一个小对话框,选择几个客户名称然后保存他的选择,然后我在主窗口中对该选择做一些操作。

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

  1. 启用他想要使用的客户名称。
  2. 选择要编辑的客户名称或将其从数据库中删除。
  3. 以下是初始对话框设计:

    ------------------------------> enter image description here

    我最初的想法是:

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

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

2 个答案:

答案 0 :(得分:0)

在我看来,最简单的方法是在每个名称的旁边访问您想要执行的操作。 为了更清楚,这是从phpmyadmin软件(见下文)拍摄的照片。

您可以执行类似图片“操作”列的操作! 它非常直观,非常适合您的需求(phpmyadmin帮助管理数据库,并且它与您正在做的很接近)

phpMyAdmin (http://www.pc6.com/up/2011-6/201163162941.jpg)

答案 1 :(得分:0)

也许你可以拆分列表?

+---------------------------------------------------+
|  Available users            Selected users        |
|  +------------------+       +------------------+  |
|  | Name 1           |       | Name 3           |  |
|  | Name 2           |  [>]  |                  |  |
|  |                  |  [<]  |                  |  |
|  |                  |       |                  |  |
|  +------------------+       +------------------+  |
|  [Add]           [Edit] [Delete]                  |
+---------------------------------------------------+
|  [Import][Export]                  [OK] [Cancel]  |
+---------------------------------------------------+
  • 按钮&gt; &lt; 用于在列表之间移动用户。
  • 左右多选,允许一次添加/删除多个用户。
  • 双击也应移动一个条目。
  • 仅允许在左侧右侧列表中进行选择(选择左侧会自动删除选择权)
    这将允许使用编辑 / 删除< / kbd>两者的按钮。
    仅在选择了一个项目时启用按钮。
  • 添加按钮会在左侧列表中添加用户并在之后自动选择
  • 确定仅在至少使用一个用户时启用。