Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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:

like image 426
user3342795 Avatar asked Dec 19 '22 16:12

user3342795


1 Answers

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

like image 98
MadProgrammer Avatar answered Dec 22 '22 05:12

MadProgrammer