标签: gui-design

Java:MiGLayout:如何使用`hidemode`?

我开始使用MiGLayout进行GUI设计,我需要的一个功能是根据其他组件的状态显示/隐藏某些组件.

当我注意到MiGLayout支持的一个组件约束时,我自己会编码hidemode.

这是否符合我的想法?如果是这样,假设hidemode已经设置,我该如何触发隐藏/取消隐藏动作?(查看文档后,我能够找到如何设置hidemode,但之后不再使用它)


hidemode

设置组件的隐藏模式.如果已在"隐藏"模式中指定了隐藏模式,则可以通过组件约束覆盖此模式.隐藏模式指定了布局管理器应如何处理不可见的组件.模式是:

0 - 默认.意味着隐藏组件的处理方式与可见组件完全相同.
1 - 组件的大小(如果不可见)将设置为0,0.2
- 组件的大小(如果不可见)将设置为0,0并且间隙也将在其周围设置为0.
3 - 不可见组件根本不会参与布局,例如它不会占用网格单元.
示例:"hidemode 1"

java swing miglayout gui-design

13
推荐指数
1
解决办法
6442
查看次数

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

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

我想出了以下可能性.

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

2)当鼠标悬停在标题上以指示它是可排序的时,将鼠标光标更改为其他内容.

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

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

更新:

我认为澄清是有道理的.我的问题不是如何表明给定列当前已排序.这已经通过上/下排序三角模式实现.我想给用户一个线索,告诉他们在点击标题之前可以对哪些列进行排序以对其进行排序.

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

java swing jtable ui-design gui-design

2
推荐指数
1
解决办法
3188
查看次数

标签 统计

gui-design ×2

java ×2

swing ×2

jtable ×1

miglayout ×1

ui-design ×1