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:
Asked
Active
Viewed 5,269 times
1 Answers
15
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

MadProgrammer
- 343,457
- 22
- 230
- 366
-
sadly, the JSpinner doesn't seem to have an instance of JTextField... But thanks for the quick answer! – user3342795 Mar 28 '14 at 00:43
-
Thanks you very much! This worked just fine! I hated the text to be on the right somehow. Thanks again! :) – user3342795 Mar 28 '14 at 00:52
-
1@user3342795 Yeah, love spinners :P – MadProgrammer Mar 28 '14 at 00:52
-
I'd like to add a couple of things to this answer: 1) The reason for this behavior is that [apparently](http://undocumentedmatlab.com/blog/using-spinners-in-matlab-gui#comment-367963) the `JSpinner` component creates its internal `TextField` using the parent control’s property values when it is first rendered, and then ignores changes to the parent property values. 2) If working with JComponents in MATLAB, it is sufficient to call e.g. `jSpinner.getEditor.getTextField.setHorizontalAlignment(javax.swing.JTextField.LEFT);` to get the desired effect. – Dev-iL May 09 '16 at 09:44
-
`jSpinner.getEditor.getTextField.setHorizontalAlignment(javax.swing.JTextField.LEFT);` ... which is basically what the answer says – MadProgrammer May 09 '16 at 10:10