2011-11-09 12 views
2

私はnetbeansで小さなアプリケーションを構築しています.JSpinnerコンポーネントを使って製品の量を設定します。どのように正の値を取るようにスピナーを設定できますか?設定できますか?JSpinner負の値を持たないJSpinner

EXTRA:あなたが持っているJSpinnerため

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

答えて

7

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

を実装するために、あなたは最小を設定しようとしましたか?

http://docs.oracle.com/javase/7/docs/api/javax/swing/SpinnerNumberModel.html#setMinimum(java.lang.Comparable)

+0

これは、Javaの本当に古いバージョンへのリンクです。 – jzd

+0

@jzd - ええ、私はそれらの多くの古い参照についても疑問に思っていました。彼らが非常に高くなることに気付くまで(私は最初に覚えていますが、今すぐ再現できません - JSpinner 1.4.2を検索するのはリストの2番目です)、Google検索で。 – kleopatra

+0

はい古いAPIの中にはGoogleの結果が高いものもありますが、それはgoolgeが古いAPIを指し示すように多くのリンクがWebページに存在するからです。 – jzd

0

それはr0ast3dのライブラリを参照して動作します:

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