javax.swing.plaf.basic

接口
java.lang.Object
  继承者 javax.swing.plaf.ComponentUI
      继承者 javax.swing.plaf.SpinnerUI
          继承者 javax.swing.plaf.basic.BasicSpinnerUI

public class BasicSpinnerUI
     
extends SpinnerUI

默认 Spinner UI 委托。

从以下版本开始:
1.4

字段摘要
protected  JSpinner spinner
          作为 UI 委托的 spinner。
 
构造方法摘要
BasicSpinnerUI()
           
 
方法摘要
protected  JComponent createEditor()
          installUI 通过调用此方法获取 JSpinner 的编辑器组件。
protected  LayoutManager createLayout()
          创建管理 JSpinner 的 editornextButtonpreviousButton 子级的 LayoutManager
protected  Component createNextButton()
          创建将用 spinner.getNextValue 返回的对象取代 spinner 模型值的组件。
protected  Component createPreviousButton()
          创建将用 spinner.getPreviousValue 返回的对象取代 spinner 模型值的组件。
protected  PropertyChangeListener createPropertyChangeListener()
          创建一个可以添加到 JSpinner 本身的 PropertyChangeListener
static ComponentUI createUI(JComponent c)
          返回 BasicSpinnerUI 的新实例。
 int getBaseline(JComponent c, int width, int height)
          返回基线。
 Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
          返回一个枚举,它指示该组件的基线如何随大小的改变而发生更改。
protected  void installDefaults()
          初始化 JSpinner borderforegroundbackground 属性以及基于默认表中对应的 "Spinner.*" 属性。
protected  void installKeyboardActions()
          在 JSpinner 上安装键盘动作。
protected  void installListeners()
          用将感兴趣的 PropertyChangeEvent 委托给受保护方法的共享对象初始化 PropertyChangeListener
protected  void installNextButtonListeners(Component c)
          在下一个按钮(c)上安装必要的侦听器以更新 JSpinner 来响应用户动作。
protected  void installPreviousButtonListeners(Component c)
          在上一个按钮(c)上安装必要的侦听器以更新 JSpinner 来响应用户动作。
 void installUI(JComponent c)
          调用 installDefaultsinstallListeners,然后添加由 createNextButtoncreatePreviousButtoncreateEditor 返回的组件。
protected  void replaceEditor(JComponent oldEditor, JComponent newEditor)
          当 JSpinner 编辑器属性更改时,由 PropertyChangeListener 调用。
protected  void uninstallDefaults()
          将 JSpinner 的布局管理器设置为 null。
protected  void uninstallListeners()
          移除 installListeners 添加的 PropertyChangeListener
 void uninstallUI(JComponent c)
          调用 uninstallDefaultsuninstallListeners,然后移除所有子 spinner。
 
从类 javax.swing.plaf.ComponentUI 继承的方法
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, getPreferredSize, paint, update
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

spinner

protected JSpinner spinner
作为 UI 委托的 spinner。由 installUI 方法初始化,并由 uninstallUI 重置为 null。

另请参见:
installUI(javax.swing.JComponent), uninstallUI(javax.swing.JComponent)
构造方法详细信息

BasicSpinnerUI

public BasicSpinnerUI()
方法详细信息

createUI

public static ComponentUI createUI(JComponent c)
返回 BasicSpinnerUI 的新实例。每个 JSpinner 分配一个 SpinnerListUI 委托。

参数:
c - JSpinner(未使用)
返回:
新 BasicSpinnerUI 对象
另请参见:
ComponentUI.createUI(javax.swing.JComponent)

installUI

public void installUI(JComponent c)
调用 installDefaultsinstallListeners,然后添加由 createNextButtoncreatePreviousButtoncreateEditor 返回的组件。

覆盖:
ComponentUI 中的 installUI
参数:
c - JSpinner
另请参见:
installDefaults(), installListeners(), createNextButton(), createPreviousButton(), createEditor()

uninstallUI

public void uninstallUI(JComponent c)
调用 uninstallDefaultsuninstallListeners,然后移除所有子 spinner。

覆盖:
ComponentUI 中的 uninstallUI
参数:
c - JSpinner(不使用)
另请参见:
ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()

installListeners

protected void installListeners()
用将感兴趣的 PropertyChangeEvent 委托给受保护方法的共享对象初始化 PropertyChangeListener

此方法由 installUI 调用。

另请参见:
replaceEditor(javax.swing.JComponent, javax.swing.JComponent), uninstallListeners()

uninstallListeners

protected void uninstallListeners()
移除 installListeners 添加的 PropertyChangeListener

此方法由 uninstallUI 调用。

另请参见:
installListeners()

installDefaults

protected void installDefaults()
初始化 JSpinner borderforegroundbackground 属性以及基于默认表中对应的 "Spinner.*" 属性。将 JSpinner 布局设置为 createLayout 返回的值。此方法由 installUI 调用。

另请参见:
uninstallDefaults(), installUI(javax.swing.JComponent), createLayout(), LookAndFeel.installBorder(javax.swing.JComponent, java.lang.String), LookAndFeel.installColors(javax.swing.JComponent, java.lang.String, java.lang.String)

uninstallDefaults

protected void uninstallDefaults()
JSpinner 的布局管理器设置为 null。此方法由 uninstallUI 调用。

另请参见:
installDefaults(), uninstallUI(javax.swing.JComponent)

installNextButtonListeners

protected void installNextButtonListeners(Component c)
在下一个按钮( c)上安装必要的侦听器以更新 JSpinner 来响应用户动作。

参数:
c - 要在其上安装侦听器的组件
抛出:
NullPointerException - 如果 c 为 null。
从以下版本开始:
1.5
另请参见:
createNextButton()

installPreviousButtonListeners

protected void installPreviousButtonListeners(Component c)
在上一个按钮( c)上安装必要的侦听器以更新 JSpinner 来响应用户动作。

参数:
c - 要在其上安装侦听器的组件。
抛出:
NullPointerException - 如果 c 为 null。
从以下版本开始:
1.5
另请参见:
createPreviousButton()

createLayout

protected LayoutManager createLayout()
创建管理 JSpinner 的 editornextButtonpreviousButton 子级的 LayoutManager。必须用标识其职责的约束添加这三个子级:"Editor"、"Next"、和 "Previous"。默认的布局管理器可以处理缺少这些子级中任意一个的情况。

返回:
编辑器、下一个和上一个按钮的 LayoutManager。
另请参见:
createNextButton(), createPreviousButton(), createEditor()

createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()
创建一个可以添加到 JSpinner 本身的 PropertyChangeListener。通常,此侦听器将在“编辑器”属性更改时调用 replaceEditor,因为它的 SpinnerUI 负责将编辑器添加到 JSpinner(并移除旧的)。此方法由 installListeners 调用。

返回:
JSpinner 本身的 PropertyChangeListener
另请参见:
installListeners()

createPreviousButton

protected Component createPreviousButton()
创建将用 spinner.getPreviousValue 返回的对象取代 spinner 模型值的组件。默认情况下 previousButton 为 JButton。此方法通过调用 installPreviousButtonListeners 安装必需的侦听器以更新 JSpinner 的模型来响应用户动作。如果不需要 previousButton(在子类中),则重写此方法以返回 null。

返回:
将用序列中的下一个值取代 spinner 模型的组件,或返回 null
另请参见:
installUI(javax.swing.JComponent), createNextButton(), installPreviousButtonListeners(java.awt.Component)

createNextButton

protected Component createNextButton()
创建将用 spinner.getNextValue 返回的对象取代 spinner 模型值的组件。默认情况下, nextButton 即为 JButton,其 ActionListener 更新其 JSpinner 祖先模型。如果不需要 nextButton(在子类中),则重写此方法以返回 null。

返回:
将用序列中的下一个值取代 spinner 模型的组件,或 null
另请参见:
installUI(javax.swing.JComponent), createPreviousButton(), installNextButtonListeners(java.awt.Component)

createEditor

protected JComponent createEditor()
installUI 通过调用此方法获取 JSpinner 的编辑器组件。默认情况下它仅返回 JSpinner.getEditor()。如果子类要使用重写的 installUI 将编辑器添加到 JSpinner 中,则其可以重写 createEditor 来返回包含 spinner 的编辑器的组件或 null。

通常重写此方法以利用带有自定义边框的容器包装编辑器,因为不能假定可以直接设置编辑器的边框。

利用 JSpinner.setEditor 更改 spinner 的编辑器时调用 replaceEditor 方法。如果已重写此方法,则可能还要重写 replaceEditor

返回:
JSpinner 编辑器 JComponent,默认情况下返回 spinner.getEditor()
另请参见:
installUI(javax.swing.JComponent), replaceEditor(javax.swing.JComponent, javax.swing.JComponent), JSpinner.getEditor()

replaceEditor

protected void replaceEditor(JComponent oldEditor,
                             JComponent newEditor)
JSpinner 编辑器属性更改时,由 PropertyChangeListener 调用。此方法负责移除旧编辑器并添加新编辑器。默认情况下,此操作为:
 spinner.remove(oldEditor);
 spinner.add(newEditor, "Editor");
 
replaceEditor 的实现应该配合 createEditor 方法使用。

另请参见:
createEditor(), createPropertyChangeListener()

installKeyboardActions

protected void installKeyboardActions()
在 JSpinner 上安装键盘动作。

从以下版本开始:
1.5

getBaseline

public int getBaseline(JComponent c,
                       int width,
                       int height)
返回基线。

覆盖:
ComponentUI 中的 getBaseline
参数:
c - 为其请求基线的 JComponent
width - 为其获取基线的宽度
height - 为其获取基线的高度
返回:
基线;如果没有合理的基线,则返回 < 0 的值
抛出:
NullPointerException - 如果 cnull
IllegalArgumentException - 如果宽度或高度 < 0
从以下版本开始:
1.6
另请参见:
JComponent.getBaseline(int, int)

getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
返回一个枚举,它指示该组件的基线如何随大小的改变而发生更改。

覆盖:
ComponentUI 中的 getBaselineResizeBehavior
参数:
c - 为其返回调整大小行为的 JComponent
返回:
一个枚举,指示基线如何随组件大小的改变而发生更改
抛出:
NullPointerException - 如果 cnull
从以下版本开始:
1.6
另请参见:
JComponent.getBaseline(int, int)