user3342795
user3342795

Reputation: 105

how to center text of a JSpinner

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:

Upvotes: 6

Views: 5594

Answers (1)

MadProgrammer
MadProgrammer

Reputation: 347314

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

Upvotes: 15

Related Questions