【发布时间】:2015-12-04 02:13:04
【问题描述】:
我有一个具有随机值的 JSpinner 控件。这些值可以是重复的。例如:
{ 1, 2, 9, 3, 4, 5, 9, 6, 7, 3, 2, 9 }
如果用户选择了值 9,那么我如何将它与 JSpinner 中的其他 9 区分开来,因为我的程序会根据所选 9 的索引进行一些计算。
我的解决办法是在JSpinner中获取选中项的索引,就知道这是哪一项了。有可能吗?
【问题讨论】:
-
@cesarluis 这个答案行不通。在此示例中,如果值为 9,则返回的索引将始终为 2,即使选择了索引 7 或索引 11。
-
要么使用 JList,要么您将获得
SpinerModel并继续调用getNextValue并将结果与源列表进行比较,直到您弄清楚自己在哪里。 -
@markbernard .. 你是对的。 cesarluis 的建议解决方案将始终返回前 9 的索引。我想过使用 getNextValue & getPreviousValue,但它会这么复杂。我希望有一个更简单的方法。
-
@Brad 抱歉,我错了,我没有给予足够的关注。现在我正在考虑向上和向下计数点击/更改听众。也许这种方法很有用。 stackoverflow.com/questions/5184639/…。问题是重复非常接近,因此您可以制作接近值缓冲区或控制您的组合。
-
我会使用 JComboBox,然后您只需使用 getSelectedIndex() 方法。
I thought about using getNextValue & getPreviousValue,- 如果用户不使用箭头键而是输入值怎么办?
标签: java swing duplicates jspinner