コンストラクタ

広告

JFormattedTextFieldには6つのコンストラクタが用意されています。

コンストラクタ
JFormattedTextField()
AbstractFormatterFactory を使用しないで JFormattedTextField を生成します。
JFormattedTextField(Format format)
JFormattedTextField を生成します。
JFormattedTextField(JFormattedTextField.AbstractFormatter formatter)
指定された AbstractFormatter を使用して JFormattedTextField を生成します。
JFormattedTextField(JFormattedTextField.AbstractFormatterFactory factory)
指定された AbstractFormatterFactory を使用して JFormattedTextField を生成します。
JFormattedTextField(JFormattedTextField.AbstractFormatterFactory factory, Object currentValue)
指定された AbstractFormatterFactory と初期値を使用して JFormattedTextField を生成します。
JFormattedTextField(Object value)
指定された値を使用して JFormattedTextField を生成します。

コンストラクタでは、引数にフォーマットをどうするかを指定します。2番目、3番目、4番目のコンストラクタを見てみます。

JFormattedTextField を生成します。format は適切な AbstractFormatter 
にラップされ、AbstractFormatter は AbstractFormatterFactory にラップ
されます。 

パラメータ:
  format - AbstractFormatter の検索に使用されるフォーマット
指定された AbstractFormatter を使用して JFormattedTextField を生成しま
す。AbstractFormatter は AbstractFormatterFactory に配置されます。 

パラメータ:
  formatter - フォーマットで使用される AbstractFormatter
指定された AbstractFormatterFactory を使用して JFormattedTextField を
生成します。 

パラメータ:
  factory - フォーマットに使用される AbstractFormatterFactory

詳細はこれから見ていきたいと思いますが、AbstractFormatterFactoryが一番大元で、AbstractFormatterがその一部、さらにFormatはさらにその一部、といった感じでしょうか。それぞれのクラス関係図を見てみますと、

java.lang.Object
  |
  +-java.text.Format
  |   |
  |   +-java.text.DateFormat
  |   |   |
  |   |   +-java.text.SimpleDateFormat
  |   |
  |   +-java.text.MessageFormat
  |   |
  |   +-java.text.NumberFormat
  |       |
  |       +-java.text.DecimalFormat
  |       |
  |       +-java.text.ChoiceFormat
  |
  +-javax.swing.JFormattedTextField.AbstractFormatter
  |   |
  |   +-javax.swing.text.DefaultFormatter
  |       |
  |       +-javax.swing.text.MaskFormatter
  |       |
  |       +-javax.swing.text.InternationalFormatter
  |           |
  |           +-javax.swing.text.DateFormatter
  |           |
  |           +-javax.swing.text.NumberFormatter
  |
  +-javax.swing.JFormattedTextField.AbstractFormatterFactory
      |
      +-javax.swing.text.DefaultFormatterFactory

といった感じです。色々あるので、順に見ていきます。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)