2010-05-25 76 views
14

我使用JSpinner创建时间选择器。 JSpinner中的文本是可编辑的。但我想将JSpinner设置为不可编辑,因为有机会给出无效值。谁能帮我?如何将JSpinner设置为不可编辑?

+0

你能在jfpoilpret的答案评论,如果它帮助或不?如果确实如此,接受它是正确的吗? – fish 2010-05-27 06:43:45

回答

24

尝试以下操作:

JSpinner spinner = ...; 
((DefaultEditor) spinner.getEditor()).getTextField().setEditable(false); 

这应该工作,只要你不通过调用spinner.setEditor(...)改变自己的微调编辑器。

告诉我们,如果这有帮助。

+0

我修改了你的代码,它工作正常。 JSpinner ampm =新的JSpinner(); JFormattedTextField ampmspin =((JSpinner.DefaultEditor)ampm.getEditor())。getTextField(); ampmspin.setEditable(false); ampmspin.setEditable(false); 非常感谢您......... – Arivu2020 2010-06-16 12:18:24

+0

我必须在设置微调器的列表模型后添加此项。然后它工作。 – 2012-09-15 14:23:23

+0

当我尝试这个时,微调仍然可以通过点击箭头进行编辑! – yelliver 2017-02-04 03:25:12

9

短一点:

JSpinner spinner = new JSpinner(); 
spinner.setEditor(new JSpinner.DefaultEditor(spinner)); 
相关问题