2016-11-29 171 views
-1

我是Swing的新手,我试图禁用jspinner,因此它将不可编辑。在java swing中禁用jspinner

我添加了一个微调器,并在属性中更改模型类型。这样它可以显示日期&时间。已将变量名称更改为“Datespin”。

我正在尝试使用下面的代码,但该功能帮助。

enter image description here

我问:能否请你帮我在做这个领域不可编辑?它应该在执行时显示日期&,但它不应该由用户编辑。

private void hDateSpinnerPropertyChange(java.beans.PropertyChangeEvent evt) {            
     JSpinner spinner= new JSpinner(); 
     JFormattedTextField spin=((JSpinner.DefaultEditor)spinner.getEditor()).getTextField(); 
     spin.setEditable(false); 

我在哪里出错了?

+0

为了更好地帮助更快,发布[MCVE]或[短,自成一格,正确的例子](http://www.sscce.org/)。 –

+0

@AndrewThompson道歉,我更新了截图并更正了我的问题。请确实看看 – sady

+0

[如何将JSpinner设置为不可编辑?](http://stackoverflow.com/questions/2902101/how-to-set-jspinner-as-non-editable) – AxelH

回答

2

您正在重新创建此事件的微调器,但您已经有一个可见的实例Datespin。因此,你需要用它代替不与你的GUI

任何一个环节一个新实例的所以这应该是这样的:

private void hDateSpinnerPropertyChange(java.beans.PropertyChangeEvent evt) {            
     JFormattedTextField spin=((JSpinner.DefaultEditor)Datespin.getEditor()).getTextField(); 
     spin.setEditable(false); 
} 
+0

非常感谢你......我没想到我能成为这样一个傻瓜.. – sady

+0

@sady不客气,这事发生了。下次尝试调试你的代码,你会注意到那些JSpinner是不同的;) – AxelH