JGoodies:将多个摆动组件绑定到单个模型字段

时间:2014-12-07 21:49:27

标签: java swing jgoodies

我正在尝试在我正在开发的摇摆gui上创建一个“持续时间”字段。为此,我有3个JSpinner组件。天,小时和分钟。

JSpinner durationDaySpinner;
JSpinner durationHourSpinner;
JSpinner durationMinuteSpinner;

如果可能,我想将这3个组件“绑定”回单个域字段:

long durationInMs;

durationInMs = days*24*60*60*1000 + hours*60*60*1000 + minutes*60*1000;

有人可以建议我如何使用JGoodies绑定吗?我只将单个组件绑定到模型/域字段。

干杯

1 个答案:

答案 0 :(得分:1)

您必须为每个微调器添加单独的ValueModel,将每个ValueModel绑定到相应的微调器,然后向所有三个{{1}添加一个PropertyChangeListener }。当三个微调器绑定ValueModels中的任何一个所持有的值发生变化时,抓取每个值,计算你在问题中完成的ms,并在bean属性上设置它(或{{1}你要设置。

基本上,您要在要绑定的域模型和UI模型之间添加另一个迷你模型,以便将多个UI绑定组件映射到单个域属性。

另外,为了便于阅读,我建议使用ValueModels而不是大量的乘法。

例如,

ValueModel