|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.Component | +--java.awt.Container | +--javax.swing.JComponent | +--javax.swing.text.JTextComponent | +--javax.swing.JTextField
JTextField
は、1 行テキストの編集を可能にする軽量コンポーネントです。テキストフィールド使用の詳細および例については、「The Java Tutorial」の「How to Use Text Fields」を参照してください。
JTextField
は、この処理を適切に行う 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
のキーの割り当てを参照してください。
テキストフィールドが VK_ENTER イベントを消費する方法は、このテキストフィールドにアクションリスナーがあるかどうかによって異なります。アクションリスナーがある場合は、VK_ENTER によりリスナーに ActionEvent が返され、VK_ENTER イベントが消費されます。これは、AWT テキストフィールドが VK_ENTER イベントを処理する方法と互換性があります。テキストフィールドにアクションリスナーがない場合、v 1.3 では、VK_ENTER イベントは消費されません。代わりに、上位クラスのコンポーネントのバインディングが処理されて、JFC/Swing のデフォルトボタン機能が使用できます。
カスタマイズされたフィールドを簡単に作成するには、モデルを拡張して、提供されるデフォルトモデルを変更します。たとえば次のコードの一部は、大文字だけを保持するフィールドを作成します。これは、テキストがクリップボードからペーストされたり、プログラムに基づいて変更されても機能します。
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 に適しています。JDK バージョン 1.4 以降は、java.beans
パッケージにすべての JavaBeansTM の長期記憶がサポートされます。XMLEncoder
を参照してください。
setActionCommand(java.lang.String)
,
JPasswordField
,
addActionListener(java.awt.event.ActionListener)
入れ子クラスの概要 | |
protected class |
JTextField.AccessibleJTextField
このクラスは JTextField クラス用のユーザ補助機能のサポートを実装しています。 |
クラス javax.swing.text.JTextComponent から継承した入れ子クラス |
JTextComponent.KeyBinding |
クラス javax.swing.JComponent から継承した入れ子クラス |
|
クラス java.awt.Container から継承した入れ子クラス |
|
クラス java.awt.Component から継承した入れ子クラス |
Component.BltBufferStrategy, Component.FlipBufferStrategy |
フィールドの概要 | |
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 |
インタフェース javax.swing.SwingConstants から継承したフィールド |
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
インタフェース java.awt.image.ImageObserver から継承したフィールド |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
コンストラクタの概要 | |
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 void |
configurePropertiesFromAction(Action a)
Action インスタンスの値に従って ActionEvent ソースのプロパティを設定するファクトリメソッドです。 |
protected PropertyChangeListener |
createActionPropertyChangeListener(Action a)
ActionEvent ソースを Action インスタンスのプロパティの変更に従って更新するのに使う PropertyChangeListener を生成するファクトリメソッドです。 |
protected Document |
createDefaultModel()
モデルが明示的に指定されない場合は、構築時に使うモデルのデフォルト実装を作成します。 |
protected void |
fireActionPerformed()
通知の配信対象をこのイベントタイプで登録したすべてのリスナーに通知します。 |
AccessibleContext |
getAccessibleContext()
この JTextField に関連する AccessibleContext を返します。 |
Action |
getAction()
この ActionEvent ソースに現在設定されている Action を返します。 |
ActionListener[] |
getActionListeners()
addActionListener() によってこの JTextField に追加された全 ActionListener の配列を返します。 |
Action[] |
getActions()
エディタのコマンドリストを返します。 |
int |
getColumns()
この TextField の列数を返します。 |
protected int |
getColumnWidth()
列幅を取得します。 |
int |
getHorizontalAlignment()
テキストの水平配置を返します。 |
BoundedRangeModel |
getHorizontalVisibility()
テキストフィールドの可視性を返します。 |
Dimension |
getPreferredSize()
Dimensions がこの TextField に必要とした望ましいサイズを返します。 |
int |
getScrollOffset()
ピクセル単位のスクロールオフセットを返します。 |
String |
getUIClassID()
UI のクラス ID を返します。 |
boolean |
isValidateRoot()
テキストフィールド自身の中から呼び出される revalidate は、テキストフィールドを検査することによって処理されます。 |
protected String |
paramString()
この JTextField の文字列表現を返します。 |
void |
postActionEvent()
このテキストフィールドで発生するアクションイベントを、登録済みの ActionListener オブジェクトのどれかにディスパッチすることで処理します。 |
void |
removeActionListener(ActionListener l)
指定されたアクションリスナーを削除して、アクションイベントをこのテキストフィールドからそれ以上受け取らないようにします。 |
void |
scrollRectToVisible(Rectangle r)
フィールドを左または右にスクロールします。 |
void |
setAction(Action a)
ActionEvent ソースの Action を設定します。 |
void |
setActionCommand(String command)
アクションイベントに使うコマンド文字列を設定します。 |
void |
setColumns(int columns)
この TextField の列数を設定し、配置を無効にします。 |
void |
setDocument(Document doc)
エディタをテキストドキュメントに関連付けます。 |
void |
setFont(Font f)
現在のフォントを設定します。 |
void |
setHorizontalAlignment(int alignment)
テキストの水平配置を設定します。 |
void |
setScrollOffset(int scrollOffset)
ピクセル単位のスクロールオフセットを設定します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
public static final String notifyAction
コンストラクタの詳細 |
public JTextField()
TextField
を構築します。デフォルトモデルが作成され、初期文字列は null
で、列数が 0 に設定されます。
public JTextField(String text)
TextField
を構築します。デフォルトモデルが作成され、列数は 0 です。
text
- 表示されるテキストまたは null
public JTextField(int columns)
TextField
を構築します。デフォルトモデルが作成され、初期文字列は null
に設定されます。
columns
- 適切な幅を計算するのに使う列数。列数をゼロに設定すると、コンポーネント実装から自然に生じるものは何であれ適切な幅になるpublic JTextField(String text, int columns)
TextField
を構築します。デフォルトモデルが作成されます。
text
- 表示されるテキストまたは null
columns
- 適切な幅を計算するのに使う列数。列数をゼロに設定すると、コンポーネント実装から自然に生ずるものは何であれ適切な幅になるpublic JTextField(Document doc, String text, int columns)
JTextField
を構築します。新しい JTextField
は、ほかのコンストラクタが影響を及ぼすコンストラクタです。ドキュメントが null
の場合はデフォルトモデルが作成されます。
doc
- 使用するテキストストレージ。null
の場合は、createDefaultModel
メソッドを呼び出すことによってデフォルトの値が提供されるtext
- 表示する初期文字列または null
columns
- 適切な幅を計算するのに使う列数 >= 0。columns
をゼロに設定すると、コンポーネント実装から自然に生ずるものは何であれ適切な幅になる
IllegalArgumentException
- columns
が < 0 の場合メソッドの詳細 |
public String getUIClassID()
JComponent
内の getUIClassID
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public void setDocument(Document doc)
JTextComponent
内の setDocument
doc
- 表示および編集するドキュメントJTextComponent.getDocument()
public boolean isValidateRoot()
revalidate
は、テキストフィールドを検査することによって処理されます。ただし、テキストフィールドが JViewport
内に含まれていない場合は false を返します。
JComponent
内の isValidateRoot
JViewPort
の場合は false、そうでない場合は trueJComponent.revalidate()
,
JComponent.isValidateRoot()
public int getHorizontalAlignment()
JTextField.LEFT
JTextField.CENTER
JTextField.RIGHT
JTextField.LEADING
JTextField.TRAILING
public void setHorizontalAlignment(int alignment)
JTextField.LEFT
JTextField.CENTER
JTextField.RIGHT
JTextField.LEADING
JTextField.TRAILING
invalidate
と repaint
が呼び出され、PropertyChange
イベント (horizontalAlignment) がトリガされます。
alignment
- 配置方法
IllegalArgumentException
- alignment
が有効なキーではない場合protected Document createDefaultModel()
PlainDocument
のインスタンスが返されます。
public int getColumns()
TextField
の列数を返します。
public void setColumns(int columns)
TextField
の列数を設定し、配置を無効にします。
columns
- 列数 >= 0
IllegalArgumentException
- columns
0 より小さい場合protected int getColumnWidth()
public Dimension getPreferredSize()
Dimensions
がこの TextField
に必要とした望ましいサイズを返します。ゼロ以外の列数が設定されていると、その幅は列数を列幅でかけた値に設定されます。
JComponent
内の getPreferredSize
JComponent.setPreferredSize(java.awt.Dimension)
,
ComponentUI
public void setFont(Font f)
revalidate
は、フォント設定後に呼び出されます。
JComponent
内の setFont
f
- 新規フォントComponent.getFont()
public void addActionListener(ActionListener l)
l
- 追加されるアクションリスナーpublic void removeActionListener(ActionListener l)
l
- 削除されるアクションリスナーpublic ActionListener[] getActionListeners()
ActionListener
の配列を返します。
ActionListener
のすべて。リスナーが追加されていない場合は、空の配列protected void fireActionPerformed()
EventListenerList
public void setActionCommand(String command)
command
- コマンド文字列public void setAction(Action a)
ActionEvent
ソースの Action
を設定します。新しい Action
は設定済みの Action
と置き換わりますが、addActionListener
で独立して追加された ActionListener
には影響しません。Action
が ActionEvent
ソースにすでに登録されている ActionListener
である場合、再登録されません。Action
を設定すると、ActionEvent
ソースのプロパティが Action
の値から直ちに設定され (configurePropertiesFromAction
メソッドで実行)、続いて createActionPropertyChangeListener
メソッドが作成した PropertyChangeListener
により、Action
のプロパティの変更として更新されます。
a
- JTextField
の Action
、または null
Action
,
getAction()
,
configurePropertiesFromAction(javax.swing.Action)
,
createActionPropertyChangeListener(javax.swing.Action)
public Action getAction()
ActionEvent
ソースに現在設定されている Action
を返します。Action
が設定されていない場合は、null
が返されます。
ActionEvent
ソースの Action
、または null
Action
,
setAction(javax.swing.Action)
protected void configurePropertiesFromAction(Action a)
Action
インスタンスの値に従って ActionEvent
ソースのプロパティを設定するファクトリメソッドです。設定されるプロパティはサブクラスによって異なります。デフォルトでは、設定されるプロパティは Enabled
および ToolTipText
です。
a
- プロパティを取得する Action
、または null
Action
,
setAction(javax.swing.Action)
protected PropertyChangeListener createActionPropertyChangeListener(Action a)
ActionEvent
ソースを Action
インスタンスのプロパティの変更に従って更新するのに使う PropertyChangeListener
を生成するファクトリメソッドです。最新の状態で保持する必要のあるプロパティのセットがデフォルトプロパティ (Text、Enabled、ToolTipText) と異なる場合は、独自の PropertyChangeListener
を提供するためにサブクラスがこのメソッドをオーバーライドすることがあります。
PropertyChangeListener
は ActionEvent
ソースへの強参照を保持しないようにする必要があります。これは、ActionEvent
ソースのガベージコレクションおよびすべての包含関係の階層のコンポーネントを妨害する可能性があるからです。
a
- プロパティを取得する Action
、または null
Action
,
setAction(javax.swing.Action)
public Action[] getActions()
JTextComponent
内の getActions
public void postActionEvent()
ActionListener
オブジェクトのどれかにディスパッチすることで処理します。これは一般的に、テキストフィールドに登録されたコントローラによって呼び出されます。
public BoundedRangeModel getHorizontalVisibility()
フィールドの Look & Feel の実装は、BoundedRangeModel
の最小値、最大値、長さの各プロパティの値を管理します。
BoundedRangeModel
public int getScrollOffset()
public void setScrollOffset(int scrollOffset)
scrollOffset
- オフセット >= 0public void scrollRectToVisible(Rectangle r)
JComponent
内の scrollRectToVisible
r
- スクロール対象の範囲JViewport
protected String paramString()
JTextField
の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null
にはなりません。
JTextComponent
内の paramString
JTextField
の文字列表現public AccessibleContext getAccessibleContext()
JTextField
に関連する AccessibleContext
を返します。JTextFields
の場合、AccessibleContext
は AccessibleJTextField
の形式を取ります。必要に応じて新規の AccessibleJTextField
インスタンスが作成されます。
Accessible
内の getAccessibleContext
JTextComponent
内の getAccessibleContext
JTextField
の AccessibleContext
として機能する AccessibleJTextField
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.