Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有共享喷丝头模型的JSpinners_Java_Swing_Jspinner_Jcalendar - Fatal编程技术网

Java 具有共享喷丝头模型的JSpinners

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

我正在尝试设置多个JSpinner来编辑单个日期值,即一个微调器用于天,一个微调器用于月,等等

看起来我应该能够在多个JSpinner之间共享一个
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库。