Java プラットフォーム 1.2

javax.swing
クラス JTextField

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.text.JTextComponent
                          |
                          +--javax.swing.JTextField
直接の既知のサブクラス:
DefaultTreeCellEditor.DefaultTextField, JPasswordField

public class JTextField
extends JTextComponent
implements SwingConstants

JTextField は、1 行テキストの編集を可能にする軽量コンポーネントです。この処理を適切に行う java.awt.TextField クラスとのソース互換性を提供することを意図しています。このコンポーネントは、java.awt.TextField クラスにはない機能を備えています。追加機能については、スーパークラスを参照してください。

JTextField は、発生するアクションイベントのコマンド文字列として使う文字列を確定するメソッドを持ちます。java.awt.TextField は、フィールドのテキストを ActionEvent のコマンド文字列として使いました。JTextField は null でなければ、setActionCommand メソッドで設定されたコマンド文字列を使います。それ以外の場合は、フィールドのテキストを java.awt.TextField との互換機能として使います。

プラグイン可能な Look & Feel の新しい実装がパスワード文字列を偶発的に表示してしまわないようにするために、setEchoChar メソッドと getEchoChar メソッドは直接提供はされません。パスワード様式のサービスを提供するためには、これとは別の JPasswordField クラスが JTextField を拡張して導入され、独自にプラグイン可能な Look & Feel にこのサービスを提供します。

java.awt.TextField の変更を監視するには、TextEvent の TextListener を追加します。JTextComponent ベースのコンポーネントでは、DocumentEvent 経由でモデルから DocumentListeners に変更が送られます。DocumentEvent は必要に応じて、変更位置と変更の種類を提供します。コードは次のようになります。


    DocumentListener myListener = ??;
    JTextField myArea = ??;
    myArea.getDocument().addDocumentListener(myListener);
 

フィールドテキストの割り当てサイズが必要なサイズよりも大きい場合は、JTextField の水平配置を左揃え、中央揃え、右揃えに設定できます。これは、setHorizontalAlignment メソッドと getHorizontalAlignment メソッドによって指定されます。デフォルトでは、左揃えになります。

標準の Look & Feel (L&F) 表現でこのコンポーネントが使用するキーボードのキーについては、JTextField のキーの割り当てを参照してください。

java.awt.TextField と互換性を保つために、VK_ENTER キーは登録済みの ActionListener に対して ActionEvent を発生させます。ただし、AWT は Swing のようにデフォルトボタンを持ちませんでした。テキストフィールドがフォーカスを持ち、VK_ENTER キーが押されると、デフォルトボタンをアクティブにするのではなく、フィールドに ActionEvent を発生させます。次のコードはテキストフィールドの AWT との互換性を無効にするために、すべての JTextFields が使うデフォルトキーマップからの VK_ENTER の割り当てを必要に応じて削除します。



static {
JTextField f = new JTextField();
KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
Keymap map = f.getKeymap();
map.removeKeyStrokeBinding(enter);
}

 

カスタマイズされたフィールドを簡単に作成するには、モデルを拡張して、提供されるデフォルトモデルを変更します。たとえば次のコードの一部は、大文字だけを保持するフィールドを作成します。これは、テキストがクリップボードからペーストされたり、プログラムに基づいて変更されても機能します。



public class UpperCaseField extends JTextField {

public UpperCaseField(int cols) {
super(cols);
}

protected Document createDefaultModel() {
return new UpperCaseDocument();
}

static class UpperCaseDocument extends PlainDocument {

public void insertString(int offs, String str, AttributeSet a) 
throws BadLocationException {

if (str == null) {
return;
}
char[] upper = str.toCharArray();
for (int i = 0; i < upper.length; i++) {
upper[i] = Character.toUpperCase(upper[i]);
}
super.insertString(offs, new String(upper), a);
}
}
}

 

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。

関連項目:
setActionCommand(java.lang.String), JPasswordField, 直列化された形式

内部クラスの概要
protected  class JTextField.AccessibleJTextField
          オブジェクトのユーザ補助機能を取得するために使用するクラスです。
 
クラス javax.swing.text.JTextComponent から継承した内部クラス
JTextComponent.AccessibleJTextComponent, JTextComponent.KeyBinding
 
クラス javax.swing.JComponent から継承した内部クラス
JComponent.AccessibleJComponent
 
フィールドの概要
static String notifyAction
          フィールドの内容が受け付けられたという通知を送るアクションの名前です。
 
クラス javax.swing.text.JTextComponent から継承したフィールド
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
クラス javax.swing.JComponent から継承したフィールド
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
クラス java.awt.Component から継承したフィールド
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
コンストラクタの概要
JTextField()
          新しい TextField を構築します。
JTextField(Document doc, String text, int columns)
          指定されたテキストストレージモデルと列数を使って新しい JTextField を構築します。
JTextField(int columns)
          指定された列数で新しい空の TextField を構築します。
JTextField(String text)
          指定されたテキストで初期化される新しい TextField を構築します。
JTextField(String text, int columns)
          指定されたテキストと列数で初期化される新しい TextField を構築します。
 
メソッドの概要
 void addActionListener(ActionListener l)
          指定されたアクションリスナーを追加して、アクションイベントをこのテキストフィールドから受け取ります。
protected  Document createDefaultModel()
          モデルが明示的に指定されない場合は、構築時に使うモデルのデフォルト実装を作成します。
protected  void fireActionPerformed()
          通知の配信対象をこのイベントタイプで登録したすべてのリスナーに通知します。
 AccessibleContext getAccessibleContext()
          この JTextField に関連付けられている AccessibleContext を取得します。
 Action[] getActions()
          エディタのコマンドリストを取得します。
 int getColumns()
          この TextField の列数を返します。
protected  int getColumnWidth()
          列幅を取得します。
 int getHorizontalAlignment()
          テキストの水平配置を返します。
 BoundedRangeModel getHorizontalVisibility()
          テキストフィールドの可視性を取得します。
 Dimension getPreferredSize()
          Dimensions がこの TextField に必要とした望ましいサイズを返します。
 int getScrollOffset()
          スクロールオフセットを取得します。
 String getUIClassID()
          UI のクラス ID を取得します。
 boolean isValidateRoot()
          テキストフィールド自身の中から発生する再検査対象の呼び出しは、テキストフィールドを検査することによって処理されます。
protected  String paramString()
          この JTextField の文字列表現を返します。
 void postActionEvent()
          このテキストフィールドで発生するアクションイベントを、登録済みの ActionListener オブジェクトのどれかにディスパッチすることで処理します。
 void removeActionListener(ActionListener l)
          指定されたアクションリスナーを削除して、アクションイベントをこのテキストフィールドからそれ以上受け取らないようにします。
 void scrollRectToVisible(Rectangle r)
          フィールドを左または右にスクロールします。
 void setActionCommand(String command)
          アクションイベントに使うコマンド文字列を設定します。
 void setColumns(int columns)
          この TextField の列数を設定し、配置を無効にします。
 void setFont(Font f)
          現在のフォントを設定します。
 void setHorizontalAlignment(int alignment)
          テキストの水平配置を設定します。
 void setScrollOffset(int scrollOffset)
          スクロールオフセットを設定します。
 
クラス javax.swing.text.JTextComponent から継承したメソッド
addCaretListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretPosition, getDisabledTextColor, getDocument, getFocusAccelerator, getHighlighter, getKeymap, getKeymap, getMargin, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getUI, isEditable, isFocusTraversable, isOpaque, loadKeymap, modelToView, moveCaretPosition, paste, processComponentKeyEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setDisabledTextColor, setDocument, setEditable, setEnabled, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setOpaque, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, updateUI, viewToModel, write
 
クラス javax.swing.JComponent から継承したメソッド
addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update
 
クラス java.awt.Container から継承したメソッド
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
クラス java.awt.Component から継承したメソッド
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

notifyAction

public static final String notifyAction
フィールドの内容が受け付けられたという通知を送るアクションの名前です。通常、これは復帰動作に割り当てられます。
コンストラクタの詳細

JTextField

public JTextField()
新しい TextField を構築します。デフォルトモデルが作成され、初期文字列は null で、列数が 0 に設定されます。

JTextField

public JTextField(String text)
指定されたテキストで初期化される新しい TextField を構築します。デフォルトモデルが作成され、列数は 0 です。
パラメータ:
text - 表示されるテキストまたは null

JTextField

public JTextField(int columns)
指定された列数で新しい空の TextField を構築します。デフォルトモデルが作成され、初期文字列は null に設定されます。
パラメータ:
columns - 望ましい幅を計算するのに使う列数。列数をゼロに設定すると、コンポーネント実装から自然に生ずるものは何であれ望ましい幅になる

JTextField

public JTextField(String text,
                  int columns)
指定されたテキストと列数で初期化される新しい TextField を構築します。デフォルトモデルが作成されます。
パラメータ:
text - 表示されるテキストまたは null
columns - 望ましい幅を計算するのに使う列数。列数をゼロに設定すると、コンポーネント実装から自然に生ずるものは何であれ望ましい幅になる

JTextField

public JTextField(Document doc,
                  String text,
                  int columns)
指定されたテキストストレージモデルと列数を使って新しい JTextField を構築します。これは、ほかのコンストラクタが影響を及ぼすコンストラクタです。ドキュメントが無効な場合はデフォルトモデルが作成されます。
パラメータ:
doc - 使用するテキストストレージ。null の場合は、createDefaultModel メソッドを呼び出すことによってデフォルトが提供される
text - 表示する初期文字列または null
columns - 望ましい幅を計算するのに使う列数 >= 0。列数をゼロに設定すると、コンポーネント実装から自然に生ずるものは何であれ望ましい幅になる
例外:
IllegalArgumentException - 列数が < 0 の場合
メソッドの詳細

getUIClassID

public String getUIClassID()
UI のクラス ID を取得します。
戻り値:
ID (TextFieldUI)
オーバーライド:
クラス JComponent 内の getUIClassID
関連項目:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

isValidateRoot

public boolean isValidateRoot()
テキストフィールド自身の中から発生する再検査対象の呼び出しは、テキストフィールドを検査することによって処理されます。
オーバーライド:
クラス JComponent 内の isValidateRoot
関連項目:
JComponent.revalidate(), JComponent.isValidateRoot()

getHorizontalAlignment

public int getHorizontalAlignment()
テキストの水平配置を返します。有効なキー: JTextField.LEFT (デフォルト)、JTextField.CENTER、JTextField.RIGHT
戻り値:
配置

setHorizontalAlignment

public void setHorizontalAlignment(int alignment)
テキストの水平配置を設定します。有効なキー: JTextField.LEFT (デフォルト)、JTextField.CENTER、JTextField.RIGHT。配置が設定されると invalidate() と repaint() が呼び出され、PropertyChange イベント ("horizontalAlignment") が発生する
パラメータ:
alignment - 配置
例外:
IllegalArgumentException - 指定された配置が有効なキーでない場合

createDefaultModel

protected Document createDefaultModel()
モデルが明示的に指定されない場合は、構築時に使うモデルのデフォルト実装を作成します。PlainDocument のインスタンスが返されます。
戻り値:
デフォルトモデルの実装

getColumns

public int getColumns()
この TextField の列数を返します。
戻り値:
列数 >= 0

setColumns

public void setColumns(int columns)
この TextField の列数を設定し、配置を無効にします。
パラメータ:
columns - 列数 >= 0
例外:
IllegalArgumentException - 列数が 0 より小さい場合

getColumnWidth

protected int getColumnWidth()
列幅を取得します。フォントによっては、列は弱い意味しか持ちません。このメソッドを使うと、1 列の幅を定義できます。これはデフォルトで、使用フォントの文字 m の幅で定義されます。このメソッドは、異なる幅になるように再定義できます。
戻り値:
列幅 >= 1

getPreferredSize

public Dimension getPreferredSize()
Dimensions がこの TextField に必要とした望ましいサイズを返します。ゼロ以外の列数が設定されていると、その幅は列数を列幅でかけた値に設定されます。
戻り値:
寸法
オーバーライド:
クラス JComponent 内の getPreferredSize

setFont

public void setFont(Font f)
現在のフォントを設定します。キャッシュされた行の高さと列の幅を削除するので、新しいフォントの設定が反映されます。revalidate() は、フォント設定後に呼び出されます。
パラメータ:
f - 新しいフォント
オーバーライド:
クラス JComponent 内の setFont

addActionListener

public void addActionListener(ActionListener l)
指定されたアクションリスナーを追加して、アクションイベントをこのテキストフィールドから受け取ります。
パラメータ:
l - アクションリスナー

removeActionListener

public void removeActionListener(ActionListener l)
指定されたアクションリスナーを削除して、アクションイベントをこのテキストフィールドからそれ以上受け取らないようにします。
パラメータ:
l - アクションリスナー

fireActionPerformed

protected void fireActionPerformed()
通知の配信対象をこのイベントタイプで登録したすべてのリスナーに通知します。イベントインスタンスは起動メソッドに渡されたパラメータを使ってあとで作成されます。リスナーリストは降順方式で処理されます。
関連項目:
EventListenerList

setActionCommand

public void setActionCommand(String command)
アクションイベントに使うコマンド文字列を設定します。
パラメータ:
command - コマンド文字列

getActions

public Action[] getActions()
エディタのコマンドリストを取得します。これは、エディタ自身がサポートするコマンドコレクションで拡張された、プラグイン済み UI によってサポートされるコマンドのリストです。これらは、キーマップ内でのように、イベントへの割り当てに役立ちます。
戻り値:
コマンドリスト
オーバーライド:
クラス JTextComponent 内の getActions

postActionEvent

public void postActionEvent()
このテキストフィールドで発生するアクションイベントを、登録済みの ActionListener オブジェクトのどれかにディスパッチすることで処理します。これは一般的に、テキストフィールドに登録されたコントローラによって呼び出されます。

getHorizontalVisibility

public BoundedRangeModel getHorizontalVisibility()
テキストフィールドの可視性を取得します。これを調整すると、フィールドのサイズが割り当てられた可視領域よりも大きい場合にその領域の位置を変更できます。 フィールドの Look & Feel の実装は、BoundedRangeModel の最小値、最大値、長さの各プロパティの値を管理します。
戻り値:
可視性
関連項目:
BoundedRangeModel

getScrollOffset

public int getScrollOffset()
スクロールオフセットを取得します。
戻り値:
オフセット >= 0

setScrollOffset

public void setScrollOffset(int scrollOffset)
スクロールオフセットを設定します。
パラメータ:
scrollOffset - オフセット >= 0

scrollRectToVisible

public void scrollRectToVisible(Rectangle r)
フィールドを左または右にスクロールします。
パラメータ:
r - スクロール対象の範囲
オーバーライド:
クラス JComponent 内の scrollRectToVisible

paramString

protected String paramString()
この JTextField の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null にはなりません。

JFC コンポーネントの新しい側面についての情報を返すには、paramString() をオーバーライドします。

戻り値:
この JTextField の文字列表現
オーバーライド:
クラス JTextComponent 内の paramString

getAccessibleContext

public AccessibleContext getAccessibleContext()
この JTextField に関連付けられている AccessibleContext を取得します。必要に応じて新しいコンテキストを作成します。
戻り値:
この JTextField の AccessibleContext
オーバーライド:
クラス JTextComponent 内の getAccessibleContext

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.