2016-11-29 170 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