Posted on 2008-12-07 23:07
沙漠中的魚 閱讀(522)
評論(0) 編輯 收藏 所屬分類:
Java
由于項目需要以界面的形式表示帶有小數點的數據,而且讓用戶可以輸入數據而不失精度。開始并沒有重視它,以為只要把需要填入JSpinner的數據格式化就可以。事實不是這樣,結果JSpinner能夠正確顯示數據,但是當調整數據時精度就發生了錯誤,怎么辦呢?到網上找找,找到的都是數據格式化的方案,對我沒有用,也找了一些書籍,由于JSpinner只是一個小小的組件,沒有很詳細的介紹,看樣子,想簡單地依靠別人的幫助文檔是不行了,需要看看JSpinner的源代碼了。。。。。
進入JSpinner的源代碼,仔細分析了他的組成結構,發現JSpinner顯示不同的內容,采用不同的模型,像SpinnerDateModel,SpinnerListModel,SpinnerNumberModel。于是我想只要對模型修改不就行嗎?最終我解決了下面是簡單的代碼
JSpinner spiner = new JSpinner();
int max ,min;//數據的最大最小小數點位數
DecimalFormat format = ((JSpinner.NumberEditor) spiner.getEditor()).getFormat();
format.setMaximumFractionDigits(max);
format.setMinimumFractionDigits(min);
從上面代碼看來非常簡單,但是他確花費了我幾個小時,希望能給有同樣問題的人們有所幫助。最后還要感謝項目組另外一位同事的幫助。
轉自:http://www.tkk7.com/hclown/articles/24383.html