2011-11-09 25 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);