java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

javax.swing.text
类 DefaultFormatter

java.lang.Object
  继承者 javax.swing.JFormattedTextField.AbstractFormatter
      继承者 javax.swing.text.DefaultFormatter
所有已实现的接口:
Serializable, Cloneable
直接已知子类:
InternationalFormatter, MaskFormatter

public class DefaultFormatter
extends JFormattedTextField.AbstractFormatter
implements Cloneable, Serializable

DefaultFormatter 格式化任意对象。格式化是通过调用 toString 方法完成的。为将值转换回 String,类必须提供一个采用 String 参数的构造方法。如果未发现采用 String 的单一参数构造方法,则返回值将为传入 stringToValue 的 String。

DefaultFormatter 的实例不能在 JFormattedTextField 的多个实例中使用。要获得已配置好的 DefaultFormatter 的副本,请使用 clone 方法。

警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder

从以下版本开始:
1.4
另请参见:
JFormattedTextField.AbstractFormatter

构造方法摘要
DefaultFormatter()
          创建 DefaultFormatter。
 
方法摘要
 Object clone()
          创建此 DefaultFormatter 的副本。
 boolean getAllowsInvalid()
          返回编辑的值是否在一段时间内允许为无效。
 boolean getCommitsOnValidEdit()
          返回何时将编辑内容发布回 JFormattedTextField
protected  DocumentFilter getDocumentFilter()
          返回用于限制放置到 JFormattedTextField 中的字符的 DocumentFilter
protected  NavigationFilter getNavigationFilter()
          返回用于限制光标放置位置的 NavigationFilter
 boolean getOverwriteMode()
          返回插入字符时的行为。
 Class<?> getValueClass()
          返回用于创建新 Objects 的类。
 void install(JFormattedTextField ftf)
          将 DefaultFormatter 安装到特定的 JFormattedTextField
 void setAllowsInvalid(boolean allowsInvalid)
          设置编辑的值在一段时间内是否允许为无效(也就是说,stringToValue 是否抛出 ParseException)。
 void setCommitsOnValidEdit(boolean commit)
          设置何时将编辑内容发布回 JFormattedTextField
 void setOverwriteMode(boolean overwriteMode)
          配置插入字符时的行为。
 void setValueClass(Class<?> valueClass)
          设置用于创建新 Objects 的类。
 Object stringToValue(String string)
          通过使用带 String 参数的构造方法将传入的 String 转换为 getValueClass 的一个实例。
 String valueToString(Object value)
          使用 toString 方法将传入的 Object 转换为 String。
 
从类 javax.swing.JFormattedTextField.AbstractFormatter 继承的方法
getActions, getFormattedTextField, invalidEdit, setEditValid, uninstall
 
从类 java.lang.Object 继承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

DefaultFormatter

public DefaultFormatter()
创建 DefaultFormatter。

方法详细信息

install

public void install(JFormattedTextField ftf)
DefaultFormatter 安装到特定的 JFormattedTextField。这会调用 valueToString,以便将 JFormattedTextField 的当前值转换为 String。此方法稍后将会把 getActions 返回的 ActiongetDocumentFilter 返回的 DocumentFiltergetNavigationFilter 返回的 NavigationFilter 安装到 JFormattedTextField 上。

如果子类希望在 JFormattedTextField 上安装其他侦听器,则通常只需要重写此方法。

如果在将当前值转换为 String 时存在 ParseException,则这会将文本设置为空 String,并将 JFormattedTextField 标记为正处在无效状态。

尽管这是一个公共方法,但通常仅供 JFormattedTextField 的子类使用。当值发生更改,或内部状态发生更改时,JFormattedTextField 将在适当的时候调用此方法。

覆盖:
JFormattedTextField.AbstractFormatter 中的 install
参数:
ftf - 要格式化为的 JFormattedTextField,可以为 null,指示未从当前的 JFormattedTextField 安装。

setCommitsOnValidEdit

public void setCommitsOnValidEdit(boolean commit)
设置何时将编辑内容发布回 JFormattedTextField。如果为 true,commitEdit 在每次有效编辑(编辑文本的任何时间)后调用。另一方面,如果为 false,则 DefaultFormatter 不会将编辑内容发布回 JFormattedTextField。因此,JFormattedTextField 值的惟一一次改变发生的时间是,在 JFormattedTextField 上调用 commitEdit 时,通常为按下回车或当焦点离开 JFormattedTextField 时。

参数:
commit - 用于指示何时将编辑内容提交回 JTextComponent

getCommitsOnValidEdit

public boolean getCommitsOnValidEdit()
返回何时将编辑内容发布回 JFormattedTextField

返回:
如果在每次有效编辑后提交编辑,则返回 true

setOverwriteMode

public void setOverwriteMode(boolean overwriteMode)
配置插入字符时的行为。如果 overwriteMode 为 true (默认值),新字符将改写模型中现有的字符。

参数:
overwriteMode - 指示使用改写或替代模式

getOverwriteMode

public boolean getOverwriteMode()
返回插入字符时的行为。

返回:
如果新插入字符改写现有字符,则返回 true

setAllowsInvalid

public void setAllowsInvalid(boolean allowsInvalid)
设置编辑的值在一段时间内是否允许为无效(也就是说,stringToValue 是否抛出 ParseException)。允许用户临时输入一个无效值会很方便。

参数:
allowsInvalid - 用于指示编辑的值是否必须始终为有效

getAllowsInvalid

public boolean getAllowsInvalid()
返回编辑的值是否在一段时间内允许为无效。

返回:
如果编辑的值必须始终为有效,则返回 false

setValueClass

public void setValueClass(Class<?> valueClass)
设置用于创建新 Objects 的类。如果传入的类不具有采用 String 的只带一个参数的构造方法,将使用 String 值。

参数:
valueClass - 用于构造从 stringToValue 中返回的值的类

getValueClass

public Class<?> getValueClass()
返回用于创建新 Objects 的类。

返回:
用于构造从 stringToValue 中返回的值的类

stringToValue

public Object stringToValue(String string)
                     throws ParseException
通过使用带 String 参数的构造方法将传入的 String 转换为 getValueClass 的一个实例。如果 getValueClass 返回 null,将使用 JFormattedTextField 中当前值的类。如果它为 null,将返回一个 String。如果构造方法抛出异常,则会抛出 ParseException。如果没有只带一个参数的 String 构造方法,则返回 string

指定者:
JFormattedTextField.AbstractFormatter 中的 stringToValue
参数:
string - 要转换的字符串
返回:
文本的 Object 表示形式
抛出:
ParseException - 如果转换过程中出现错误

valueToString

public String valueToString(Object value)
                     throws ParseException
使用 toString 方法将传入的 Object 转换为 String。

指定者:
JFormattedTextField.AbstractFormatter 中的 valueToString
参数:
value - 要转换的值
返回:
值的 String 表示形式
抛出:
ParseException - 如果在转换时发生错误

getDocumentFilter

protected DocumentFilter getDocumentFilter()
返回用于限制放置到 JFormattedTextField 中的字符的 DocumentFilter

覆盖:
JFormattedTextField.AbstractFormatter 中的 getDocumentFilter
返回:
限制编辑的 DocumentFilter

getNavigationFilter

protected NavigationFilter getNavigationFilter()
返回用于限制光标放置位置的 NavigationFilter

覆盖:
JFormattedTextField.AbstractFormatter 中的 getNavigationFilter
返回:
限制导航的 NavigationFilter

clone

public Object clone()
             throws CloneNotSupportedException
创建此 DefaultFormatter 的副本。

覆盖:
JFormattedTextField.AbstractFormatter 中的 clone
返回:
DefaultFormatter 的副本
抛出:
CloneNotSupportedException - 如果对象的类不支持 Cloneable 接口,则重写 clone 方法的子类也会抛出此异常,以指示无法克隆某个实例。
另请参见:
Cloneable

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策