下面列出了怎么用javax.swing.SpinnerListModel的API类实例代码及写法,或者点击链接到github查看源代码。
private JSpinner createListSpinner() {
String[] monthStrings = { "January", "February", "March", "April" };
SpinnerListModel spinnerListModel = new SpinnerListModel(monthStrings);
JSpinner listSpinner = new JSpinner(spinnerListModel);
listSpinner.setName("list-spinner");
return listSpinner;
}
/**
* Returns a minimal value. Returns null if model is not one of the
* following: {@code javax.swing.SpinnerDateModel},
* {@code javax.swing.SpinnerListModel},
* {@code javax.swing.SpinnerNumberModel}. Also, returns null if the
* model does not have a minimal value.
*
* @return a minimal value.
*/
public Object getMinimum() {
SpinnerModel model = getModel();
if (model instanceof SpinnerNumberModel) {
return ((SpinnerNumberModel) model).getMinimum();
} else if (model instanceof SpinnerDateModel) {
return ((SpinnerDateModel) model).getEnd();
} else if (model instanceof SpinnerListModel) {
List<?> list = ((SpinnerListModel) model).getList();
return list.get(list.size() - 1);
} else {
return null;
}
}
/**
* Returns a maximal value. Returns null if model is not one of the
* following: {@code javax.swing.SpinnerDateModel},
* {@code javax.swing.SpinnerListModel},
* {@code javax.swing.SpinnerNumberModel}. Also, returns null if the
* model does not have a maximal value.
*
* @return a maximal value.
*/
public Object getMaximum() {
SpinnerModel model = getModel();
if (model instanceof SpinnerNumberModel) {
return ((SpinnerNumberModel) model).getMaximum();
} else if (model instanceof SpinnerDateModel) {
return ((SpinnerDateModel) model).getEnd();
} else if (model instanceof SpinnerListModel) {
List<?> list = ((SpinnerListModel) model).getList();
return list.get(list.size() - 1);
} else {
return null;
}
}
/**
* Creates a new IntegerListSpinner object.
*/
public IntegerListSpinner ()
{
setModel(new SpinnerListModel());
// Right alignment
JSpinner.DefaultEditor editor;
editor = (JSpinner.DefaultEditor) getEditor();
editor.getTextField().setHorizontalAlignment(JTextField.RIGHT);
}
/**
* Assign the List model (for a list-based spinner)
*
* @param spinner the spinner to update
* @param values the model list values
*/
public static void setList (JSpinner spinner,
List<?> values)
{
SpinnerModel model = spinner.getModel();
if (model instanceof SpinnerListModel) {
((SpinnerListModel) model).setList(values);
} else {
throw new IllegalArgumentException("Spinner model is not a SpinnerListModel");
}
}
/**
* Creates a new {@code TemplateBoard} object.
*
* @param sheet related sheet
* @param table the table of distances
* @param templateService template bus
*/
public TemplateBoard (Sheet sheet,
DistanceTable table,
SelectionService templateService)
{
super(Board.TEMPLATE, sheet.getLocationService(), eventsRead, true, false, false, false);
this.sheet = sheet;
this.table = table;
this.templateService = templateService;
// Shape spinner
shapeSpinner = new JSpinner(
new SpinnerListModel(new ArrayList<>(ShapeSet.getTemplateNotes(sheet))));
shapeSpinner.addChangeListener(this);
shapeSpinner.setName("shapeSpinner");
shapeSpinner.setToolTipText("Selection of template shape");
// Anchor spinner (with only relevant anchor values for templates)
anchorSpinner = new JSpinner(
new SpinnerListModel(
Arrays.asList(Anchor.LEFT_STEM, Anchor.RIGHT_STEM, Anchor.MIDDLE_LEFT)));
anchorSpinner.addChangeListener(this);
anchorSpinner.setName("anchorSpinner");
anchorSpinner.setToolTipText("Selection of template anchor");
// Eval field
evalField.setEditable(false);
evalField.setHorizontalAlignment(JTextField.CENTER);
evalField.setToolTipText("Matching grade");
defineLayout();
}
/**
* Creates a new IntegerListSpinner object.
*/
public IntegerListSpinner ()
{
setModel(new SpinnerListModel());
// Right alignment
JSpinner.DefaultEditor editor;
editor = (JSpinner.DefaultEditor) getEditor();
editor.getTextField()
.setHorizontalAlignment(JTextField.RIGHT);
}
/**
* Assign the List model (for a list-based spinner)
*
* @param spinner the spinner to update
* @param values the model list values
*/
public static void setList (JSpinner spinner,
List<?> values)
{
SpinnerModel model = spinner.getModel();
if (model instanceof SpinnerListModel) {
((SpinnerListModel) model).setList(values);
} else {
throw new IllegalArgumentException(
"Spinner model is not a SpinnerListModel");
}
}
private ListScrollAdjuster(JSpinnerOperator oper) {
checkModel(oper, SpinnerListModel.class);
model = (SpinnerListModel) oper.getModel();
elements = model.getList();
}
private ListSpinnerOperator(JSpinnerOperator spinner) {
super((JSpinner) spinner.getSource());
copyEnvironment(spinner);
checkModel(this, SpinnerListModel.class);
}
/**
* Creates a new SymbolRipper object.
*/
public SymbolRipper ()
{
// Related frame
frame = new JFrame();
frame.setTitle("Symbol Ripper");
// Actors
drawing = new Drawing();
fontBase.setModel(
new SpinnerListModel(new Integer[]{0, 0xf000, 0x1d100}));
SpinnerUtil.setRightAlignment(fontBase);
SpinnerUtil.fixIntegerList(fontBase);
fontName.setModel(
new SpinnerListModel(
GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()));
// Initial values
///fontName.getSpinner().setValue("MusicalSymbols");
fontName.getSpinner()
.setValue("Symbola");
fontBase.setValue(0); //0);
fontSize.setValue(200);
pointCode.setModel(new SpinnerNumberModel(0x1d100, 0, 0x1d1ff, 1));
width.setValue(400);
height.setValue(500);
xOffset.setValue(200);
yOffset.setValue(300);
changeCode();
defineFont();
// Listeners
fontName.addChangeListener(paramListener);
fontBase.addChangeListener(paramListener);
fontSize.addChangeListener(paramListener);
pointCode.addChangeListener(paramListener);
hexaCode.addChangeListener(paramListener);
xOffset.addChangeListener(paramListener);
yOffset.addChangeListener(paramListener);
width.addChangeListener(paramListener);
height.addChangeListener(paramListener);
// Global layout
defineLayout();
// Frame behavior
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
MainGui.getInstance()
.show(frame);
// Actions
image = buildImage();
frame.repaint();
}
/**
* Costs spinner's model to <code>SpinnerListModel<code>.
*
* @return a spinner model.
*/
public SpinnerListModel getListModel() {
return (SpinnerListModel) getModel();
}