JavaTM 2 Platform
Standard Ed. 6

javax.swing
類別 JFormattedTextField

java.lang.Object
  繼承者 java.awt.Component
      繼承者 java.awt.Container
          繼承者 javax.swing.JComponent
              繼承者 javax.swing.text.JTextComponent
                  繼承者 javax.swing.JTextField
                      繼承者 javax.swing.JFormattedTextField
所有已實作的介面:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable, SwingConstants

public class JFormattedTextField
extends JTextField

JFormattedTextField 擴展了 JTextField,添加了對格式化任意值的支持,以及一旦使用者編輯了文本就檢索特定物件的支持。以下程式碼說明了如何配置 JFormattedTextField 來編輯日期:

   JFormattedTextField ftf = new JFormattedTextField();
   ftf.setValue(new Date());
 

一旦創建了 JFormattedTextField,就可以通過添加 PropertyChangeListener 的方式來偵聽編輯更改,並且使用屬性名 value 來偵聽 PropertyChangeEvent

JFormattedTextField 允許配置在失去焦點時應該採取的措施。可能的值為:

描述

JFormattedTextField.REVERT 恢復顯示以比對 getValue,這可能丟失當前的編輯內容。
JFormattedTextField.COMMIT 提交當前值。如果 AbstractFormatter 不認為所編輯的值是合法值,則拋出 ParseException,然後不更改該值並保留已編輯的值。
JFormattedTextField.COMMIT_OR_REVERT COMMIT 類似,但是如果該值不是合法的,則其行為類似於 REVERT
JFormattedTextField.PERSIST 不執行任何操作,不獲取新的 AbstractFormatter 也不更新該值。
預設值為 JFormattedTextField.COMMIT_OR_REVERT,有關此內容的更多資訊,請參閱 setFocusLostBehavior(int)

JFormattedTextField 允許焦點離開,即使當前編輯的值是無效的也是如此。要在 JFormattedTextField 處於無效編輯狀態時鎖定焦點,可以附加一個 InputVerifier。以下程式碼片斷顯示了這種 InputVerifier 的可能實作:

 public class FormattedTextFieldVerifier extends InputVerifier {
     public boolean verify(JComponent input) {
         if (input instanceof JFormattedTextField) {
             JFormattedTextField ftf = (JFormattedTextField)input;
             AbstractFormatter formatter = ftf.getFormatter();
             if (formatter != null) {
                 String text = ftf.getText();
                 try {
                      formatter.stringToValue(text);
return true;
                  } catch (ParseException pe) {
                      return false;
                  }
              }
          }
return true;
      }
      public boolean shouldYieldFocus(JComponent input) {
          return verify(input);
      }
  }
 

或者,也可以調用 commitEdit,這也會提交該值。

JFormattedTextField 本身不執行格式化,而是通過從 JFormattedTextField.AbstractFormatterFactory 實例獲得的 JFormattedTextField.AbstractFormatter 實例完成格式化。通過 install 方法的方式使 JFormattedTextField.AbstractFormatter 的實例處於啟動狀態時會通知它們,此時 JFormattedTextField.AbstractFormatter 可以安裝其所需的任何內容,通常是 DocumentFilter。類似地,當 JFormattedTextField 不再需要 AbstractFormatter 時,它會調用 uninstall

JFormattedTextField 通常在獲得或丟失焦點時查詢 AbstractFormatterFactory 以找到 AbstractFormat。但根據焦點丟失策略也可以更改此行為。如果焦點丟失策略是 JFormattedTextField.PERSIST 並且已編輯了 JFormattedTextField,則在值提交之前不會查詢 AbstractFormatterFactory。類似地,如果焦點丟失策略是 JFormattedTextField.COMMIT 並且從 stringToValue 中拋出異常,則丟失或獲得焦點時不查詢 AbstractFormatterFactory

JFormattedTextField.AbstractFormatter 還負責確定何時將值提交給 JFormattedTextField。某些 JFormattedTextField.AbstractFormatter 在每次編輯時都提供新值,而其他的則從不提交該值。可以強行從當前的 JFormattedTextField.AbstractFormatter 獲得當前值,方法是調用 commitEdit。每當在 JFormattedTextField 中按下了 return 鍵,就調用 commitEdit

如果尚未顯式地設置 AbstractFormatterFactory,則在調用 setValue 後(假定 value 是非 null 的),根據 value 型別的 Class 設置該值。例如,在以下程式碼中將創建一個合適的 AbstractFormatterFactoryAbstractFormatter,以處理數字的格式化:

   JFormattedTextField tf = new JFormattedTextField();
   tf.setValue(new Number(100));
 

警告:由於 AbstractFormatter 通常在 Document 上安裝一個 DocumentFilter,在 JFormattedTextField 上安裝一個 NavigationFilter,所以您不應安裝自己的過濾器。如果您安裝了,則會看到奇怪的行為,因為將無法強制執行 AbstractFormatter 的編輯策略。

警告:Swing 不是執行緒安全的。有關更多資訊,請參閱 Swing's Threading Policy

警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans 套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder

從以下版本開始:
1.4

巢狀類別摘要
static class JFormattedTextField.AbstractFormatter
           JFormattedTextField 所使用的 AbstractFormatter 實例,用於處理從 Object 到 String 和從 String 到 Object 的轉換。
static class JFormattedTextField.AbstractFormatterFactory
          JFormattedTextField 使用的 AbstractFormatterFactory 實例,用來獲得 AbstractFormatter 實例,依次使用該實例格式化各個值。
 
從類別 javax.swing.JTextField 繼承的巢狀類別/介面
JTextField.AccessibleJTextField
 
從類別 javax.swing.text.JTextComponent 繼承的巢狀類別/介面
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding
 
從類別 javax.swing.JComponent 繼承的巢狀類別/介面
JComponent.AccessibleJComponent
 
從類別 java.awt.Container 繼承的巢狀類別/介面
Container.AccessibleAWTContainer
 
從類別 java.awt.Component 繼承的巢狀類別/介面
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
欄位摘要
static int COMMIT
          標識丟失焦點時,應該調用 commitEdit 的常數。
static int COMMIT_OR_REVERT
          標識丟失焦點時,應該調用 commitEdit 的常數。
static int PERSIST
          標識丟失焦點時,應該保留編輯值的常數。
static int REVERT
          標識丟失焦點時,應該將編輯的值恢復為 JFormattedTextField 上所設當前值的常數。
 
從類別 javax.swing.JTextField 繼承的欄位
notifyAction
 
從類別 javax.swing.text.JTextComponent 繼承的欄位
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
從類別 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
 
從介面 javax.swing.SwingConstants 繼承的欄位
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
從介面 java.awt.image.ImageObserver 繼承的欄位
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
建構子摘要
JFormattedTextField()
          創建一個沒有 AbstractFormatterFactoryJFormattedTextField
JFormattedTextField(Format format)
          創建一個 JFormattedTextField
JFormattedTextField(JFormattedTextField.AbstractFormatter formatter)
          創建一個具有指定 AbstractFormatterJFormattedTextField
JFormattedTextField(JFormattedTextField.AbstractFormatterFactory factory)
          創建一個具有指定 AbstractFormatterFactoryJFormattedTextField
JFormattedTextField(JFormattedTextField.AbstractFormatterFactory factory, Object currentValue)
          創建一個具有指定 AbstractFormatterFactory 和初始值的 JFormattedTextField
JFormattedTextField(Object value)
          創建一個具有指定值的 JFormattedTextField。
 
方法摘要
 void commitEdit()
          強制從 AbstractFormatter 獲得當前值並將其設置為當前值。
 Action[] getActions()
          獲取編輯器的命令列表。
 int getFocusLostBehavior()
          返回丟失焦點時的行為。
 JFormattedTextField.AbstractFormatter getFormatter()
          返回用於格式化和分析當前值的 AbstractFormatter
 JFormattedTextField.AbstractFormatterFactory getFormatterFactory()
          返回當前的 AbstractFormatterFactory
 String getUIClassID()
          獲得 UI 的類別 ID。
 Object getValue()
          返回最後一個有效值。
protected  void invalidEdit()
          使用者輸入無效值時調用。
 boolean isEditValid()
          如果所編輯的當前值有效,則返回 true。
protected  void processFocusEvent(FocusEvent e)
          處理所有的焦點事件,如 FocusEvent.FOCUS_GAINEDFocusEvent.FOCUS_LOST
protected  void processInputMethodEvent(InputMethodEvent e)
          處理所有的輸入法事件,如 InputMethodEvent.INPUT_METHOD_TEXT_CHANGEDInputMethodEvent.CARET_POSITION_CHANGED
 void setDocument(Document doc)
          將該編輯器與某個文本文檔關聯。
 void setFocusLostBehavior(int behavior)
          設置丟失焦點時的行為。
protected  void setFormatter(JFormattedTextField.AbstractFormatter format)
          設置當前的 AbstractFormatter
 void setFormatterFactory(JFormattedTextField.AbstractFormatterFactory tf)
          設置 AbstractFormatterFactory
 void setValue(Object value)
          設置值,該值由從當前 AbstractFormatterFactory 獲得的 AbstractFormatter 進行格式化。
 
從類別 javax.swing.JTextField 繼承的方法
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setFont, setHorizontalAlignment, setScrollOffset
 
從類別 javax.swing.text.JTextComponent 繼承的方法
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, print, print, print, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, updateUI, viewToModel, write
 
從類別 javax.swing.JComponent 繼承的方法
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, 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, 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, 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, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, 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
 

欄位詳細資訊

COMMIT

public static final int COMMIT
標識丟失焦點時,應該調用 commitEdit 的常數。如果在提交新值的過程中拋出 ParseException,則將保留無效值。

另請參見:
setFocusLostBehavior(int), 常數欄位值

COMMIT_OR_REVERT

public static final int COMMIT_OR_REVERT
標識丟失焦點時,應該調用 commitEdit 的常數。如果在提交新值的過程中拋出 ParseException,則將恢復原值。

另請參見:
setFocusLostBehavior(int), 常數欄位值

REVERT

public static final int REVERT
標識丟失焦點時,應該將編輯的值恢復為 JFormattedTextField 上所設當前值的常數。

另請參見:
setFocusLostBehavior(int), 常數欄位值

PERSIST

public static final int PERSIST
標識丟失焦點時,應該保留編輯值的常數。

另請參見:
setFocusLostBehavior(int), 常數欄位值
建構子詳細資訊

JFormattedTextField

public JFormattedTextField()
創建一個沒有 AbstractFormatterFactoryJFormattedTextField。使用 setMasksetFormatterFactory 配置 JFormattedTextField 以編輯特定的值型別。


JFormattedTextField

public JFormattedTextField(Object value)
創建一個具有指定值的 JFormattedTextField。這將根據 value 的型別創建一個 AbstractFormatterFactory

參數:
value - JFormattedTextField 的初始值

JFormattedTextField

public JFormattedTextField(Format format)
創建一個 JFormattedTextFieldformat 套件裝在一個適當的 AbstractFormatter 中,然後該 AbstractFormatter 套件裝在一個 AbstractFormatterFactory 中。

參數:
format - 用於尋找 AbstractFormatter 的 Format

JFormattedTextField

public JFormattedTextField(JFormattedTextField.AbstractFormatter formatter)
創建一個具有指定 AbstractFormatterJFormattedTextField。該 AbstractFormatter 被放置在 AbstractFormatterFactory 中。

參數:
formatter - 進行格式化所使用的 AbstractFormatter。

JFormattedTextField

public JFormattedTextField(JFormattedTextField.AbstractFormatterFactory factory)
創建一個具有指定 AbstractFormatterFactoryJFormattedTextField

參數:
factory - 用於進行格式化的 AbstractFormatterFactory。

JFormattedTextField

public JFormattedTextField(JFormattedTextField.AbstractFormatterFactory factory,
                           Object currentValue)
創建一個具有指定 AbstractFormatterFactory 和初始值的 JFormattedTextField

參數:
factory - 用於進行格式化的 AbstractFormatterFactory
currentValue - 要使用的初始值
方法詳細資訊

setFocusLostBehavior

public void setFocusLostBehavior(int behavior)
設置丟失焦點時的行為。這是 JFormattedTextField.COMMIT_OR_REVERTJFormattedTextField.REVERTJFormattedTextField.COMMITJFormattedTextField.PERSIST 之一。注意,某些 AbstractFormatter 可能在出現更改時即進行下一步操作,所以該值無效。

如果傳入的物件不是上述值之一,則將拋出 IllegalArgumentException

此屬性的預設值為 JFormattedTextField.COMMIT_OR_REVERT

參數:
behavior - 標識丟失焦點時的行為
拋出:
IllegalArgumentException - 如果 behavior 不是某個已知值

getFocusLostBehavior

public int getFocusLostBehavior()
返回丟失焦點時的行為。這是 COMMIT_OR_REVERTCOMMITREVERTPERSIST 之一。注意,某些 AbstractFormatter 可能在出現更改時即進行下一步操作,所以該值無效。

返回:
返回丟失焦點時的行為

setFormatterFactory

public void setFormatterFactory(JFormattedTextField.AbstractFormatterFactory tf)
設置 AbstractFormatterFactoryAbstractFormatterFactory 能夠返回 AbstractFormatter 的實例,它可用於格式化要顯示的某個值,以及強制執行編輯策略。

如果尚未通過此方法(或建構子)顯式地設置 AbstractFormatterFactory,則根據該值的 Class 使用 AbstractFormatterFactory,然後使用 AbstractFormatterNumberFormatter 用於 NumberDateFormatter 用於 Dates,其他值將使用 DefaultFormatter

這是一個 JavaBeans 綁定 (bound) 屬性。

參數:
tf - 用於尋找 AbstractFormatter 實例的 AbstractFormatterFactory

getFormatterFactory

public JFormattedTextField.AbstractFormatterFactory getFormatterFactory()
返回當前的 AbstractFormatterFactory

返回:
用於確定 AbstractFormatterAbstractFormatterFactory
另請參見:
setFormatterFactory(javax.swing.JFormattedTextField.AbstractFormatterFactory)

setFormatter

protected void setFormatter(JFormattedTextField.AbstractFormatter format)
設置當前的 AbstractFormatter

通常不應調用此方法,而是設置 AbstractFormatterFactory 或設置值。當 JFormattedTextField 的狀態更改並且需要重置該值時,JFormattedTextField 將調用此方法。JFormattedTextField 傳入從 AbstractFormatterFactory 所獲得的 AbstractFormatter

這是一個 JavaBeans 綁定屬性。

參數:
format - 進行格式化所使用的 AbstractFormatter
另請參見:
setFormatterFactory(javax.swing.JFormattedTextField.AbstractFormatterFactory)

getFormatter

public JFormattedTextField.AbstractFormatter getFormatter()
返回用於格式化和分析當前值的 AbstractFormatter

返回:
用於進行格式化的 AbstractFormatter

setValue

public void setValue(Object value)
設置值,該值由從當前 AbstractFormatterFactory 獲得的 AbstractFormatter 進行格式化。如果尚未指定任何 AbstractFormatterFactory,則此方法會試圖根據 value 的型別創建它。

此屬性的預設值為 null。

這是一個 JavaBeans 綁定屬性。

參數:
value - 要顯示的當前值

getValue

public Object getValue()
返回最後一個有效值。根據 AbstractFormatter 的編輯策略,此方法可能不會返回當前值。可通過調用 commitEdit 後調用 getValue 來獲得當前編輯的值。

返回:
最後一個有效值

commitEdit

public void commitEdit()
                throws ParseException
強制從 AbstractFormatter 獲得當前值並將其設置為當前值。 如果當前沒有已安裝的 AbstractFormatter,則此方法無效。

拋出:
ParseException - 如果 AbstractFormatter 無法格式化當前值

isEditValid

public boolean isEditValid()
如果所編輯的當前值有效,則返回 true。此值由當前的 AbstractFormatter 進行管理,並且沒有針對它的公共 setter。

返回:
如果所編輯的當前值有效,則返回 true。

invalidEdit

protected void invalidEdit()
使用者輸入無效值時調用。這就使得元件可以提供反饋。預設的實作是發出蜂鳴聲。


processInputMethodEvent

protected void processInputMethodEvent(InputMethodEvent e)
處理所有的輸入法事件,如 InputMethodEvent.INPUT_METHOD_TEXT_CHANGEDInputMethodEvent.CARET_POSITION_CHANGED

覆寫:
類別 JTextComponent 中的 processInputMethodEvent
參數:
e - InputMethodEvent
另請參見:
InputMethodEvent

processFocusEvent

protected void processFocusEvent(FocusEvent e)
處理所有的焦點事件,如 FocusEvent.FOCUS_GAINEDFocusEvent.FOCUS_LOST

覆寫:
類別 Component 中的 processFocusEvent
參數:
e - FocusEvent
另請參見:
FocusEvent

getActions

public Action[] getActions()
獲取編輯器的命令列表。這是嵌入的 UI 所支持的命令列表,該 UI 通過編輯器本身支持的命令集進行擴充。這些命令對於綁定到事件是很有用的,例如在 keymap 中。

覆寫:
類別 JTextField 中的 getActions
返回:
命令列表

getUIClassID

public String getUIClassID()
獲得 UI 的類別 ID。

覆寫:
類別 JTextField 中的 getUIClassID
返回:
字元串 "FormattedTextFieldUI"
另請參見:
JComponent.getUIClassID()

setDocument

public void setDocument(Document doc)
將該編輯器與某個文本文檔關聯。使用當前已註冊的處理器建構一個文檔視圖,重新確認後由編輯器顯示該文檔。PropertyChange 事件 ("document") 被傳播到每個偵聽器。

覆寫:
類別 JTextField 中的 setDocument
參數:
doc - 要顯示/編輯的文檔
另請參見:
JTextComponent.getDocument()

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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