我想创建一个在板球比赛中循环的JSpinner
。
所以值应该是:
0.1, 0.2, 0.3, 0.4, 0.5, 0.6,
1.1, 1.2, 1.3, 1.4, 1.5, 1.6,
2.1, 2.2, 2.3, 2.4, 2.5, 2.6 etc.
SpinnerNumberModel
只允许我有一个0.1的常规步骤,这意味着我必须包括0.7,0.8,0.9,1.0等。
所以我想创建我自己的SpinnerModel
,其中列出了这个序列。我想我已经对上一个和下一个值进行了排序:
@Override
public Object getNextValue() {
if( (Double)getValue() == ((numOvers-1) + 0.6) ){
return null;
}else if((Double)getValue() % 1 == 0.6){
return (Double)getValue() + 0.5;
}else{
return (Double)getValue() + 0.1;
}
}
@Override
public Object getPreviousValue() {
if( (Double)getValue() == 0.1 ){
return null;
}else if((Double)getValue() % 1 == 0.1){
return (Double)getValue() - 0.5;
}else{
return (Double)getValue() - 0.1;
}
}
但是我无法弄清楚我是如何在第一时间实际设置值的。(我必须实现getValue()
和setValue()
以及不是吗?)