JavaTM Platform
Standard Ed. 6

javax.swing
类 JSpinner.DefaultEditor

java.lang.Object
  继承者 java.awt.Component
      继承者 java.awt.Container
          继承者 javax.swing.JComponent
              继承者 javax.swing.JPanel
                  继承者 javax.swing.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 创建编辑器。

此类是针对其单一 JFormattedTextField 子类的 LayoutManager。默认情况下,子级正好处于父 insets 的中间。

从以下版本开始:
1.4

嵌套类摘要
 
从类 javax.swing.JPanel 继承的嵌套类/接口
JPanel.AccessibleJPanel
 
从类 javax.swing.JComponent 继承的嵌套类/接口
JComponent.AccessibleJComponent
 
从类 java.awt.Container 继承的嵌套类/接口
Container.AccessibleAWTContainer
 
从类 java.awt.Component 继承的嵌套类/接口
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
字段摘要
 
从类 javax.swing.JComponent 继承的字段
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
从类 java.awt.Component 继承的字段
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
从接口 java.awt.image.ImageObserver 继承的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
构造方法摘要
JSpinner.DefaultEditor(JSpinner spinner)
          构造一个针对指定 JSpinner 的编辑器组件。
 
方法摘要
 void addLayoutComponent(String name, Component child)
          此 LayoutManager 方法不执行任何操作。
 void commitEdit()
          将当前编辑值赋给 SpinnerModel
 void dismiss(JSpinner spinner)
          将编辑器从指定的 JSpinner 断开连接。
 int getBaseline(int width, int height)
          返回基线。
 Component.BaselineResizeBehavior getBaselineResizeBehavior()
          返回一个枚举,它指示组件的基线如何随大小的改变而发生更改。
 JSpinner getSpinner()
          如果此编辑器的 JSpinner 祖先,如果祖先都不为 JSpinner,则返回 null
 JFormattedTextField getTextField()
          返回此编辑器的子 JFormattedTextField
 void layoutContainer(Container parent)
          调整一个(并且是唯一)子级的大小,以完全填充父 insets 中的区域。
 Dimension minimumLayoutSize(Container parent)
          返回第一个(并且是唯一)的子级最小大小与其父 insets 的大小和。
 Dimension preferredLayoutSize(Container parent)
          返回第一个(并且是唯一)子级的首选大小与其父 insets 的大小和。
 void propertyChange(PropertyChangeEvent e)
          由 JFormattedTextFieldPropertyChangeListener 调用。
 void removeLayoutComponent(Component child)
          此 LayoutManager 方法不执行任何操作。
 void stateChanged(ChangeEvent e)
          当 spinner 的模型状态更改时调用此方法。
 
从类 javax.swing.JPanel 继承的方法
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
从类 javax.swing.JComponent 继承的方法
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
从类 java.awt.Container 继承的方法
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
从类 java.awt.Component 继承的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

JSpinner.DefaultEditor

public JSpinner.DefaultEditor(JSpinner spinner)
构造一个针对指定 JSpinner 的编辑器组件。此 DefaultEditor 是其自身的布局管理器,并且它已被添加到 spinner 的 ChangeListener 列表中。此构造方法创建了单一的子 JFormattedTextField,其值被初始化为 spinner 模型的当前值,并且将其添加到了 DefaultEditor 中。

参数:
spinner - 编辑器将要监视其模型的 spinner
另请参见:
getTextField(), JSpinner.addChangeListener(javax.swing.event.ChangeListener)
方法详细信息

dismiss

public void dismiss(JSpinner spinner)
编辑器从指定的 JSpinner 断开连接。默认情况下,此方法将从 spinner 的 ChangeListener 列表中移除其自身。

参数:
spinner - 要从其断开编辑器连接的 JSpinner;与构造方法传入的是同一个 spinner。

getSpinner

public JSpinner getSpinner()
如果此编辑器的 JSpinner 祖先,如果祖先都不为 JSpinner,则返回 null。 通常编辑器的父级是一个 JSpinner,尽管 JSpinner 的子类可能重写 createEditor 方法和在 JSpinner 及其编辑器之间插入一个到多个容器。

返回:
JSpinner 祖先;如果祖先都不为 JSpinner,则返回 null
另请参见:
JSpinner.createEditor(javax.swing.SpinnerModel)

getTextField

public JFormattedTextField getTextField()
返回此编辑器的子 JFormattedTextField。默认情况下,文本字段是编辑器的第一个也是唯一的一个子级。

返回:
供用户访问 SpinnerDateModel 值的 JFormattedTextField
另请参见:
getSpinner(), JSpinner.getModel()

stateChanged

public void stateChanged(ChangeEvent e)
当 spinner 的模型状态更改时调用此方法。它将文本字段的 value 设置成 spinner 模型的当前值。

指定者:
接口 ChangeListener 中的 stateChanged
参数:
e - 其源为模型已更改的 JSpinnerChangeEvent
另请参见:
getTextField(), JSpinner.getValue()

propertyChange

public void propertyChange(PropertyChangeEvent e)
JFormattedTextFieldPropertyChangeListener 调用。当 "value" 属性更改时,这就意味着用户键入了一个新的数字,我们就设置 spinner 模型的值。

此类忽略其源不是 JFormattedTextFieldPropertyChangeEvents,因此子类能安全地使 DefaultEditor 成为其他对象的 PropertyChangeListener

指定者:
接口 PropertyChangeListener 中的 propertyChange
参数:
e - 此类创建的其源为 JFormattedTextFieldPropertyChangeEvent
另请参见:
getTextField()

addLayoutComponent

public void addLayoutComponent(String name,
                               Component child)
LayoutManager 方法不执行任何操作。我们仅管理单个子级并且不支持布局约束。

指定者:
接口 LayoutManager 中的 addLayoutComponent
参数:
name - 忽略
child - 忽略

removeLayoutComponent

public void removeLayoutComponent(Component child)
LayoutManager 方法不执行任何操作。没有任何每子级的状态。

指定者:
接口 LayoutManager 中的 removeLayoutComponent
参数:
child - 忽略

preferredLayoutSize

public Dimension preferredLayoutSize(Container parent)
返回第一个(并且是唯一)子级的首选大小与其父 insets 的大小和。

指定者:
接口 LayoutManager 中的 preferredLayoutSize
参数:
parent - 管理布局的容器
返回:
布局指定容器子组件的首选维度。
另请参见:
LayoutManager.minimumLayoutSize(java.awt.Container)

minimumLayoutSize

public Dimension minimumLayoutSize(Container parent)
返回第一个(并且是唯一)的子级最小大小与其父 insets 的大小和。

指定者:
接口 LayoutManager 中的 minimumLayoutSize
参数:
parent - 管理布局的 Container
返回:
布局指定容器子组件所需的最小维度。

layoutContainer

public void layoutContainer(Container parent)
调整一个(并且是唯一)子级的大小,以完全填充父 insets 中的区域。

指定者:
接口 LayoutManager 中的 layoutContainer
参数:
parent - 要布置的容器

commitEdit

public void commitEdit()
                throws ParseException
将当前编辑值赋给 SpinnerModel

默认的实现调用 JFormattedTextField 上的 commitEdit 方法。

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

getBaseline

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

覆盖:
JComponent 中的 getBaseline
参数:
width - 适合基线的宽度
height - 适合基线的高度
返回:
基线,如果基线 < 0,则表示没有合理的基线
抛出:
IllegalArgumentException - 如果 width 或 height < 0
从以下版本开始:
1.6
另请参见:
JComponent.getBaseline(int,int), JComponent.getBaselineResizeBehavior()

getBaselineResizeBehavior

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

覆盖:
JComponent 中的 getBaselineResizeBehavior
返回:
一个指示基线如何随组件大小的更改发生变化的枚举
抛出:
NullPointerException
从以下版本开始:
1.6
另请参见:
JComponent.getBaseline(int, int)

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策