模块 java.desktop

类 JSpinner.DefaultEditor

所有已实现的接口:
ImageObserver , LayoutManager , MenuContainer , PropertyChangeListener , Serializable , EventListener , Accessible , ChangeListener
已知子类:
JSpinner.DateEditor , JSpinner.ListEditor , JSpinner.NumberEditor
封闭类:
JSpinner

public static class JSpinner.DefaultEditor extends JPanel implements ChangeListener , PropertyChangeListener , LayoutManager
一个简单的基类,用于更专业的编辑器,它使用 JFormattedTextField 显示模型当前值的只读视图。子类可以配置 JFormattedTextField 以创建适合它们支持的模型类型的编辑器,并且它们可能希望覆盖 stateChangedpropertyChanged 方法,以保持模型和文本字段同步。

此类定义了一个 dismiss 方法,该方法从它所属的 JSpinner 中删除编辑器 ChangeListenersetEditor 方法知道 DefaultEditor.dismiss ,因此如果开发人员替换派生自 JSpinner.DefaultEditor 的编辑器,其与 JSpinnerChangeListener 连接将被删除。然而在那之后,由开发人员来管理他们的编辑器监听器。同样,如果一个子类覆盖了 createEditor ,则由子类来处理随后被替换的编辑器(使用 setEditor )。我们预计在大多数情况下,在使用 setEditor 安装或由 createEditor 覆盖创建的编辑器中,无论如何都不会被替换。

这个类是 LayoutManager 因为它是一个 JFormattedTextField 孩子。默认情况下,孩子只是以父母insets为中心。

自从:
1.4
  • 构造方法详细信息

    • DefaultEditor

      public DefaultEditor(JSpinner  spinner)
      为指定的 JSpinner 构造一个编辑器组件。这个 DefaultEditor 是它自己的布局管理器,它被添加到微调器的 ChangeListener 列表中。构造函数创建一个 JFormattedTextField 子级,将其值初始化为微调器模型的当前值并将其添加到 this DefaultEditor
      参数:
      spinner - 其模型 this 编辑器将监控的微调器
      参见:
  • 方法详情

    • dismiss

      public void dismiss(JSpinner  spinner)
      从指定的 JSpinner 断开 this 编辑器。默认情况下,此方法将自身从微调器 ChangeListener 列表中删除。
      参数:
      spinner - 与该编辑器断开连接的 JSpinner;与传递给构造函数的微调器相同。
    • getSpinner

      public JSpinner  getSpinner()
      返回此编辑器的 JSpinner 祖先,如果所有祖先都不是 JSpinner 则返回 null。通常,编辑器的父类是 JSpinner,但是 JSpinner 的子类可能会覆盖 createEditor 方法,并在 JSpinner 和它的编辑器之间插入一个或多个容器。
      返回:
      JSpinner 祖先; null 如果没有一个祖先是 JSpinner
      参见:
    • getTextField

      public JFormattedTextField  getTextField()
      返回此编辑器的 JFormattedTextField 子级。默认情况下,文本字段是编辑器的第一个也是唯一的子项。
      返回:
      JFormattedTextField 使用户可以访问 SpinnerDateModel's 值。
      参见:
    • stateChanged

      public void stateChanged(ChangeEvent  e)
      当微调器的模型状态发生变化时调用此方法。它将文本字段的 value 设置为微调器模型的当前值。
      指定者:
      stateChanged 在接口 ChangeListener
      参数:
      e - ChangeEvent 其来源是 JSpinner 其模型已更改。
      参见:
    • propertyChange

      public void propertyChange(PropertyChangeEvent  e)
      JFormattedTextField PropertyChangeListener 调用。当 "value" 属性发生变化时,这意味着用户键入了一个新数字,我们设置了微调器模型的值。

      此类忽略源不是 JFormattedTextFieldPropertyChangeEvents,因此子类可以安全地在其他对象上创建 this DefaultEditor a PropertyChangeListener

      指定者:
      propertyChange 在接口 PropertyChangeListener
      参数:
      e - PropertyChangeEvent 其来源是此类创建的 JFormattedTextField
      参见:
    • addLayoutComponent

      public void addLayoutComponent(String  name, Component  child)
      这个 LayoutManager 方法什么都不做。我们只管理一个孩子,不支持布局约束。
      指定者:
      addLayoutComponent 在接口 LayoutManager
      参数:
      name - 忽略
      child - 忽略
    • removeLayoutComponent

      public void removeLayoutComponent(Component  child)
      这个 LayoutManager 方法什么都不做。没有任何每个孩子的状态。
      指定者:
      removeLayoutComponent 在接口 LayoutManager
      参数:
      child - 忽略
    • preferredLayoutSize

      public Dimension  preferredLayoutSize(Container  parent)
      返回第一个(也是唯一的)子级的首选大小加上父级insets的大小。
      指定者:
      preferredLayoutSize 在接口 LayoutManager
      参数:
      parent - 管理布局的容器
      返回:
      用于布置指定容器的子组件的首选尺寸。
      参见:
    • minimumLayoutSize

      public Dimension  minimumLayoutSize(Container  parent)
      返回第一个(也是唯一的)子级的最小大小加上父级insets的大小。
      指定者:
      minimumLayoutSize 在接口 LayoutManager
      参数:
      parent - 管理布局的容器
      返回:
      布置指定容器的子组件所需的最小尺寸。
      参见:
    • layoutContainer

      public void layoutContainer(Container  parent)
      调整一个(也是唯一的)子级的大小,以完全填充父级insets内的区域。
      指定者:
      layoutContainer 在接口 LayoutManager
      参数:
      parent - 要布置的容器
    • commitEdit

      public void commitEdit() throws ParseException
      将当前编辑的值推送到 SpinnerModel

      默认实现在 JFormattedTextField 上调用 commitEdit

      抛出:
      ParseException - 如果编辑的值不合法
    • getBaseline

      public int getBaseline(int width, int height)
      返回基线。
      重写:
      getBaseline 在类 JComponent
      参数:
      width - 获取基线的宽度
      height - 获取基线的高度
      返回:
      基线或 < 0 表示没有合理的基线
      抛出:
      IllegalArgumentException - 如果宽度或高度 < 0
      自从:
      1.6
      参见:
    • getBaselineResizeBehavior

      public Component.BaselineResizeBehavior  getBaselineResizeBehavior()
      返回一个枚举,指示组件的基线如何随着大小的变化而变化。
      重写:
      getBaselineResizeBehavior 在类 JComponent
      返回:
      一个枚举,指示基线如何随着组件大小的变化而变化
      自从:
      1.6
      参见: