|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.Component | +--java.awt.Container | +--javax.swing.JComponent | +--javax.swing.text.JTextComponent | +--javax.swing.JTextField
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)
スクロールオフセットを設定します。 |
クラス java.lang.Object から継承したメソッド |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
フィールドの詳細 |
public static final String notifyAction
コンストラクタの詳細 |
public JTextField()
public JTextField(String text)
text
- 表示されるテキストまたは nullpublic JTextField(int columns)
columns
- 望ましい幅を計算するのに使う列数。列数をゼロに設定すると、コンポーネント実装から自然に生ずるものは何であれ望ましい幅になるpublic JTextField(String text, int columns)
text
- 表示されるテキストまたは nullcolumns
- 望ましい幅を計算するのに使う列数。列数をゼロに設定すると、コンポーネント実装から自然に生ずるものは何であれ望ましい幅になるpublic JTextField(Document doc, String text, int columns)
doc
- 使用するテキストストレージ。null の場合は、createDefaultModel メソッドを呼び出すことによってデフォルトが提供されるtext
- 表示する初期文字列または nullcolumns
- 望ましい幅を計算するのに使う列数 >= 0。列数をゼロに設定すると、コンポーネント実装から自然に生ずるものは何であれ望ましい幅になるメソッドの詳細 |
public String getUIClassID()
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public boolean isValidateRoot()
JComponent.revalidate()
,
JComponent.isValidateRoot()
public int getHorizontalAlignment()
public void setHorizontalAlignment(int alignment)
alignment
- 配置protected Document createDefaultModel()
public int getColumns()
public void setColumns(int columns)
columns
- 列数 >= 0protected int getColumnWidth()
public Dimension getPreferredSize()
public void setFont(Font f)
f
- 新しいフォントpublic void addActionListener(ActionListener l)
l
- アクションリスナーpublic void removeActionListener(ActionListener l)
l
- アクションリスナーprotected void fireActionPerformed()
EventListenerList
public void setActionCommand(String command)
command
- コマンド文字列public Action[] getActions()
public void postActionEvent()
public BoundedRangeModel getHorizontalVisibility()
BoundedRangeModel
public int getScrollOffset()
public void setScrollOffset(int scrollOffset)
scrollOffset
- オフセット >= 0public void scrollRectToVisible(Rectangle r)
r
- スクロール対象の範囲protected String paramString()
null
にはなりません。
JFC コンポーネントの新しい側面についての情報を返すには、paramString() をオーバーライドします。
public AccessibleContext getAccessibleContext()
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |