2011-11-09 51 views
2

我在netbeans中構建了一個小應用程序,我使用JSpinner組件來設置產品的數量。如何設置微調器只取正值?在Netbeans中有沒有選擇我可以設置還是一個方法爲JSpinner沒有負值的JSpinner

EXTRA:

spinner.setModel(new SpinnerNumberModel(0, 0, 20, 1));

回答

7

JSpinner,你必須實現SpinnerNumberModel

import javax.swing.*; 

public class SpinnerModelTest { 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 

      public void run() { 
       new SpinnerModelTest().makeUI(); 
      } 
     }); 
    } 

    public void makeUI() { 
     SpinnerModel modeltau = new SpinnerNumberModel(0.0002, 0.0001, 100.0000, 0.0001); 
     JSpinner spinner = new JSpinner(modeltau); 
     ((JSpinner.NumberEditor) spinner.getEditor()).getFormat().setMaximumFractionDigits(4); 
     JFrame frame = new JFrame(); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.add(spinner); 
     frame.pack(); 
     frame.setLocationRelativeTo(null); 
     frame.setVisible(true); 
    } 
} 
4
+0

這是一個很老的Java版本的鏈接。 – jzd

+0

@jzd - 是的,我一直在想那些很多舊的參考。直到我注意到它們出現的非常高(我記得甚至是第一個,現在無法再現它 - 搜索'JSpinner'1.4.2在列表中排在第二位)。 – kleopatra

+0

是的,一些較舊的API在Google的搜索結果中很高,但我認爲這只是因爲網頁上有這麼多鏈接,goolge會將這一點指向舊API。 – jzd

0

它與r0ast3d的圖書館參考:

((SpinnerNumberModel) mySpinner.getModel()).setMinimum(0);