JGoodies绑定+约束:如何实现呢?

时间:2012-01-05 21:09:35

标签: java swing binding constraints jgoodies

我有一个棘手的问题,可能有一个简单的答案(我希望)。

我正在使用JGoodies Binding将滑块绑定到ValueModel;效果很好。

假设我有以下(人为的)情况,我想要购买巧克力和焦糖的模型,我有1.00美元的以下UI指标

  • C1 =“焦糖”滑块=焦糖糖果预算= 0至50美分
  • C2 =“巧克力”滑块=巧克力糖果预算= 0至50美分
  • C3 =“更改”滑块=余数剩余

我想强制约束C1 + C2 + C3 = 100,所以:

  • 如果我将C1向上/向下调整Δx,则C3调整-Δx
  • 如果我将C2向上/向下调整Δx,则C3调整-Δx
  • 如果我将C3向上/向下调整Δx,则C1调整y = -floor(Δx/ 2),C2调整-x-y

(所以调整总和在所有情况下都是0)

显而易见的方法是为每个ValueModel添加一个侦听器,以便在每种情况下执行给定的操作。但后来我不得不担心两件事:

  • 圆形度(C1中的变化触发C3中的变化然后改变C1)
  • 同步:我希望有一种方法可以访问整套(C1,C2,C3),这样三个数字的总和就加起来为100。

我该怎么做?

0 个答案:

没有答案