JavaTM 2 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 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only