2011-12-28 112 views
1

我想制作一个复杂的计算器,用户必须从jSpinner中选择一个介于1和12之间的值。你能告诉我如何将jSpinner的最小值设置为1,最大值设置为12?自定义jSpinner?

另外,如何检查jSpinner中选择哪个项目?

我使用NetBeans 7.0.1

+3

你可以在教程中找到这些和其他问题的答案:[JSpinner教程](http://docs.oracle.com/javase/tutorial/uiswing/components/spinner.html) – 2011-12-28 17:39:40

回答

2

与1的12

SpinnerModel model = new SpinnerNumberModel(6, //initial value 
           1, //minimum value 
           12, //maximum value 
           1); // increment by 
spinner.setModel(model); 

与最小值和最大值的微调来获取值使用:

int n = Integer.parseInt(spinner.getValue().toString()); 
+0

非常感谢。 – Bugster 2011-12-28 18:01:01

+0

为什么要将Integer值转换为String,然后用'Integer.parseInt'解析?这看起来非常浪费。为什么不把它转换为Integer并在其上调用'intValue()'? – 2011-12-28 18:06:48

+2

@HovercraftFullOfEels,该方法可能是因为getValue()返回Object类型。但在这种情况下,使用SpinnerNumberModel将其转换为Number,然后调用intValue()。 '((号码)spinner.getValue())。的intValue()'。或者我们可以引用模型实例并调用'model.getNumber()。intValue()' – 2011-12-28 18:14:19