我试图设置多个JSpinners编辑一个日期值 - 即天一个旋转,一个几个月,等JSpinners共享的SpinnerModel
好像我应该能够分享单个SpinnerModel
几个JSpinners之间,但我遇到了这种方法的困难。
我试了一下基本上如下:
SpinnerDateModel model = new SpinnerDateModel();
JSpinner dayPeer = new JSpinner(model);
dayPeer.setEditor(new JSpinner.DateEditor(dayPeer, "dd"));
JSpinner monthPeer = new JSpinner(model);
monthPeer.setEditor(new JSpinner.DateEditor(monthPeer, "MM"));
做这件事时,我发现,改变一个值重置另一个。这个问题似乎源自JSpinner.DefaultEditor.propertyChange()
,它将编辑器文本解析为日期,然后用那个调用setValue()
。
所以,它看起来像我还需要实现自定义编辑器组件与定制propertyChange()
方法。我终于走上了正轨,还是错过了明显的东西?
+1,如果可以的话,礼貌地指出明显的。 – vaughandroid
+1个很好的例子。 – trashgod
+1,现在我可以这样做了。 :) – vaughandroid