4

我的问题不言自明:如何使 JSpinner 的文本居中?方法 setHorizo​​ntalAligment 不存在。我也尝试了setAlignmentX,仍然没有...任何帮助将不胜感激c:

4

1 回答 1

11

JSpinner是其他组件的容器,其中一个是编辑器。

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

但这对我们没有帮助,因为setHorizontalAligment它不是JComponent.

然后,您可以检查editor它的组件类型...

if (editor instanceof JSpinner.DefaultEditor) {

如果它是 a JSpinner.DefaultEditor,您可以将其转换并使用setHorizontalAlignment...

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

可能你还需要检查JTextField,但如果你使用默认的编辑器模型,它通常会返回JSpinner.DefaultEditor

于 2014-03-28T00:36:37.657 回答