|
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 - 表示されるテキストまたは nullpublic JTextField(int columns)
TextField を構築します。デフォルトモデルが作成され、初期文字列は null に設定されます。
columns - 適切な幅を計算するのに使う列数。列数をゼロに設定すると、コンポーネント実装から自然に生じるものは何であれ適切な幅になる
public JTextField(String text,
int columns)
TextField を構築します。デフォルトモデルが作成されます。
text - 表示されるテキストまたは nullcolumns - 適切な幅を計算するのに使う列数。列数をゼロに設定すると、コンポーネント実装から自然に生ずるものは何であれ適切な幅になる
public JTextField(Document doc,
String text,
int columns)
JTextField を構築します。新しい JTextField は、ほかのコンストラクタが影響を及ぼすコンストラクタです。ドキュメントが null の場合はデフォルトモデルが作成されます。
doc - 使用するテキストストレージ。null の場合は、createDefaultModel メソッドを呼び出すことによってデフォルトの値が提供されるtext - 表示する初期文字列または nullcolumns - 適切な幅を計算するのに使う列数 >= 0。columns をゼロに設定すると、コンポーネント実装から自然に生ずるものは何であれ適切な幅になる
IllegalArgumentException - columnsが < 0 の場合| メソッドの詳細 |
public String getUIClassID()
JComponent 内の getUIClassIDJComponent.getUIClassID(),
UIDefaults.getUI(javax.swing.JComponent)public void setDocument(Document doc)
JTextComponent 内の setDocumentdoc - 表示および編集するドキュメントJTextComponent.getDocument()public boolean isValidateRoot()
revalidate は、テキストフィールドを検査することによって処理されます。ただし、テキストフィールドが JViewport 内に含まれていない場合は false を返します。
JComponent 内の isValidateRootJViewPort の場合は 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 内の getPreferredSizeJComponent.setPreferredSize(java.awt.Dimension),
ComponentUIpublic void setFont(Font f)
revalidate は、フォント設定後に呼び出されます。
JComponent 内の setFontf - 新規フォントComponent.getFont()public void addActionListener(ActionListener l)
l - 追加されるアクションリスナーpublic void removeActionListener(ActionListener l)
l - 削除されるアクションリスナーpublic ActionListener[] getActionListeners()
ActionListener の配列を返します。
ActionListener のすべて。リスナーが追加されていない場合は、空の配列protected void fireActionPerformed()
EventListenerListpublic 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、または nullAction,
getAction(),
configurePropertiesFromAction(javax.swing.Action),
createActionPropertyChangeListener(javax.swing.Action)public Action getAction()
ActionEvent ソースに現在設定されている Action を返します。Action が設定されていない場合は、null が返されます。
ActionEvent ソースの Action、または nullAction,
setAction(javax.swing.Action)protected void configurePropertiesFromAction(Action a)
Action インスタンスの値に従って ActionEvent ソースのプロパティを設定するファクトリメソッドです。設定されるプロパティはサブクラスによって異なります。デフォルトでは、設定されるプロパティは Enabled および ToolTipText です。
a - プロパティを取得する Action、または nullAction,
setAction(javax.swing.Action)protected PropertyChangeListener createActionPropertyChangeListener(Action a)
ActionEvent ソースを Action インスタンスのプロパティの変更に従って更新するのに使う PropertyChangeListener を生成するファクトリメソッドです。最新の状態で保持する必要のあるプロパティのセットがデフォルトプロパティ (Text、Enabled、ToolTipText) と異なる場合は、独自の PropertyChangeListener を提供するためにサブクラスがこのメソッドをオーバーライドすることがあります。
PropertyChangeListener は ActionEvent ソースへの強参照を保持しないようにする必要があります。これは、ActionEvent ソースのガベージコレクションおよびすべての包含関係の階層のコンポーネントを妨害する可能性があるからです。
a - プロパティを取得する Action、または nullAction,
setAction(javax.swing.Action)public Action[] getActions()
JTextComponent 内の getActionspublic void postActionEvent()
ActionListener オブジェクトのどれかにディスパッチすることで処理します。これは一般的に、テキストフィールドに登録されたコントローラによって呼び出されます。
public BoundedRangeModel getHorizontalVisibility()
フィールドの Look & Feel の実装は、BoundedRangeModel の最小値、最大値、長さの各プロパティの値を管理します。
BoundedRangeModelpublic int getScrollOffset()
public void setScrollOffset(int scrollOffset)
scrollOffset - オフセット >= 0public void scrollRectToVisible(Rectangle r)
JComponent 内の scrollRectToVisibler - スクロール対象の範囲JViewportprotected String paramString()
JTextField の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null にはなりません。
JTextComponent 内の paramStringJTextField の文字列表現public AccessibleContext getAccessibleContext()
JTextField に関連する AccessibleContext を返します。JTextFields の場合、AccessibleContext は AccessibleJTextField の形式を取ります。必要に応じて新規の AccessibleJTextField インスタンスが作成されます。
Accessible 内の getAccessibleContextJTextComponent 内の getAccessibleContextJTextField の 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.