java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.SpinnerUI
javax.swing.plaf.basic.BasicSpinnerUI
- 直接已知的子类:
-
SynthSpinnerUI
默认的Spinner UI代理。
- 自:
- 1.4
-
Field Summary
-
Constructor Summary
-
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的新实例。int
getBaseline
(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 void
replaceEditor
(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起:
- 参见:
-