【发布时间】:2014-05-07 06:37:59
【问题描述】:
我的问题不言自明:如何使 JSpinner 的文本居中?方法 setHorizontalAligment 不存在。我也尝试了 setAlignmentX,仍然没有...任何帮助将不胜感激 c:
【问题讨论】:
标签: java swing jspinner center-align
我的问题不言自明:如何使 JSpinner 的文本居中?方法 setHorizontalAligment 不存在。我也尝试了 setAlignmentX,仍然没有...任何帮助将不胜感激 c:
【问题讨论】:
标签: java swing jspinner center-align
JSpinner 是其他组件的容器,其中一个是编辑器。
JSpinner spinner = ...;
JComponent editor = spinner.getEditor();
但这对我们没有帮助,因为setHorizontalAligment 不是JComponent 的方法。
然后您可以检查 editor 类型的组件...
if (editor instanceof JSpinner.DefaultEditor) {
如果是JSpinner.DefaultEditor,你可以投射它并使用setHorizontalAlignment...
JSpinner.DefaultEditor spinnerEditor = (JSpinner.DefaultEditor)editor;
spinnerEditor.getTextField().setHorizontalAlignment(JTextField.CENTER);
您可能还需要检查JTextField,但如果您使用默认编辑器模型,它通常会返回JSpinner.DefaultEditor
【讨论】:
JSpinner 组件使用父控件的属性创建其内部TextField首次渲染时的值,然后忽略对父属性值的更改。 2) 如果在 MATLAB 中使用 JComponents,调用例如就足够了。 jSpinner.getEditor.getTextField.setHorizontalAlignment(javax.swing.JTextField.LEFT); 得到想要的效果。
jSpinner.getEditor.getTextField.setHorizontalAlignment(javax.swing.JTextField.LEFT); ... 这基本上就是答案所说的