Java Swing - JSpinner的问题

3

我正在开发一款Java桌面应用程序,并利用Netbeans Swing GUI构建器设计GUI。

我想在我的应用程序中使用JSpinner。我已经将它拖放到了一个JPanel中。现在,我想设置它的两个属性:

  • 首先,它应该显示1到50范围内的数字。不能小于1或大于50。我该如何设置这个范围?

  • 其次,当我尝试通过spinner.getValue()获取它的值时,它会返回一个Object。由于我的spinner的数据类型是Integer,将Object向下转换为Integer是否更好,还是有其他方法可以获取数值?

5个回答

6
创建一个SpinnerNumberModel,这可以解决你所有的问题。
SpinnerNumberModel model =
new SpinnerNumberModel(int initialValue, int minValue, int maxValue, int step)

我建议阅读如何使用微调器以获取更多信息。


1
int myInt = (Integer)mySpinner.getValue();

Java为原始数据类型提供了自动装箱,因此只要您像Ham建议的那样使用SpinnerNumberModel,上述代码就可以将您的Spinner值作为整数获取。

1

这里开始,在NetBeans中完成此操作的方法:

  1. 创建JSpinner,就像您所做的那样。
  2. 右键单击它,然后选择“自定义代码”
  3. 将初始化设置为使用SpinnerNumberModel的微调框。

0

关于您的第一个问题(如何限制1到50的范围),Ham是正确的。对于第二个问题,是的,您可以简单地进行强制类型转换。大多数(如果不是全部)Swing组件返回其值的对象(唯一的例外是文本字段)。


0
请阅读Swing教程中关于“如何使用微调器”的部分。别忘了查看Swing基础知识的其余目录。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接