|
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 и прислушивание PropertyChangeEvents с именем свойства 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.AbstractFormatters сделает новые значения доступными на каждом редактировании, и другие никогда не будут фиксировать значение. Можно вынудить текущую стоимость быть полученной из тока 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 Распараллеливает Политику.
Предупреждение: Сериализированные объекты этого class не будут совместимыми с будущими выпусками Swing. Текущая поддержка сериализации является подходящей для краткосрочного хранения или RMI между приложениями, выполняющими ту же самую версию Swing. С 1.4, поддержка длительного хранения всего JavaBeansTM была добавлена к java.beans пакет. Пожалуйста, см. XMLEncoder.
| Модификатор и Тип | Класс и Описание |
|---|---|
static class |
JFormattedTextField. AbstractFormatter
Экземпляры
AbstractFormatter используются JFormattedTextField обработать преобразование и от Объекта до Строки, и назад от Строки до Объекта. |
static class |
JFormattedTextField.AbstractFormatterFactory
Экземпляры
AbstractFormatterFactory используются JFormattedTextField получить экземпляры AbstractFormatter которые поочередно используются, чтобы отформатировать значения. |
JTextField. AccessibleJTextFieldJTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBindingJComponent. AccessibleJComponentКонтейнер. AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy| Модификатор и Тип | Поле и Описание |
|---|---|
static int |
ФИКСАЦИЯ
Постоянная идентификация это, когда фокус теряется,
commitEdit должен быть вызван. |
static int |
COMMIT_OR_REVERT
Постоянная идентификация это, когда фокус теряется,
commitEdit должен быть вызван. |
static int |
СОХРАНИТЬСЯ
Постоянная идентификация, что, когда фокус теряется, отредактированное значение нужно оставить.
|
static int |
ВЕРНУТЬСЯ
Постоянная идентификация, которая, когда фокус теряется, редактируя значение, должна вернуться к набору текущей стоимости на
JFormattedTextField. |
notifyActionDEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEYlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTBOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WESTABORT, 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 class для 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, setScrollOffsetaddCaretListener, 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, writeaddAncestorListener, 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, hide, 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, updateadd, 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, validateTreeaction, 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, 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, transferFocusUpCyclepublic static final int COMMIT
commitEdit должен быть вызван. Если в фиксировании нового значения a ParseException бросается, недопустимое значение останется.setFocusLostBehavior(int), Постоянные Значения полейpublic static final int COMMIT_OR_REVERT
commitEdit должен быть вызван. Если в фиксировании нового значения a ParseException бросается, значение вернется.setFocusLostBehavior(int), Постоянные Значения полейpublic static final int REVERT
JFormattedTextField.setFocusLostBehavior(int), Постоянные Значения полейpublic static final int PERSIST
setFocusLostBehavior(int), Постоянные Значения полей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 Отметьте что некоторые AbstractFormatters может продвинуть изменения, как они происходят, так, чтобы значение этого не имело никакого эффекта. Это бросит IllegalArgumentException если объект, который передают в, не является одним из перед упомянутыми значениями.
Значение по умолчанию этого свойства JFormattedTextField.COMMIT_OR_REVERT.
behavior - Идентифицирует поведение, когда фокус теряетсяIllegalArgumentException - если поведение не является одним из известных значенийpublic int getFocusLostBehavior()
COMMIT_OR_REVERT, COMMIT, REVERT или PERSIST Отметьте что некоторые AbstractFormatters может продвинуть изменения, как они происходят, так, чтобы значение этого не имело никакого эффекта.public void setFormatterFactory(JFormattedTextField.AbstractFormatterFactory tf)
AbstractFormatterFactory. AbstractFormatterFactory в состоянии возвратить экземпляр AbstractFormatter это используется, чтобы отформатировать значение для дисплея, также осуществление политики редактирования. Если Вы явно не установили AbstractFormatterFactory посредством этого метода (или конструктор) AbstractFormatterFactory и следовательно AbstractFormatter будет использоваться основанный на Class из значения. NumberFormatter будет использоваться для Numbers, DateFormatter будет использоваться для Dates, иначе DefaultFormatter будет использоваться.
Это - JavaBeans связанное свойство.
tf - AbstractFormatterFactory привыкший к экземплярам поиска AbstractFormatterpublic JFormattedTextField.AbstractFormatterFactory getFormatterFactory()
AbstractFormatterFactory.AbstractFormatterFactory используемый, чтобы определить AbstractFormatterssetFormatterFactory(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 в class JTextComponente - InputMethodEventInputMethodEventprotected void processFocusEvent(FocusEvent e)
FocusEvent.FOCUS_GAINED или FocusEvent.FOCUS_LOST.processFocusEvent в class Componente - FocusEventFocusEventpublic Action[] getActions()
getActions в class JTextFieldpublic String getUIClassID()
getUIClassID в class JTextFieldJComponent.getUIClassID()public void setDocument(Document doc)
setDocument в class JTextFielddoc - документ дисплею/редактированиюJTextComponent.getDocument()
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92