【问题标题】:Delaying the state change of JCheckbox延迟JCheckbox的状态变化
【发布时间】:2011-08-31 13:49:54
【问题描述】:

我想让 Swing JCheckBox 的行为如下:

  • 当用户单击它时,会向服务器发送一条消息,该消息与复选框的当前选中状态相反 (!checked)。该状态实际上不会立即改变。
  • 一段时间后,服务器响应复选框的新状态。

我认为这是一种非常常见的使用模式。这样做的正确方法是什么?

【问题讨论】:

  • 我认为不给用户点击反馈不是一种很常见的使用模式
  • @oliholz:我想你是对的,但反过来就是改变支票,然后如果服务器说“不能做”,然后再恢复它。一个好的中间立场是某种变化/加载指示器,但我不认为 JCheckBox 有它。
  • 我更喜欢启动一个自己的加载指示器并使用VetoableChangeSupport,它可以抛出一个PropertyVetoException
  • 绝对反对让用户等待单个小部件状态更改。会重新考虑交互:从在有效状态下禁用复选框开始,询问服务器是否允许其他状态并仅在允许时启用。
  • 能否在响应到达之前取消用户的点击?

标签: java swing jcheckbox


【解决方案1】:

看看 PropertyChangeSupport。 This article 可能会给你一些关于如何实现你想要的东西的提示。

【讨论】:

  • 嗯...不知道该类/文章与问题有何关系,请详细说明?
猜你喜欢
  • 1970-01-01
  • 2013-02-03
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 2021-11-06
  • 1970-01-01
  • 1970-01-01
  • 2011-11-17
相关资源
最近更新 更多