Question

My question is self explanatory: how to center the text of a JSpinner? the methode setHorizontalAligment is not there. I also tried setAlignmentX, still nothing... Any help would be appreciated c:

Was it helpful?

Solution

JSpinner is a container of other components, one of which is a the editor.

JSpinner spinner = ...;
JComponent editor = spinner.getEditor();

But that doesn't help us, as setHorizontalAligment isn't a method of JComponent.

You can then inspect the editor type of component it is...

if (editor instanceof JSpinner.DefaultEditor) {

If it's a JSpinner.DefaultEditor, you can cast it and use setHorizontalAlignment...

JSpinner.DefaultEditor spinnerEditor = (JSpinner.DefaultEditor)editor;
spinnerEditor.getTextField().setHorizontalAlignment(JTextField.CENTER);

Potentionally you may also need to check for JTextField as well, but if you're using the default editor models, it would normally return JSpinner.DefaultEditor

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top