2014-01-15 47 views
1

A JSpinner有一定的範圍,即使如此,這個jSpinner可以獲得超出範圍的值。我想要的是,如果實際值超出範圍,當我通過他的按鈕增加/減少jSpinner時,它會自動跳轉到最小值/最大值。如何在超出範圍時更改JSpinner的值?

如:

JSpinner s = new JSpinner(); 
s.setModel(new javax.swing.SpinnerNumberModel(50, 50, 250, 1)); 
//init=50, min=50, max=250, step size=1 


//internal modification of s 
s.setValue(0); 

現在在GUI中我看到了0。如果我增加小號,這應該從50

PS做到這一點:其實,如果該值超出響了,我不願意增加/減少(在界面上)。

+1

方法不是(從編輯器保持最後的值),而不是(從AbstractButtons不可能超載在SpinnerNumberModel的範圍內套),是爲更多鈔票來輸入字符non_numeric編者(不問,但通知) – mKorbel

+0

改變了我的想法。在設計方面,最好不要這樣做。 – anat0lius

回答

2

您可以在此改變的SpinnerNumberModel

public Object getNextValue() { 
    Number original=super.getNextValue(); 
    //do your transformations here 
    return originalTransformed; 
}