Java 具有共享喷丝头模型的JSpinners
我正在尝试设置多个JSpinner来编辑单个日期值,即一个微调器用于天,一个微调器用于月,等等 看起来我应该能够在多个JSpinner之间共享一个Java 具有共享喷丝头模型的JSpinners,java,swing,jspinner,jcalendar,Java,Swing,Jspinner,Jcalendar,我正在尝试设置多个JSpinner来编辑单个日期值,即一个微调器用于天,一个微调器用于月,等等 看起来我应该能够在多个JSpinner之间共享一个SpinnerModel,但是我在使用这种方法时遇到了困难 我的尝试基本上如下: SpinnerDateModel model = new SpinnerDateModel(); JSpinner dayPeer = new JSpinner(model); dayPeer.setEditor(new JSpinner.DateEditor(dayPe
SpinnerModel
,但是我在使用这种方法时遇到了困难
我的尝试基本上如下:
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()
方法实现一个自定义编辑器组件。我是最终走上了正确的道路,还是错过了一些显而易见的事情?我推荐这些相关的话题。它有极好的日期微调器支持
JSpinnerDateEditor jsde = new JSpinnerDateEditor();
JDateChooser spinner = new JDateChooser(jsde);
this.add(spinner);
附录:作为替代,不要使用单独的旋转子,考虑使用<代码>增量> />代码> <代码>减量< /代码>动作绑定到标准。
也许在Swing教程中找到的<代码> CyculnSpCnListListMult/Eng>会给你一些想法。欣赏指针,但我的雇主宁愿避免使用外部库,即使是GLPL库。