Spec-Zone .ru
спецификации, руководства, описания, API
|
public class JFormattedTextField extends JTextField
JFormattedTextField
расширяется JTextField
добавляя поддержку того, чтобы отформатировать произвольные значения, так же как получить определенный объект, как только пользователь отредактировал текст. Следующее иллюстрирует конфигурирование a JFormattedTextField
отредактировать даты: JFormattedTextField ftf = new JFormattedTextField(); ftf.setValue(new Date());
Однажды a JFormattedTextField
был создан, можно прислушаться к редактированию изменений посредством добавления a PropertyChangeListener
и прислушивание PropertyChangeEvent
s с именем свойства value
.
JFormattedTextField
позволяет конфигурировать, какие меры должны быть предприняты, когда фокус теряется. Возможные конфигурации:
Значение | Описание |
---|---|
JFormattedTextField. ВЕРНУТЬСЯ | Вернитесь дисплей, чтобы соответствовать тот из getValue , возможно теряя текущее редактирование. |
JFormattedTextField. ФИКСАЦИЯ | Фиксирует текущую стоимость. Если отредактированное значение не считают юридическим значением AbstractFormatter то есть, a ParseException бросается, тогда значение не будет изменяться, и затем отредактированное значение сохранится. |
JFormattedTextField. COMMIT_OR_REVERT | Подобный COMMIT , но если значение не является законным, ведите себя как REVERT . |
JFormattedTextField. СОХРАНИТЬСЯ | Ничего не сделайте, не получайте новое 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.AbstractFormatter
который получается из экземпляра JFormattedTextField.AbstractFormatterFactory
. Экземпляры JFormattedTextField.AbstractFormatter
уведомляются, когда они становятся активными посредством install
метод тот, в который точка JFormattedTextField.AbstractFormatter
может установить то, в чем это нуждается к, обычно a DocumentFilter
. Так же, когда JFormattedTextField
больше потребности AbstractFormatter
, это вызовет uninstall
.
JFormattedTextField
обычно запросы AbstractFormatterFactory
для AbstractFormat
когда это получает или теряет фокус. Хотя это может измениться основанный на фокусе потерянная политика. Если фокус потерянная политика JFormattedTextField.PERSIST
и JFormattedTextField
был отредактирован, AbstractFormatterFactory
не будет запрошен, пока значение не фиксировалось. Так же, если фокус потерянная политика JFormattedTextField.COMMIT
и исключение выдается от stringToValue
, AbstractFormatterFactory
не будет querired, когда фокус теряется или получается.
JFormattedTextField.AbstractFormatter
также ответственно за определение, когда значения предаются JFormattedTextField
. Некоторые JFormattedTextField.AbstractFormatter
s сделает новые значения доступными на каждом редактировании, и другие никогда не будут фиксировать значение. Можно вынудить текущую стоимость быть полученной из тока JFormattedTextField.AbstractFormatter
посредством вызова commitEdit
. commitEdit
будет вызван всякий раз, когда возврат нажимается в JFormattedTextField
.
Если AbstractFormatterFactory
не был явно установлен, каждый будет установлен основанный на Class
из типа значения после setValue
был вызван (предполагающий, что значение является ненулем). Например, в следующем коде соответствующее AbstractFormatterFactory
и AbstractFormatter
будет создаваться, чтобы обработать форматирование чисел:
JFormattedTextField tf = new JFormattedTextField(); tf.setValue(new Number(100));
Предупреждение: Как AbstractFormatter
будет обычно устанавливать a DocumentFilter
на Document
, и a NavigationFilter
на JFormattedTextField
недопустимо установить свое собственное. Если Вы сделаете, то Вы, вероятно, будете видеть нечетное поведение в этом политика редактирования AbstractFormatter
не будет осуществлен.
Предупреждение: Swing не ориентирован на многопотоковое исполнение. Для получения дополнительной информации см., что Swing Распараллеливает Политику.
Предупреждение: Сериализированные объекты этого класса не будут совместимыми с будущими выпусками Swing. Текущая поддержка сериализации является подходящей для краткосрочного хранения или RMI между приложениями, выполняющими ту же самую версию Swing. С 1.4, поддержка длительного хранения всего JavaBeansTM была добавлена к java.beans
пакет. Пожалуйста, см. XMLEncoder
.
Модификатор и Тип | Класс и Описание |
---|---|
static class |
JFormattedTextField. AbstractFormatter
Экземпляры
AbstractFormatter используются JFormattedTextField обработать преобразование и от Объекта до Строки, и назад от Строки до Объекта. |
static class |
JFormattedTextField.AbstractFormatterFactory
Экземпляры
AbstractFormatterFactory используются JFormattedTextField получить экземпляры AbstractFormatter которые поочередно используются, чтобы отформатировать значения. |
JTextField. AccessibleJTextField
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding
JComponent. AccessibleJComponent
Контейнер. AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Модификатор и Тип | Поле и Описание |
---|---|
static int |
ФИКСАЦИЯ
Постоянная идентификация это, когда фокус теряется,
commitEdit должен быть вызван. |
static int |
COMMIT_OR_REVERT
Постоянная идентификация это, когда фокус теряется,
commitEdit должен быть вызван. |
static int |
СОХРАНИТЬСЯ
Постоянная идентификация, что, когда фокус теряется, отредактированное значение нужно оставить.
|
static int |
ВЕРНУТЬСЯ
Постоянная идентификация, которая, когда фокус теряется, редактируя значение, должна вернуться к набору текущей стоимости на
JFormattedTextField . |
notifyAction
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Конструктор и Описание |
---|
JFormattedTextField()
Создает a
JFormattedTextField без AbstractFormatterFactory . |
JFormattedTextField(Format format)
Создает a
JFormattedTextField . |
JFormattedTextField(JFormattedTextField.AbstractFormatter formatter)
Создает a
JFormattedTextField с указанным AbstractFormatter . |
JFormattedTextField(JFormattedTextField.AbstractFormatterFactory factory)
Создает a
JFormattedTextField с указанным AbstractFormatterFactory . |
JFormattedTextField(JFormattedTextField.AbstractFormatterFactory factory, Object currentValue)
Создает a
JFormattedTextField с указанным AbstractFormatterFactory и начальное значение. |
JFormattedTextField(Object value)
Создает JFormattedTextField с указанным значением.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
commitEdit()
Вынуждает текущую стоимость быть взятой от
AbstractFormatter и набор как текущая стоимость. |
Действие[] |
getActions()
Выбирает список команд для редактора.
|
int |
getFocusLostBehavior()
Возвращает поведение, когда фокус теряется.
|
JFormattedTextField. AbstractFormatter |
getFormatter()
Возвраты
AbstractFormatter это используется, чтобы отформатировать и проанализировать текущую стоимость. |
JFormattedTextField.AbstractFormatterFactory |
getFormatterFactory()
Возвращает ток
AbstractFormatterFactory . |
Строка |
getUIClassID()
Получает ID класса для UI.
|
Объект |
getValue()
Возвращает последнее допустимое значение.
|
protected void |
invalidEdit()
Вызванный, когда вводы данных пользователем недопустимое значение.
|
boolean |
isEditValid()
Возвращает true, если отредактированная текущая стоимость допустима.
|
protected void |
processFocusEvent(FocusEvent e)
Процессы любые события фокуса, такой как
FocusEvent.FOCUS_GAINED или FocusEvent.FOCUS_LOST . |
protected void |
processInputMethodEvent(InputMethodEvent e)
Процессы любые входные события метода, такой как
InputMethodEvent.INPUT_METHOD_TEXT_CHANGED или InputMethodEvent.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)
Устанавливает значение, которое будет отформатировано
AbstractFormatter полученный из тока AbstractFormatterFactory . |
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
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, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, updateUI, viewToModel, write
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, isPaintingOrigin, 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
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, transferFocusDownCycle, validate, validateTree
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, transferFocusBackward, transferFocusUpCycle
public static final int COMMIT
commitEdit
должен быть вызван. Если в фиксировании нового значения a ParseException
бросается, недопустимое значение останется.public static final int COMMIT_OR_REVERT
commitEdit
должен быть вызван. Если в фиксировании нового значения a ParseException
бросается, значение вернется.public static final int REVERT
JFormattedTextField
.public static final int PERSIST
public JFormattedTextField()
JFormattedTextField
без AbstractFormatterFactory
. Использовать setMask
или setFormatterFactory
сконфигурировать JFormattedTextField
отредактировать определенный тип имеющий значение.public JFormattedTextField(Object value)
AbstractFormatterFactory
основанный на типе value
.value
- Начальное значение для JFormattedTextFieldpublic JFormattedTextField(Format format)
JFormattedTextField
. format
обертывается в соответствующее AbstractFormatter
который тогда обертывается в AbstractFormatterFactory
.format
- Формат, используемый, чтобы искать AbstractFormatterpublic JFormattedTextField(JFormattedTextField.AbstractFormatter formatter)
JFormattedTextField
с указанным AbstractFormatter
. AbstractFormatter
помещается в AbstractFormatterFactory
.formatter
- AbstractFormatter, чтобы использовать для того, чтобы отформатировать.public JFormattedTextField(JFormattedTextField.AbstractFormatterFactory factory)
JFormattedTextField
с указанным AbstractFormatterFactory
.factory
- AbstractFormatterFactory используется для того, чтобы отформатировать.public JFormattedTextField(JFormattedTextField.AbstractFormatterFactory factory, Object currentValue)
JFormattedTextField
с указанным AbstractFormatterFactory
и начальное значение.factory
- AbstractFormatterFactory
используемый для того, чтобы отформатировать.currentValue
- Начальное значение, чтобы использоватьpublic void setFocusLostBehavior(int behavior)
JFormattedTextField.COMMIT_OR_REVERT
, JFormattedTextField.REVERT
, JFormattedTextField.COMMIT
или JFormattedTextField.PERSIST
Отметьте что некоторые AbstractFormatter
s может продвинуть изменения, как они происходят, так, чтобы значение этого не имело никакого эффекта. Это бросит IllegalArgumentException
если объект, который передают в, не является одним из перед упомянутыми значениями.
Значение по умолчанию этого свойства JFormattedTextField.COMMIT_OR_REVERT
.
behavior
- Идентифицирует поведение, когда фокус теряетсяIllegalArgumentException
- если поведение не является одним из известных значенийpublic int getFocusLostBehavior()
COMMIT_OR_REVERT
, COMMIT
, REVERT
или PERSIST
Отметьте что некоторые AbstractFormatter
s может продвинуть изменения, как они происходят, так, чтобы значение этого не имело никакого эффекта.public void setFormatterFactory(JFormattedTextField.AbstractFormatterFactory tf)
AbstractFormatterFactory
. AbstractFormatterFactory
в состоянии возвратить экземпляр AbstractFormatter
это используется, чтобы отформатировать значение для дисплея, также осуществление политики редактирования. Если Вы явно не установили AbstractFormatterFactory
посредством этого метода (или конструктор) AbstractFormatterFactory
и следовательно AbstractFormatter
будет использоваться основанный на Class
из значения. NumberFormatter
будет использоваться для Number
s, DateFormatter
будет использоваться для Dates
, иначе DefaultFormatter
будет использоваться.
Это - JavaBeans связанное свойство.
tf
- AbstractFormatterFactory
привыкший к экземплярам поиска AbstractFormatter
public JFormattedTextField.AbstractFormatterFactory getFormatterFactory()
AbstractFormatterFactory
.AbstractFormatterFactory
используемый, чтобы определить AbstractFormatter
ssetFormatterFactory(javax.swing.JFormattedTextField.AbstractFormatterFactory)
protected void setFormatter(JFormattedTextField.AbstractFormatter format)
AbstractFormatter
. Недопустимо обычно вызывать это, вместо этого устанавливать AbstractFormatterFactory
или набор значение. JFormattedTextField
вызовет это как состояние JFormattedTextField
изменения и требуют, чтобы значение было сброшено. JFormattedTextField
передачи в AbstractFormatter
полученный из AbstractFormatterFactory
.
Это - JavaBeans связанное свойство.
format
- AbstractFormatter, чтобы использовать для того, чтобы отформатироватьsetFormatterFactory(javax.swing.JFormattedTextField.AbstractFormatterFactory)
public JFormattedTextField.AbstractFormatter getFormatter()
AbstractFormatter
это используется, чтобы отформатировать и проанализировать текущую стоимость.public void setValue(Object value)
AbstractFormatter
полученный из тока AbstractFormatterFactory
. Если нет AbstractFormatterFactory
был определен, это попытается создать одно основанное на типе value
. Значение по умолчанию этого свойства является нулем.
Это - JavaBeans связанное свойство.
value
- Текущая стоимость, чтобы вывести на экранpublic Object getValue()
AbstractFormatter
это, возможно, не возвращает текущую стоимость. В настоящий момент отредактированное значение может быть получено, вызывая commitEdit
сопровождаемый getValue
.public void commitEdit() throws ParseException
AbstractFormatter
и набор как текущая стоимость. Это не имеет никакого эффекта, если нет никакого тока AbstractFormatter
установленный.ParseException
- если AbstractFormatter
не в состоянии отформатировать текущую стоимостьpublic boolean isEditValid()
AbstractFormatter
, как таковой нет никакого общедоступного метода set для этого.protected void invalidEdit()
protected void processInputMethodEvent(InputMethodEvent e)
InputMethodEvent.INPUT_METHOD_TEXT_CHANGED
или InputMethodEvent.CARET_POSITION_CHANGED
.processInputMethodEvent
в классе JTextComponent
e
- InputMethodEvent
InputMethodEvent
protected void processFocusEvent(FocusEvent e)
FocusEvent.FOCUS_GAINED
или FocusEvent.FOCUS_LOST
.processFocusEvent
в классе Component
e
- FocusEvent
FocusEvent
public Action[] getActions()
getActions
в классе JTextField
public String getUIClassID()
getUIClassID
в классе JTextField
JComponent.getUIClassID()
public void setDocument(Document doc)
setDocument
в классе JTextField
doc
- документ дисплею/редактированиюJTextComponent.getDocument()
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.