declare namespace javax { namespace swing { /** * JFormattedTextField extends JTextField adding * support for formatting arbitrary values, as well as retrieving a particular * object once the user has edited the text. The following illustrates * configuring a JFormattedTextField to edit dates: *
         * JFormattedTextField ftf = new JFormattedTextField();
         * ftf.setValue(new Date());
         * 
*

* Once a JFormattedTextField has been created, you can * listen for editing changes by way of adding * a PropertyChangeListener and listening for * PropertyChangeEvents with the property name value. *

* JFormattedTextField allows * configuring what action should be taken when focus is lost. The possible * configurations are: * * *

Value

Description

JFormattedTextField.REVERT * Revert the display to match that of getValue, * possibly losing the current edit. *
JFormattedTextField.COMMIT * Commits the current value. If the value being edited * isn't considered a legal value by the * AbstractFormatter that is, a * ParseException is thrown, then the value * will not change, and then edited value will persist. *
JFormattedTextField.COMMIT_OR_REVERT * Similar to COMMIT, but if the value isn't * legal, behave like REVERT. *
JFormattedTextField.PERSIST * Do nothing, don't obtain a new * AbstractFormatter, and don't update the value. *
* The default is JFormattedTextField.COMMIT_OR_REVERT, * refer to {@link #setFocusLostBehavior} for more information on this. *

* JFormattedTextField allows the focus to leave, even if * the currently edited value is invalid. To lock the focus down while the * JFormattedTextField is an invalid edit state * you can attach an InputVerifier. The following code snippet * shows a potential implementation of such an 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);
         * }
         * }
         * 
*

* Alternatively, you could invoke commitEdit, which would also * commit the value. *

* JFormattedTextField does not do the formatting it self, * rather formatting is done through an instance of * JFormattedTextField.AbstractFormatter which is obtained from * an instance of JFormattedTextField.AbstractFormatterFactory. * Instances of JFormattedTextField.AbstractFormatter are * notified when they become active by way of the * install method, at which point the * JFormattedTextField.AbstractFormatter can install whatever * it needs to, typically a DocumentFilter. Similarly when * JFormattedTextField no longer * needs the AbstractFormatter, it will invoke * uninstall. *

* JFormattedTextField typically * queries the AbstractFormatterFactory for an * AbstractFormat when it gains or loses focus. Although this * can change based on the focus lost policy. If the focus lost * policy is JFormattedTextField.PERSIST * and the JFormattedTextField has been edited, the * AbstractFormatterFactory will not be queried until the * value has been committed. Similarly if the focus lost policy is * JFormattedTextField.COMMIT and an exception * is thrown from stringToValue, the * AbstractFormatterFactory will not be queried when focus is * lost or gained. *

* JFormattedTextField.AbstractFormatter * is also responsible for determining when values are committed to * the JFormattedTextField. Some * JFormattedTextField.AbstractFormatters will make new values * available on every edit, and others will never commit the value. You can * force the current value to be obtained * from the current JFormattedTextField.AbstractFormatter * by way of invoking commitEdit. commitEdit will * be invoked whenever return is pressed in the * JFormattedTextField. *

* If an AbstractFormatterFactory has not been explicitly * set, one will be set based on the Class of the value type after * setValue has been invoked (assuming value is non-null). * For example, in the following code an appropriate * AbstractFormatterFactory and AbstractFormatter * will be created to handle formatting of numbers: *

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

* Warning: As the AbstractFormatter will * typically install a DocumentFilter on the * Document, and a NavigationFilter on the * JFormattedTextField you should not install your own. If you do, * you are likely to see odd behavior in that the editing policy of the * AbstractFormatter will not be enforced. *

* Warning: Swing is not thread safe. For more * information see Swing's Threading * Policy. *

* Warning: * Serialized objects of this class will not be compatible with * future Swing releases. The current serialization support is * appropriate for short term storage or RMI between applications running * the same version of Swing. As of 1.4, support for long term storage * of all JavaBeans™ * has been added to the java.beans package. * Please see {@link java.beans.XMLEncoder}. * @since 1.4 */ // @ts-ignore class JFormattedTextField extends javax.swing.JTextField { /** * Creates a JFormattedTextField with no * AbstractFormatterFactory. Use setMask or * setFormatterFactory to configure the * JFormattedTextField to edit a particular type of * value. */ // @ts-ignore constructor() /** * Creates a JFormattedTextField with the specified value. This will * create an AbstractFormatterFactory based on the * type of value. * @param value Initial value for the JFormattedTextField */ // @ts-ignore constructor(value: java.lang.Object | any) /** * Creates a JFormattedTextField. format is * wrapped in an appropriate AbstractFormatter which is * then wrapped in an AbstractFormatterFactory. * @param format Format used to look up an AbstractFormatter */ // @ts-ignore constructor(format: java.text.Format) /** * Creates a JFormattedTextField with the specified * AbstractFormatter. The AbstractFormatter * is placed in an AbstractFormatterFactory. * @param formatter AbstractFormatter to use for formatting. */ // @ts-ignore constructor(formatter: javax.swing.JFormattedTextField.AbstractFormatter) /** * Creates a JFormattedTextField with the specified * AbstractFormatterFactory. * @param factory AbstractFormatterFactory used for formatting. */ // @ts-ignore constructor(factory: javax.swing.JFormattedTextField.AbstractFormatterFactory) /** * Creates a JFormattedTextField with the specified * AbstractFormatterFactory and initial value. * @param factory AbstractFormatterFactory used for * formatting. * @param currentValue Initial value to use */ // @ts-ignore constructor(factory: javax.swing.JFormattedTextField.AbstractFormatterFactory, currentValue: java.lang.Object | any) /** * Constant identifying that when focus is lost, * commitEdit should be invoked. If in committing the * new value a ParseException is thrown, the invalid * value will remain. * @see #setFocusLostBehavior */ // @ts-ignore public static readonly COMMIT: number /*int*/ /** * Constant identifying that when focus is lost, * commitEdit should be invoked. If in committing the new * value a ParseException is thrown, the value will be * reverted. * @see #setFocusLostBehavior */ // @ts-ignore public static readonly COMMIT_OR_REVERT: number /*int*/ /** * Constant identifying that when focus is lost, editing value should * be reverted to current value set on the * JFormattedTextField. * @see #setFocusLostBehavior */ // @ts-ignore public static readonly REVERT: number /*int*/ /** * Constant identifying that when focus is lost, the edited value * should be left. * @see #setFocusLostBehavior */ // @ts-ignore public static readonly PERSIST: number /*int*/ /** * Sets the behavior when focus is lost. This will be one of * JFormattedTextField.COMMIT_OR_REVERT, * JFormattedTextField.REVERT, * JFormattedTextField.COMMIT or * JFormattedTextField.PERSIST * Note that some AbstractFormatters may push changes as * they occur, so that the value of this will have no effect. *

* This will throw an IllegalArgumentException if the object * passed in is not one of the afore mentioned values. *

* The default value of this property is * JFormattedTextField.COMMIT_OR_REVERT. * @param behavior Identifies behavior when focus is lost * @throws IllegalArgumentException if behavior is not one of the known * values * @beaninfo enum: COMMIT JFormattedTextField.COMMIT * COMMIT_OR_REVERT JFormattedTextField.COMMIT_OR_REVERT * REVERT JFormattedTextField.REVERT * PERSIST JFormattedTextField.PERSIST * description: Behavior when component loses focus */ // @ts-ignore public setFocusLostBehavior(behavior: number /*int*/): void /** * Returns the behavior when focus is lost. This will be one of * COMMIT_OR_REVERT, * COMMIT, * REVERT or * PERSIST * Note that some AbstractFormatters may push changes as * they occur, so that the value of this will have no effect. * @return returns behavior when focus is lost */ // @ts-ignore public getFocusLostBehavior(): number /*int*/ /** * Sets the AbstractFormatterFactory. * AbstractFormatterFactory is * able to return an instance of AbstractFormatter that is * used to format a value for display, as well an enforcing an editing * policy. *

* If you have not explicitly set an AbstractFormatterFactory * by way of this method (or a constructor) an * AbstractFormatterFactory and consequently an * AbstractFormatter will be used based on the * Class of the value. NumberFormatter will * be used for Numbers, DateFormatter will * be used for Dates, otherwise DefaultFormatter * will be used. *

* This is a JavaBeans bound property. * @param tf AbstractFormatterFactory used to lookup * instances of AbstractFormatter * @beaninfo bound: true * attribute: visualUpdate true * description: AbstractFormatterFactory, responsible for returning an * AbstractFormatter that can format the current value. */ // @ts-ignore public setFormatterFactory(tf: javax.swing.JFormattedTextField.AbstractFormatterFactory): void /** * Returns the current AbstractFormatterFactory. * @see #setFormatterFactory * @return AbstractFormatterFactory used to determine * AbstractFormatters */ // @ts-ignore public getFormatterFactory(): javax.swing.JFormattedTextField.AbstractFormatterFactory /** * Sets the current AbstractFormatter. *

* You should not normally invoke this, instead set the * AbstractFormatterFactory or set the value. * JFormattedTextField will * invoke this as the state of the JFormattedTextField * changes and requires the value to be reset. * JFormattedTextField passes in the * AbstractFormatter obtained from the * AbstractFormatterFactory. *

* This is a JavaBeans bound property. * @see #setFormatterFactory * @param format AbstractFormatter to use for formatting * @beaninfo bound: true * attribute: visualUpdate true * description: TextFormatter, responsible for formatting the current value */ // @ts-ignore setFormatter(format: javax.swing.JFormattedTextField.AbstractFormatter): void /** * Returns the AbstractFormatter that is used to format and * parse the current value. * @return AbstractFormatter used for formatting */ // @ts-ignore public getFormatter(): javax.swing.JFormattedTextField.AbstractFormatter /** * Sets the value that will be formatted by an * AbstractFormatter obtained from the current * AbstractFormatterFactory. If no * AbstractFormatterFactory has been specified, this will * attempt to create one based on the type of value. *

* The default value of this property is null. *

* This is a JavaBeans bound property. * @param value Current value to display * @beaninfo bound: true * attribute: visualUpdate true * description: The value to be formatted. */ // @ts-ignore public setValue(value: java.lang.Object | any): void /** * Returns the last valid value. Based on the editing policy of * the AbstractFormatter this may not return the current * value. The currently edited value can be obtained by invoking * commitEdit followed by getValue. * @return Last valid value */ // @ts-ignore public getValue(): any /** * Forces the current value to be taken from the * AbstractFormatter and set as the current value. * This has no effect if there is no current * AbstractFormatter installed. * @throws ParseException if the AbstractFormatter is not able * to format the current value */ // @ts-ignore public commitEdit(): void /** * Returns true if the current value being edited is valid. The value of * this is managed by the current AbstractFormatter, as such * there is no public setter for it. * @return true if the current value being edited is valid. */ // @ts-ignore public isEditValid(): boolean /** * Invoked when the user inputs an invalid value. This gives the * component a chance to provide feedback. The default * implementation beeps. */ // @ts-ignore invalidEdit(): void /** * Processes any input method events, such as * InputMethodEvent.INPUT_METHOD_TEXT_CHANGED or * InputMethodEvent.CARET_POSITION_CHANGED. * @param e the InputMethodEvent * @see InputMethodEvent */ // @ts-ignore processInputMethodEvent(e: java.awt.event.InputMethodEvent): void /** * Processes any focus events, such as * FocusEvent.FOCUS_GAINED or * FocusEvent.FOCUS_LOST. * @param e the FocusEvent * @see FocusEvent */ // @ts-ignore processFocusEvent(e: java.awt.event.FocusEvent): void /** * Fetches the command list for the editor. This is * the list of commands supported by the plugged-in UI * augmented by the collection of commands that the * editor itself supports. These are useful for binding * to events, such as in a keymap. * @return the command list */ // @ts-ignore public getActions(): javax.swing.Action[] /** * Gets the class ID for a UI. * @return the string "FormattedTextFieldUI" * @see JComponent#getUIClassID */ // @ts-ignore public getUIClassID(): string /** * Associates the editor with a text document. * The currently registered factory is used to build a view for * the document, which gets displayed by the editor after revalidation. * A PropertyChange event ("document") is propagated to each listener. * @param doc the document to display/edit * @see #getDocument * @beaninfo description: the text document model * bound: true * expert: true */ // @ts-ignore public setDocument(doc: javax.swing.text.Document): void } } }