0
我想改變JSpinner的SpinnerNumberModel的在一個單獨的類別(例如MyNumberSpinner)的Java Swing定製SpinnerNumberModel的
我使用這些值:10(在startValue),1(最小),500(最大)和10(腳步)。
現在我希望它去到最低(1)當IM < 11,按向下箭頭,但是當我按向上箭頭從最小值(1)我想它去10
你可以幫我嗎?
我想改變JSpinner的SpinnerNumberModel的在一個單獨的類別(例如MyNumberSpinner)的Java Swing定製SpinnerNumberModel的
我使用這些值:10(在startValue),1(最小),500(最大)和10(腳步)。
現在我希望它去到最低(1)當IM < 11,按向下箭頭,但是當我按向上箭頭從最小值(1)我想它去10
你可以幫我嗎?
您可能希望通過閱讀API瞭解我剛學過的東西:SpinnerListModel。這是一個模型,它將接受任何List<T>
對象,包括您的目的,List<Integer>
。
例如:
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.JSpinner;
import javax.swing.SpinnerListModel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class SpinnerNumberFun2 {
private static final int MAX_VALUE = 500;
private static final int STEP = 10;
public static void main(String[] args) {
List<Integer> dataList = new ArrayList<Integer>();
dataList.add(1);
int index = 0;
while (index < MAX_VALUE) {
index += STEP;
dataList.add(index);
}
SpinnerListModel myListModel = new SpinnerListModel(dataList);
final JSpinner spinner = new JSpinner(myListModel);
spinner.setValue(dataList.get(1));
spinner.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent cEvt) {
int value = ((Integer)spinner.getValue()).intValue();
System.out.println("Value is: " + value);
}
});
JOptionPane.showMessageDialog(null, spinner);
}
}
請拼出一個更清晰一點你想該怎麼做,你的代碼已經嘗試過什麼到目前爲止,等等......你創建了自己的SpinnerModel一個擴展AbstractSpinnerModel? –
到目前爲止您嘗試過什麼?你有沒有讀過這些模型類的JavaDocs? – MadProgrammer