((JSpinner.DefaultEditor) button.getEditor()).getTextField().setEnabled(false);
oder
((JSpinner.DefaultEditor) button.getEditor()).getTextField().setEditable(false)
Die Lösung von SirWayne hilft leider nicht.
Man kann es immer noch bearbeiten.
Das andere wer ich mir mal anschauen.
class UneditableEditor extends JTextField implements ChangeListener
{
JSpinner spinner;
public UneditableEditor(JSpinner spinner)
{
super();
this.spinner=spinner;
Color bg=this.getBackground();
this.setEditable(false);
this.setBackground(bg);
spinner.addChangeListener(this);
}
@Override
public void stateChanged(ChangeEvent e)
{
this.setText(spinner.getValue().toString());
}
}