java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.SpinnerUI
javax.swing.plaf.basic.BasicSpinnerUI
- 直接已知的子类:
-
SynthSpinnerUI
默认的Spinner UI代理。
- 自:
- 1.4
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected JComponent该方法由installUI调用,以获取JSpinner的编辑器组件。protected LayoutManager创建一个LayoutManager,用于管理JSpinner的editor、nextButton和previousButton子组件。protected Component创建一个增量按钮,即用spinner.getNextValue返回的对象替换spinner值的组件。protected Component创建一个减量按钮,即用spinner.getPreviousValue返回的对象替换spinner值的组件。protected PropertyChangeListener创建一个PropertyChangeListener,可以添加到JSpinner本身。static ComponentUI返回BasicSpinnerUI的新实例。intgetBaseline(JComponent c, int width, int height) 返回基线。返回一个枚举,指示组件的基线随着大小变化而变化的方式。protected void根据默认表中对应的"Spinner.*"属性,初始化JSpinner的border、foreground和background属性。protected void将键盘操作安装到JSpinner上。protected void使用一个共享对象初始化PropertyChangeListener,该对象将有趣的PropertyChangeEvents委托给受保护的方法。protected void在下一个按钮上安装必要的监听器,c,以响应用户手势更新JSpinner。protected void在上一个按钮上安装必要的监听器,c,以响应用户手势更新JSpinner。void调用installDefaults,installListeners,然后添加createNextButton、createPreviousButton和createEditor返回的组件。protected voidreplaceEditor(JComponent oldEditor, JComponent newEditor) 当JSpinner的编辑器属性更改时,由PropertyChangeListener调用。protected void将JSpinner的布局管理器设置为null。protected void移除由installListeners添加的PropertyChangeListener。void调用uninstallDefaults,uninstallListeners,然后移除所有spinner的子组件。Methods declared in class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, getPreferredSize, paint, update
-
Field Details
-
spinner
我们是UI代理的Spinner。由installUI方法初始化,并由uninstallUI重置为null。- 参见:
-
-
Constructor Details
-
BasicSpinnerUI
public BasicSpinnerUI()构造一个BasicSpinnerUI。
-
-
Method Details
-
createUI
返回BasicSpinnerUI的新实例。每个JSpinner分配一个SpinnerListUI代理。- 参数:
-
c- JSpinner(未使用) - 返回:
- 一个新的BasicSpinnerUI对象
- 参见:
-
installUI
调用installDefaults,installListeners,然后添加createNextButton、createPreviousButton和createEditor返回的组件。- 覆盖:
-
installUI在类ComponentUI - 参数:
-
c- JSpinner - 参见:
-
uninstallUI
调用uninstallDefaults,uninstallListeners,然后移除所有spinner的子组件。- 覆盖:
-
uninstallUI在类ComponentUI - 参数:
-
c- JSpinner(未使用) - 参见:
-
installListeners
protected void installListeners()使用一个共享对象初始化PropertyChangeListener,该对象将有趣的PropertyChangeEvents委托给受保护的方法。该方法由
installUI调用。- 参见:
-
uninstallListeners
protected void uninstallListeners()移除由installListeners添加的PropertyChangeListener。该方法由
uninstallUI调用。- 参见:
-
installDefaults
protected void installDefaults()根据默认表中对应的"Spinner.*"属性,初始化JSpinner的border、foreground和background属性。将JSpinners的布局设置为createLayout返回的值。该方法由installUI调用。- 参见:
-
uninstallDefaults
protected void uninstallDefaults()将JSpinner的布局管理器设置为null。该方法由uninstallUI调用。- 参见:
-
installNextButtonListeners
在下一个按钮上安装必要的监听器,c,以响应用户手势更新JSpinner。- 参数:
-
c- 要在其上安装监听器的组件 - 抛出:
-
NullPointerException- 如果c为null。 - 自:
- 1.5
- 参见:
-
installPreviousButtonListeners
在上一个按钮上安装必要的监听器,c,以响应用户手势更新JSpinner。- 参数:
-
c- 要在其上安装监听器的组件。 - 抛出:
-
NullPointerException- 如果c为null。 - 自:
- 1.5
- 参见:
-
createLayout
创建一个LayoutManager,用于管理JSpinner的editor、nextButton和previousButton子组件。这三个子组件必须添加一个标识其角色的约束:"Editor"、"Next"和"Previous"。默认的布局管理器可以处理这些子组件的任何缺失。- 返回:
- 用于编辑器、下一个按钮和上一个按钮的LayoutManager。
- 参见:
-
createPropertyChangeListener
创建一个PropertyChangeListener,可以添加到JSpinner本身。通常,此监听器在"editor"属性更改时调用replaceEditor,因为添加编辑器到JSpinner(并删除旧编辑器)是SpinnerUI的责任。该方法由installListeners调用。- 返回:
- 用于JSpinner本身的PropertyChangeListener
- 参见:
-
createPreviousButton
创建一个减量按钮,即用spinner.getPreviousValue返回的对象替换spinner值的组件。默认情况下,previousButton是一个JButton。如果不需要减量按钮,此方法应返回null。- 返回:
-
一个组件,将用序列中的先前值替换微调器的值,或
null - 参见:
-
createNextButton
创建一个增量按钮,即用spinner.getNextValue返回的对象替换微调器值的组件。默认情况下,nextButton是一个JButton。如果不需要增量按钮,则此方法应返回null。- 返回:
-
一个组件,将用序列中的下一个值替换微调器的值,或
null - 参见:
-
createEditor
installUI调用此方法以获取JSpinner的编辑器组件。默认情况下,它只返回JSpinner.getEditor()。子类可以重写createEditor以返回一个包含微调器编辑器或null的组件,如果它们将处理在installUI重写中将编辑器添加到JSpinner中的情况。通常,此方法将被重写以使用自定义边框包装编辑器,因为不能假定可以直接设置编辑器的边框。
当使用
JSpinner.setEditor更改微调器编辑器时,将调用replaceEditor方法。如果您已重写此方法,则可能还需要重写replaceEditor。- 返回:
- 默认情况下为JSpinner的编辑器JComponent,即spinner.getEditor()
- 参见:
-
replaceEditor
当JSpinner编辑器属性更改时,由PropertyChangeListener调用。此方法的责任是移除旧编辑器并添加新编辑器。默认情况下,此操作只是:spinner.remove(oldEditor); spinner.add(newEditor, "Editor");
replaceEditor的实现应与createEditor方法协调。- 参数:
-
oldEditor- 旧编辑器的实例 -
newEditor- 新编辑器的实例 - 参见:
-
installKeyboardActions
protected void installKeyboardActions()将键盘操作安装到JSpinner上。- 自1.5起:
-
getBaseline
返回基线。- 覆盖:
-
getBaseline在类中ComponentUI - 参数:
-
c- 请求基线的JComponent -
width- 获取基线的宽度 -
height- 获取基线的高度 - 返回:
- 基线或值< 0,表示没有合理的基线
- 抛出:
-
NullPointerException- 如果c为null -
IllegalArgumentException- 如果宽度或高度< 0 - 自1.6起:
- 参见:
-
getBaselineResizeBehavior
返回一个枚举,指示组件的基线随大小更改而变化的方式。- 覆盖:
-
getBaselineResizeBehavior在类中ComponentUI - 参数:
-
c- 返回基线调整行为的JComponent - 返回:
- 一个枚举,指示基线随组件大小更改而变化的方式
- 抛出:
-
NullPointerException- 如果c为null - 自1.6起:
- 参见:
-