【发布时间】:2011-08-31 13:49:54
【问题描述】:
我想让 Swing JCheckBox 的行为如下:
- 当用户单击它时,会向服务器发送一条消息,该消息与复选框的当前选中状态相反 (
!checked)。该状态实际上不会立即改变。 - 一段时间后,服务器响应复选框的新状态。
我认为这是一种非常常见的使用模式。这样做的正确方法是什么?
【问题讨论】:
-
我认为不给用户点击反馈不是一种很常见的使用模式
-
@oliholz:我想你是对的,但反过来就是改变支票,然后如果服务器说“不能做”,然后再恢复它。一个好的中间立场是某种变化/加载指示器,但我不认为 JCheckBox 有它。
-
我更喜欢启动一个自己的加载指示器并使用VetoableChangeSupport,它可以抛出一个
PropertyVetoException -
绝对反对让用户等待单个小部件状态更改。会重新考虑交互:从在有效状态下禁用复选框开始,询问服务器是否允许其他状态并仅在允许时启用。
-
能否在响应到达之前取消用户的点击?