如何表明表中的列是可排序的(UI设计问题)?

时间:2010-03-03 22:07:45

标签: java swing jtable ui-design gui-design

在我正在处理的应用程序中,有表格数据(对于记录,它是使用JTables的Java Swing应用程序)。在某些情况下,可以通过单击列标题对数据进行排序。 我想知道的是,如果给定列是否可排序,向用户指示的好方法是什么?

我想出了以下几种可能性。

1)在每个可排序列中放置一个图标,表示它是可排序的。我个人不喜欢这个选项。

2)当鼠标悬停在标题上时,将鼠标光标改为别的东西,以表明它是可排序的。

3)将鼠标悬停在列上并说它可以排序时,在工具提示文本中添加注释。

有没有人有任何其他建议?

更新

我认为澄清是有道理的。 我的问题是如何表明给定列当前已排序。这已经通过上/下排序三角模式实现。 我想让用户知道哪些列可以在点击标题之前对其进行排序。

更新2: 我想我应该解释为什么我没有完全卖掉选项#1。在我看来,如果要设置一个图标来指示哪些列 可排序,那么这将增加视觉混乱。在这种情况下,有时UI会在“鼠标悬停”上发生变化。例证:Windows Vista和7允许用户在列上添加过滤器,但只有用鼠标悬停在标题上时才会显示此指示符。

7 个答案:

答案 0 :(得分:5)

当您处理用户界面时,您必须考虑用户期望的内容。我几乎总是建议保持用户期望的范例。因此,我建议选择1)

的版本

RememberME's帖子描述了它是如何工作的 - 你仍然可以在列标题中使用箭头 - 一个选项是在标题中放置一个箭头图标,但如果它被排序则更改该图标的状态(例如如果数据集当前按此列排序,则突出显示向上或向下按钮。)

修改 Windows资源管理器示例可能不是此处的最佳示例。我的原文引用如下:

  

在Windows资源管理器中,几乎所有   form datagrids有一个小图标,   通常是向上或向下箭头,那   表示列是可排序的。   尝试使用Windows资源管理器   看看它的工作方式。

答案 1 :(得分:2)

在许多应用程序中,三角形表示可排序,因此我认为这是向用户传达信息的最佳方式b / c这是他们最熟悉的标准。

我认为来自DataTables.Net的jquery插件就是一个很好的例子。你可以看看你是否喜欢它的外观/功能并模拟它。向上和向下都表示可排序。只有一个或另一个表明它正在排序。如果他们的列不可排序,则根本没有图标。他们的示例还将指针从箭头更改为手形指针,以指示您可以单击标题。

http://i48.tinypic.com/vp9k3k.jpg

答案 2 :(得分:0)

我认为标准方式基本上是选项1:要么显示最初按向上或向下指向的小箭头(升序/降序)排序的数据,要么在单击列标题后立即显示图标。< / p>

答案 3 :(得分:0)

我认为在列标题下方有一个小箭头或三角形图标,您可以点击按该列排序是最佳选择,因为它易于直观地看到并且非常直观易用。

答案 4 :(得分:0)

小三角形向上/向下排序图标几乎是桌面应用程序和网页中可排序表格视图的标准。您可能不喜欢它们,但您的用户可能已经习惯了(即使他们没有意识到)。

当然,您应该将鼠标光标更改为可点击元素。

答案 5 :(得分:0)

对于任何可点击的内容,你应该总是做2次。

数字1也不错,通常是指向上或向下的三角形,具体取决于排序顺序。

为了表示可点击性,您还可以在可排序列上使用带蓝色下划线的文本,在非便携式列表上使用纯黑色灰色文本 - http链接外观对于几乎所有用户来说都是众所周知的设备,但它不会传达可排序性, SE。相反,用户可能期望点击它将其带到其他屏幕或列表,如超链接通常所做的那样。

答案 6 :(得分:-1)

我可能有点密集,但可排序的列是什么类型的?

几乎所有东西都可以分类;即使没有严格的“大于”关系,至少会有一个“等于”,然后排序只是意味着“把同等的东西放在一起”。

的字符串?尝试按字母顺序排序。图片?按红色,绿色,蓝色的百分比排序(或者如果你想获得花哨,比较颜色直方图)。地点?使用到罗马或任何其他任意位置的距离。

对某些列进行排序可能比对其他列进行排序更有用;但我很难找到一个列类型,因为避免排序很重要。