|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.text.JTextComponent
public abstract class JTextComponent
JTextComponent は、Swing テキストコンポーネントの基底クラスです。java.awt.TextComponent クラスとある程度の互換性があります。また、ほかのサービスも提供されており、プラグイン可能な UI や Bean のサポート以外の柔軟性もあります。このクラスが提供する機能の使い方については、「The Java Tutorial」の「General Rules for Using Text Components」を参照してください。
CaretListener インタフェースの実装に送られます。UI は、カスタマイズしたキャレットが設定済みでないかぎりデフォルトのキャレットをインストールします。DefaultCaret は、自身を表示しようとします。このため、JScrollPane 内でテキストコンポーネントがスクロールされることがあります。キャレットのデフォルトの動作を変更するには、DefaultCaret.setUpdatePolicy(int) メソッドを使用します。
TextAction の実装を使用して、swing Action インタフェースの形で表現されます。テキストコンポーネントがサポートするコマンドセットは、getActions() メソッドで確認できます。こうしたアクションは、ボタンなどから発生するキーイベントに割り当てられます。
Keymap で、アプリケーションを使用してキーストロークをアクションにバインドできます。キーマップを複数のテキストコンポーネントで共有するために、TextAction を拡張するアクションを使用できます。TextAction は、どの JTextComponent がフォーカスを持っていて、アクションの対象 (アクションに送られた ActionEvent がターゲットテキストコンポーネントをソースとして含んでいない場合) であるかを判定できます。
インプットメソッドのフレームワーク で、テキストコンポーネントをインプットメソッドと結び付けることができます。このインプットメソッドは、キーのかなり少ないキーボードを使用して何千もの異なる文字をユーザーが入力できるようにするイベントを前処理する個々のソフトウェアコンポーネントです。JTextComponent は、フレームワークの「アクティブクライアント」であるため、インプットメソッドとやりとりするための適切なユーザーインタフェースを実装します。結果的に、キーイベントの中にはインプットメソッドにより処理されるため、テキストコンポーネントに到達しないものがあります。 また、テキスト入力の中には、キーイベントとしてではなく InputMethodEvent の中の確定テキストとして、テキストコンポーネントに到達するものもあります。完全なテキスト入力とは、keyTyped キーイベントの文字と、インプットメソッドイベントの確定テキストとの組み合わせです。
AWT リスナーモデルで、アプリケーションを使用してイベントをアクションにバインドするためにイベントリスナーをコンポーネントと結び付けることができます。Swing では、リスナーではなくキーマップを使用することを推奨していますが、イベントを消費することによりそのイベントを横取りする機会をリスナーに与えることによってリスナーとの互換性を維持しています。
キーボードイベントとインプットメソッドイベントは、次の工程で処理されます。
工程 |
KeyEvent |
InputMethodEvent |
|---|---|---|
| 1. | インプットメソッド | (ここで生成される) |
| 2. | フォーカスマネージャー | |
| 3. | 登録済みのキーリスナー | 登録済みのインプットメソッドリスナー |
| 4. | JTextComponent で処理するインプットメソッド | |
| 5. | 現在のキーマップを使用して処理するキーマップ | |
| 6. | JComponent で処理するキーボード (アクセラレータ、コンポーネントナビゲーションなど) | |
キーイベントには待機しているが、インプットメソッドイベントは認識しないアプリケーションとの互換性を保つため、工程 4 で処理するインプットメソッドは、インプットメソッドを処理しないコンポーネントのための互換性を提供しています。これらのコンポーネントでは、確定テキストは keyTyped キーイベントに変換され、インプットメソッドのイベントパイプラインではなく、工程 3 で開始されるキーイベントパイプラインで処理されます。
コンポーネントはデフォルトで、すべての JTextComponent のインスタンスによってデフォルトキーマップとして共有されるキーマップ (DEFAULT_KEYMAP) を作成します。)一般的に、Look & Feel の実装は、デフォルトのキーマップに解決する別のキーマップをインストールして、デフォルトのキーマップを、別のキーマップにはないキー割り当てに対応させます。次に、最小の割り当てを示します。

このモデルは Document インタフェースによって定義されます。これは、編集時に変更を追跡する柔軟なテキスト記憶機構を提供するためのもので、より高度なモデルに拡張できます。モデルインタフェースは、SGML が提供する式の機能、つまり多様なコンテンツを表現するのに使うシステムを取り込むためのものです。ドキュメントに加える各修正は、ビューを最新のモデルに同期できるようにする DocumentEvent という形式で変更の詳細な通知がすべてのオブザーバに送られます。このイベントは、DocumentListener インタフェースを実装して監視中のモデルに配信対象を登録したオブザーバに送られます。
modelToView(int) と viewToModel(java.awt.Point) の 2 つのメソッドが用意されています。
UndoableEdit レコードを提供します。 そのサポートは Document モデルにより提供されます。そのサポートは Document モデルによって提供されます。このモデルにより、UndoableEditListener の実装の追加が可能になります。
AbstractDocument のマニュアルでは提供される保護の前提条件を説明しています。非同期で安全に呼び出せるメソッドには、コメントが付けられています。
print メソッドが用意されています。高度な印刷処理が必要な場合は、getPrintable(java.text.MessageFormat, java.text.MessageFormat) メソッドを使用します。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK Version 1.4 以降、すべての JavaBeans™ の長期間の運用サポートは、java.beans パッケージに追加されています。詳細は、XMLEncoder を参照してください。
Document,
DocumentEvent,
DocumentListener,
Caret,
CaretEvent,
CaretListener,
TextUI,
View,
ViewFactory| 入れ子のクラスの概要 | |
|---|---|
class |
JTextComponent.AccessibleJTextComponent
このクラスは JTextComponent クラス用のアクセシビリティーサポートを実装しています。 |
static class |
JTextComponent.DropLocation
JTextComponent のドロップ位置を示します。 |
static class |
JTextComponent.KeyBinding
キーバインド作成用のレコードを割り当てます。 |
| クラス javax.swing.JComponent から継承された入れ子のクラス/インタフェース |
|---|
JComponent.AccessibleJComponent |
| クラス java.awt.Container から継承された入れ子のクラス/インタフェース |
|---|
Container.AccessibleAWTContainer |
| クラス java.awt.Component から継承された入れ子のクラス/インタフェース |
|---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
| フィールドの概要 | |
|---|---|
static String |
DEFAULT_KEYMAP
異なるキーマップセットを持っていない限り、全 JTextComponent インスタンスで共有されるデフォルトのキーマップです。 |
static String |
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 |
| インタフェース java.awt.image.ImageObserver から継承されたフィールド |
|---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| コンストラクタの概要 | |
|---|---|
JTextComponent()
新しい JTextComponent を作成します。 |
|
| メソッドの概要 | |
|---|---|
void |
addCaretListener(CaretListener listener)
変更を通知するためのキャレットリスナーをキャレットに追加します。 |
void |
addInputMethodListener(InputMethodListener l)
このコンポーネントからインプットメソッドイベントを受け取るために、指定されたインプットメソッドリスナーを追加します。 |
static Keymap |
addKeymap(String nm,
Keymap parent)
新しいキーマップをキーマップ階層に追加します。 |
void |
copy()
関連するテキストモデル内の現在選択されている領域をシステムクリップボードに転送して、テキストモデル内のコンテンツはそのまま残します。 |
void |
cut()
関連するテキストモデル内の現在選択されている領域をシステムクリップボードに転送して、モデルからコンテンツを削除します。 |
protected void |
fireCaretUpdate(CaretEvent e)
通知の配信対象を、指定されたイベント型で登録したすべてのリスナーに通知します。 |
AccessibleContext |
getAccessibleContext()
この JTextComponent に関連した AccessibleContext を取得します。 |
Action[] |
getActions()
エディタのコマンドリストを取り出します。 |
Caret |
getCaret()
ビューでテキスト指向ナビゲーションを可能にするキャレットを取り出します。 |
Color |
getCaretColor()
キャレットを描画するのに使う現在の色を取り出します。 |
CaretListener[] |
getCaretListeners()
このテキストコンポーネントに登録された、すべてのキャレットリスナーからなる配列を返します。 |
int |
getCaretPosition()
テキストコンポーネントのテキスト挿入キャレットの位置を返します。 |
Color |
getDisabledTextColor()
無効にしたテキストを描画するために使用する現在の色を取得します。 |
Document |
getDocument()
エディタに関連したモデルを取り出します。 |
boolean |
getDragEnabled()
自動ドラッグ処理が有効であるかどうかを返します。 |
JTextComponent.DropLocation |
getDropLocation()
このコンポーネントがコンポーネントのドラッグ&ドロップ時にドロップ位置として視覚的に示す位置を返します。 |
DropMode |
getDropMode()
このコンポーネントのドロップモードを返します。 |
char |
getFocusAccelerator()
受信側テキストコンポーネントにフォーカスを取得させるキーアクセラレータを返します。 |
Highlighter |
getHighlighter()
ハイライトをつけるのに使用されるオブジェクトを取り出します。 |
InputMethodRequests |
getInputMethodRequests()
このコンポーネントのインプットメソッドからの要求をサポートするインプットメソッド要求ハンドラを返します。 |
Keymap |
getKeymap()
このテキストコンポーネントで現在アクティブなキーマップを取り出します。 |
static Keymap |
getKeymap(String nm)
それまでにドキュメントに追加されていた名前付きキーマップを取り出します。 |
Insets |
getMargin()
テキストコンポーネントの境界とそのテキストの間のマージンを返します。 |
NavigationFilter |
getNavigationFilter()
NavigationFilter を返します。 |
Dimension |
getPreferredScrollableViewportSize()
ビューコンポーネントのビューポートの適切なサイズを返します。 |
Printable |
getPrintable(MessageFormat headerFormat,
MessageFormat footerFormat)
この JTextComponent の内容を印刷するために使用する Printable を返します。 |
int |
getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction)
論理行または論理列を表示するコンポーネントは、orientation の値によって、1 ブロック分の行または列を完全にエクスポーズするスクロール増分値を計算します。 |
boolean |
getScrollableTracksViewportHeight()
ビューポートが常にこの Scrollable の高さを強制的にビューポートの高さと一致させる場合に true を返します。 |
boolean |
getScrollableTracksViewportWidth()
ビューポートが常にこの Scrollable の幅を強制的にビューポートの幅に一致させる場合に true を返します。 |
int |
getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction)
論理行または論理列を表示するコンポーネントは、orientation の値によって、新しい 1 行または 1 列を完全にエクスポーズするスクロール増分値を計算します。 |
String |
getSelectedText()
この TextComponent に格納された選択されているテキストを返します。 |
Color |
getSelectedTextColor()
選択したテキストを描画するのに使う現在の色を取り出します。 |
Color |
getSelectionColor()
選択領域を描画するのに使う現在の色を取り出します。 |
int |
getSelectionEnd()
選択したテキストの末尾位置を返します。 |
int |
getSelectionStart()
選択したテキストの開始位置を返します。 |
String |
getText()
この TextComponent に格納されたテキストを返します。 |
String |
getText(int offs,
int len)
コンポーネントが表すテキストの一部を取り出します。 |
String |
getToolTipText(MouseEvent event)
event のツールヒントとして使用される文字列を返します。 |
TextUI |
getUI()
このテキスト指向エディタのユーザーインタフェースファクトリを取り出します。 |
boolean |
isEditable()
この TextComponent が編集可能かどうかを示すブール型を返します。 |
static void |
loadKeymap(Keymap map,
JTextComponent.KeyBinding[] bindings,
Action[] actions)
キーマップに多数の割り当てをロードします。 |
Rectangle |
modelToView(int pos)
モデル内の指定された位置を、ビュー座標体系内の場所に変換します。 |
void |
moveCaretPosition(int pos)
キャレットを新しい位置に移動して、 setCaretPosition が前回呼び出されたときに定義されたマークは残しておきます。 |
protected String |
paramString()
この JTextComponent の文字列表現を返します。 |
void |
paste()
システムクリップボードのコンテンツを関連するテキストモデルに転送します。 |
boolean |
print()
印刷ダイアログを表示し、対話型モードで、ヘッダーテキストまたはフッターテキストを指定しないでこの JTextComponent を印刷する簡易印刷メソッドです。 |
boolean |
print(MessageFormat headerFormat,
MessageFormat footerFormat)
印刷ダイアログを表示し、対話型モードで、ヘッダーテキストおよびフッターテキストを指定してこの JTextComponent を印刷する簡易印刷メソッドです。 |
boolean |
print(MessageFormat headerFormat,
MessageFormat footerFormat,
boolean showPrintDialog,
PrintService service,
PrintRequestAttributeSet attributes,
boolean interactive)
この JTextComponent の内容を印刷します。 |
protected void |
processInputMethodEvent(InputMethodEvent e)
このコンポーネントで発生するインプットメソッドイベントを、登録されているすべての InputMethodListener オブジェクトにディスパッチすることによって処理します。 |
void |
read(Reader in,
Object desc)
ストリームから初期化します。 |
void |
removeCaretListener(CaretListener listener)
キャレットリスナーを削除します。 |
static Keymap |
removeKeymap(String nm)
それまでにドキュメントに追加されていた名前付きキーマップを削除します。 |
void |
removeNotify()
このコンポーネントに親コンポーネントがなくなったことを、このコンポーネントに通知します。 |
void |
replaceSelection(String content)
現在選択されているコンテンツを、渡された文字列が示す新しいコンテンツで置き換えます。 |
void |
select(int selectionStart,
int selectionEnd)
指定された始点と終点の間にあるテキストを選択します。 |
void |
selectAll()
TextComponent 内のすべてのテキストを選択します。 |
void |
setCaret(Caret c)
使用するキャレットを設定します。 |
void |
setCaretColor(Color c)
キャレットを描画するのに使う現在の色を設定します。 |
void |
setCaretPosition(int position)
TextComponent のテキスト挿入キャレットの位置を設定します。 |
void |
setComponentOrientation(ComponentOrientation o)
このコンポーネント内の要素またはテキストを整列するために使用する、言語に依存する方向を設定します。 |
void |
setDisabledTextColor(Color c)
無効にしたテキストを描画するのに使う現在の色を設定します。 |
void |
setDocument(Document doc)
エディタをテキストドキュメントに関連付けます。 |
void |
setDragEnabled(boolean b)
自動ドラッグ処理をオンまたはオフにします。 |
void |
setDropMode(DropMode dropMode)
このコンポーネントのドロップモードを設定します。 |
void |
setEditable(boolean b)
この TextComponent が編集可能かどうかを設定します。 |
void |
setFocusAccelerator(char aKey)
受信側テキストコンポーネントにフォーカスを取得させるキーアクセラレータを設定します。 |
void |
setHighlighter(Highlighter h)
使用するハイライタを設定します。 |
void |
setKeymap(Keymap map)
イベントをアクションに割り当てるのに使うキーマップを設定します。 |
void |
setMargin(Insets m)
テキストコンポーネントの境界とそのテキストの間のマージン空白を設定します。 |
void |
setNavigationFilter(NavigationFilter filter)
NavigationFilter を設定します。 |
void |
setSelectedTextColor(Color c)
選択したテキストを描画するのに使う現在の色を設定します。 |
void |
setSelectionColor(Color c)
選択領域を描画するのに使う現在の色を設定します。 |
void |
setSelectionEnd(int selectionEnd)
選択領域の末尾を、指定された位置に設定します。 |
void |
setSelectionStart(int selectionStart)
選択開始を、指定された位置に設定します。 |
void |
setText(String t)
この TextComponent のテキストに、指定されたテキストを設定します。 |
void |
setUI(TextUI ui)
このテキスト指向エディタのユーザーインタフェースファクトリを設定します。 |
void |
updateUI()
プラグイン可能な UI を再ロードします。 |
int |
viewToModel(Point pt)
ビュー座標体系内の指定された場所を、モデル内のもっとも近い位置に変換します。 |
void |
write(Writer out)
モデルのコンテンツを、指定されたストリームに格納します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final String FOCUS_ACCELERATOR_KEY
public static final String DEFAULT_KEYMAP
JTextComponent インスタンスで共有されるデフォルトのキーマップです。
| コンストラクタの詳細 |
|---|
public JTextComponent()
JTextComponent を作成します。キャレットイベントのリスナーが確立され、プラグイン可能な UI がインストールされます。コンポーネントは編集可能とマークされます。配置はテキストのビューサブシステムによって管理されるので、レイアウトマネージャーは使用されません。ドキュメントモデルは null に設定されます。
| メソッドの詳細 |
|---|
public TextUI getUI()
public void setUI(TextUI ui)
ui - ファクトリpublic void updateUI()
getUIClassID() です。UI のタイプは TextUI です。 invalidate は、UI の設定後に呼び出されます。
JComponent 内の updateUIJComponent.setUI(javax.swing.plaf.ComponentUI),
UIManager.getLookAndFeel(),
UIManager.getUI(javax.swing.JComponent)public void addCaretListener(CaretListener listener)
listener - 追加されるリスナーCaretEventpublic void removeCaretListener(CaretListener listener)
listener - 削除されるリスナーCaretEventpublic CaretListener[] getCaretListeners()
CaretListener、 変更リスナーが現在登録されていない場合は 空の配列addCaretListener(javax.swing.event.CaretListener),
removeCaretListener(javax.swing.event.CaretListener)protected void fireCaretUpdate(CaretEvent e)
e - イベントEventListenerListpublic void setDocument(Document doc)
doc - 表示および編集するドキュメントgetDocument()public Document getDocument()
public void setComponentOrientation(ComponentOrientation o)
Component の記述:LayoutManager サブクラスおよび Component サブクラスはこのプロパティーを使用してコンポーネントの配置方法および描画方法を決めます。
構築時には、コンポーネントの方向は、明示的に指定されていないことを示す ComponentOrientation.UNKNOWN に設定されます。UNKNOWN の方向の動作は ComponentOrientation.LEFT_TO_RIGHT と同じです。
コンポーネントの方向決定を単独で行う場合はこのメソッドを使用します。コンポーネント階層全体の方向を決定する場合は、applyComponentOrientation を使用します。
Component 内の setComponentOrientationComponentOrientationpublic Action[] getActions()
public void setMargin(Insets m)
Border オブジェクトは、この値を使って適切なマージンを作成します。ただし、デフォルト以外の境界が設定されている場合は、Border オブジェクトが適切なマージン空白を作成します。 (それ以外の場合、このプロパティーは事実上無視される)。このため、コンポーネントの再描画が行われます。PropertyChange イベント (margin) はすべてのリスナーに送られます。
m - ボーダーとテキストの間のマージンpublic Insets getMargin()
public void setNavigationFilter(NavigationFilter filter)
NavigationFilter を設定します。NavigationFilter は DefaultCaret と、カーソルの移動を限定するデフォルトのカーソル移動処理で使用されます。
public NavigationFilter getNavigationFilter()
NavigationFilter を返します。NavigationFilter は DefaultCaret と、カーソルの移動を限定するデフォルトのカーソル移動処理で使用されます。戻り値の null はカーソルの移動と選択が制限されないことを表します。
public Caret getCaret()
public void setCaret(Caret c)
c - キャレットgetCaret()public Highlighter getHighlighter()
public void setHighlighter(Highlighter h)
null に設定します。新しいハイライタがインストールされると、PropertyChange イベント (highlighter) が発生します。
h - ハイライタgetHighlighter()public void setKeymap(Keymap map)
null に設定すると、キーボード入力が事実上無効になります。新しいキーマップをインストールすると、PropertyChange イベント (keymap) が発生します。
map - キーマップgetKeymap()public void setDragEnabled(boolean b)
true に設定し、コンポーネントの TransferHandler の値を null 以外 にしてください。dragEnabled プロパティーのデフォルト値は false です。
このプロパティーを受け入れ、ユーザーのドラッグジェスチャーを認識する処理は、Look & Feel 実装 (特にコンポーネントの TextUI) によって行われます。自動ドラッグ処理が有効である場合、ほとんどの Look & Feel (BasicLookAndFeel のサブクラスの Look & Feel を含む) は、ユーザーが選択項目の上でマウスボタンを押し、マウスを数ピクセル移動すると、ドラッグ&ドロップ操作を開始します。したがって、このプロパティーを true に設定すると、選択の動作に微妙な効果があります。
このプロパティーを無視するような Look & Feel を使用している場合も、コンポーネントの TransferHandler 上で exportAsDrag を呼び出すことにより、ドラッグ&ドロップ操作を開始できます。
b - 自動ドラッグ処理を有効にするかどうか
HeadlessException - b が true の場合で GraphicsEnvironment.isHeadless() が true を返す場合GraphicsEnvironment.isHeadless(),
getDragEnabled(),
JComponent.setTransferHandler(javax.swing.TransferHandler),
TransferHandlerpublic boolean getDragEnabled()
dragEnabled プロパティーの値setDragEnabled(boolean)public final void setDropMode(DropMode dropMode)
DropMode.USE_SELECTION になっています。ただし、ユーザー経験を改善したい場合は、DropMode.INSERT の使用をお勧めします。DropMode.INSERT では、テキストのある位置から別の位置へのドロップとよく似た操作を実行できますが、現在選択しているテキストとキャレット位置に影響はありません。
JTextComponents は次のドロップモードをサポートしています。
DropMode.USE_SELECTIONDropMode.INSERT
このコンポーネントがドロップを受け付ける TransferHandler を持っていなければ、ドロップモードの効果はありません。
dropMode - 使用するドロップモード
IllegalArgumentException - ドロップモードがサポートされていないか null の場合getDropMode(),
getDropLocation(),
JComponent.setTransferHandler(javax.swing.TransferHandler),
TransferHandlerpublic final DropMode getDropMode()
setDropMode(javax.swing.DropMode)public final JTextComponent.DropLocation getDropLocation()
null を返します。
このメソッドは、TransferHandler からドロップ位置を照会する手段にはなりません。ドロップ位置は、TransferHandler の canImport が返され、ドロップ位置を表示する準備ができてから設定されるからです。
このプロパティーが変更されると、コンポーネントにより、プロパティー変更イベント dropLocation がトリガーされます。
setDropMode(javax.swing.DropMode),
TransferHandler.canImport(TransferHandler.TransferSupport)public Keymap getKeymap()
public static Keymap addKeymap(String nm,
Keymap parent)
nm - キーマップの名前。ドキュメント内の名前付きキーマップのコレクションの中で一意である必要がある。 キーマップに名前を指定しない場合、 名前は null でもかまわない。 ただし、名前なしのキーマップは名前を指定して取得することができないので、 返された参照の管理は 呼び出し側で行うparent - 親キーマップ。未指定の割り当てをほかの特定のキーマップで解釈処理する必要がない場合は、null を設定できる
public static Keymap removeKeymap(String nm)
null であるキーマップは、この方法では削除できません。
nm - 削除するキーマップの名前
public static Keymap getKeymap(String nm)
null であるキーマップは扱いません。
nm - キーマップの名前
public static void loadKeymap(Keymap map,
JTextComponent.KeyBinding[] bindings,
Action[] actions)
キーマップに多数の割り当てをロードします。このメソッドを使うと、定義のスタティックテーブルを取得して特定のキーマップにロードできます。次に、いくつかのキーを JtextComponent に関連したカット、コピー、ペーストの各アクションに割り当てる例を示します。これを実行するコードは、次のとおりです (抜粋)。
static final JTextComponent.KeyBinding[] defaultBindings = {
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK),
DefaultEditorKit.copyAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK),
DefaultEditorKit.pasteAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK),
DefaultEditorKit.cutAction),
};
JTextComponent c = new JTextPane();
Keymap k = c.getKeymap();
JTextComponent.loadKeymap(k, defaultBindings, c.getActions());
割り当てとアクションのセットは空でもかまいませんが、null にはできません。
map - キーマップbindings - バインディングactions - アクションのセットpublic Color getCaretColor()
public void setCaretColor(Color c)
null に設定すると、効果的にデフォルトの色を復元します。色を設定すると、PropertyChange イベント (caretColor) が発生します。
c - 色getCaretColor()public Color getSelectionColor()
public void setSelectionColor(Color c)
null を設定することは、Color.white を設定することと同じです。色を設定すると、PropertyChange イベント (selectionColor) が発生します。
c - 色getSelectionColor()public Color getSelectedTextColor()
public void setSelectedTextColor(Color c)
null を設定することは、Color.black を設定することと同じです。色を設定すると、PropertyChange イベント (selectedTextColor) が発生します。
c - 色getSelectedTextColor()public Color getDisabledTextColor()
public void setDisabledTextColor(Color c)
c - 色getDisabledTextColor()public void replaceSelection(String content)
このメソッドは、キーマップアクションに割り当てられるコンテンツを挿入するアクションのデフォルト実装によって使用されます。
このメソッドはスレッドに対して安全ですが、ほとんどの Swing メソッドは違います。詳細は、「How to Use Threads」を参照してください。
content - 選択範囲を置き換えるコンテンツ
public String getText(int offs,
int len)
throws BadLocationException
offs - オフセット >= 0len - 長さ >= 0
BadLocationException - オフセットまたは長さが無効な場合
public Rectangle modelToView(int pos)
throws BadLocationException
pos - 位置 >= 0
BadLocationException - 指定された位置が、関連するドキュメント内の 有効な位置を示さない場合TextUI.modelToView(javax.swing.text.JTextComponent, int)public int viewToModel(Point pt)
pt - 変換するビュー内の位置
TextUI.viewToModel(javax.swing.text.JTextComponent, java.awt.Point)public void cut()
null の場合には何も行いません。
Toolkit.getSystemClipboard(),
Clipboardpublic void copy()
null の場合には何も行いません。
Toolkit.getSystemClipboard(),
Clipboardpublic void paste()
replaceSelection(java.lang.String),
Toolkit.getSystemClipboard(),
Clipboardpublic void moveCaretPosition(int pos)
setCaretPosition が前回呼び出されたときに定義されたマークは残しておきます。このメソッドは、選択領域を形成します。ドキュメントが null の場合には何も行いません。位置は 0 とコンポーネントテキストの長さとの間でなければならず、そうでない場合は例外がスローされます。
pos - 位置
IllegalArgumentException - position に指定した値が 0 未満、またはコンポーネントテキストより長い場合setCaretPosition(int)public void setFocusAccelerator(char aKey)
aKey - キーgetFocusAccelerator()public char getFocusAccelerator()
public void read(Reader in,
Object desc)
throws IOException
in - 読み込み元のストリームdesc - ストリームを記述するオブジェクト。String、File、URL など。ある種のドキュメント (たとえば HTML) は、この情報を利用できる場合がある。null 以外の場合、ドキュメントのプロパティーとして追加される
IOException - 初期化に使用されるストリームによって スローされるEditorKit.createDefaultDocument(),
setDocument(javax.swing.text.Document),
PlainDocument
public void write(Writer out)
throws IOException
out - 出力ストリーム
IOException - 入出力エラーが発生した場合public void removeNotify()
JComponent の記述:KeyboardAction が削除されます。
JComponent 内の removeNotifyJComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)public void setCaretPosition(int position)
TextComponent のテキスト挿入キャレットの位置を設定します。キャレットは変更を追跡するので、コンポーネントの基本となるテキストが変更されるとこれも移動することに注意してください。ドキュメントが null の場合には何も行いません。位置は 0 とコンポーネントテキストの長さとの間でなければならず、そうでない場合は例外がスローされます。
position - 位置
IllegalArgumentException - position に指定した値が 0 未満、またはコンポーネントテキストより長い場合public int getCaretPosition()
public void setText(String t)
TextComponent のテキストに、指定されたテキストを設定します。テキストが null または空の場合は、古いテキストを単に削除する効果があります。テキストが挿入されたときに結果として得られるキャレット位置は、キャレットクラスの実装によって決定されます。
このメソッドはスレッドに対して安全ですが、ほとんどの Swing メソッドは違います。詳細は、「How to Use Threads」を参照してください。
テキストはバウンドプロパティーではないため、それが変更されても PropertyChangeEvent はトリガーされません。テキストの変更を待機するには、DocumentListener を使用してください。
t - 設定する新しいテキストgetText(int, int),
DefaultCaretpublic String getText()
TextComponent に格納されたテキストを返します。基本となるドキュメントが null の場合は、NullPointerException を返します。
テキストはバウンドプロパティーではないため、それが変更されても PropertyChangeEvent はトリガーされません。テキストの変更を待機するには、DocumentListener を使用してください。
NullPointerException - ドキュメントが null の場合setText(java.lang.String)public String getSelectedText()
TextComponent に格納された選択されているテキストを返します。選択領域が null であるか、ドキュメントが空の場合は、null を返します。
IllegalArgumentException - 選択領域がなんらかの理由で ドキュメントへの有効なマッピングを持たない場合setText(java.lang.String)public boolean isEditable()
TextComponent が編集可能かどうかを示すブール型を返します。
setEditable(boolean)public void setEditable(boolean b)
TextComponent が編集可能かどうかを設定します。状態が変更されると、PropertyChange イベント (editable) が発生します。
b - 設定される booleanisEditable()public int getSelectionStart()
public void setSelectionStart(int selectionStart)
これは、このメソッドを java.awt.TextComponent で呼び出したコードに対する下位互換に役立ちます。これを実装すると、実際の選択領域が管理されている場所である Caret の実装に転送できます。
selectionStart - テキストの開始位置 >= 0public int getSelectionEnd()
public void setSelectionEnd(int selectionEnd)
これは、このメソッドを java.awt.TextComponent で呼び出したコードに対する下位互換に役立ちます。これを実装すると、実際の選択領域が管理されている場所である Caret の実装に転送できます。
selectionEnd - テキストの末尾位置 >= 0
public void select(int selectionStart,
int selectionEnd)
このメソッドは選択テキストの始点と終点を設定します。 始点は 0 以上でなければならないという制約が適用されます。終点は始点と同じか、それより大きい値でなければならず、またテキストコンポーネントのテキストの長さに等しいか、それより短くなければいけません。
呼び出し側が一貫性のない値または境界外の値を指定した場合、メソッドはメッセージを表示せずに、これらの制約を適用します。具体的には、始点または終点がテキストの長さを超える場合、テキストと同じ長さに設定し直します。始点がゼロより小さい場合、ゼロに設定し直します。 終点が始点より小さい場合、始点に設定し直します。
この呼び出しは、下位互換のために提供されています。これは、setCaretPosition の呼び出しに回送され、それに moveCaretPostion の呼び出しが続きます。選択領域を管理する望ましい方法は、これらのメソッドを直接呼び出すことです。
selectionStart - テキストの始点selectionEnd - テキストの終点setCaretPosition(int),
moveCaretPosition(int)public void selectAll()
TextComponent 内のすべてのテキストを選択します。null または空のドキュメントでは何も行いません。
public String getToolTipText(MouseEvent event)
event のツールヒントとして使用される文字列を返します。返されるのは次のいずれかです。
null 以外の値で setToolTipText が呼び出されると、その値が返される。そうでない場合は
getToolTipText の呼び出しによる値が返される
JTextComponent が ToolTipManager で登録されることはありません。これは、registerComponent が ToolTipManager 上で呼び出されない限り、ツールヒントは TextUI から表示されないことを意味します。
JComponent 内の getToolTipTextevent - 該当のイベント
event のツールヒントとして使用される文字列JComponent.setToolTipText(java.lang.String),
TextUI.getToolTipText(javax.swing.text.JTextComponent, java.awt.Point),
ToolTipManager.registerComponent(javax.swing.JComponent)public Dimension getPreferredScrollableViewportSize()
Scrollable 内の getPreferredScrollableViewportSizeScrollable をビューとして持つ JViewport の preferredSizeJComponent.getPreferredSize()
public int getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction)
このデフォルト実装は、単純に可視領域の 10% を返します。サブクラスは、よりいっそう適正な値を提供できます。
Scrollable 内の getScrollableUnitIncrementvisibleRect - ビューポート内の可視のビュー領域orientation - SwingConstants.VERTICAL または SwingConstants.HORIZONTALdirection - 上または左にスクロールする場合は 0 より小さく、下または右にスクロールする場合は 0 より大きい
IllegalArgumentException - 方向が無効な場合JScrollBar.setUnitIncrement(int)
public int getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction)
このデフォルト実装は、単純に可視領域を返します。サブクラスは、よりいっそう適正な値を提供できます。
Scrollable 内の getScrollableBlockIncrementvisibleRect - ビューポート内の可視のビュー領域orientation - SwingConstants.VERTICAL または SwingConstants.HORIZONTALdirection - 上または左にスクロールする場合は 0 より小さく、下または右にスクロールする場合は 0 より大きい
IllegalArgumentException - 方向が無効な場合JScrollBar.setBlockIncrement(int)public boolean getScrollableTracksViewportWidth()
Scrollable の幅を強制的にビューポートの幅に一致させる場合に true を返します。たとえば、折り返し行がビューポートの右端を越えて消えてしまうようでは不都合なので、行折り返しをサポートした通常のテキストビューはここで true を返します。上位クラスに JScrollPane を持つ Scrollable に true を返すと、水平スクロールが事実上無効になることに注意してください。
JViewport などのスクロールコンテナは、検証されるとこのメソッドを使用します。
Scrollable 内の getScrollableTracksViewportWidthScrollable の幅を強制的にビューポートの幅に一致させる場合は truepublic boolean getScrollableTracksViewportHeight()
Scrollable の高さを強制的にビューポートの高さと一致させる場合に true を返します。たとえば、左から右の列へテキストを表示する段組みのテキストビューの場合、このメソッドで true を返すと、垂直方向のスクロールが結果的に無効になります。
JViewport などのスクロールコンテナは、検証されるとこのメソッドを使用します。
Scrollable 内の getScrollableTracksViewportHeight
public boolean print()
throws PrinterException
JTextComponent を印刷する簡易印刷メソッドです。注:このメソッドは印刷が完了するまでブロックされます。
注:ヘッドレスモードでは、ダイアログは表示されません。
このメソッドは、印刷の実行時に、完全な機能を備えた print メソッドを呼び出します。
true
PrinterException - 印刷システムのエラーが原因でジョブが停止した場合
SecurityException - 印刷ジョブ要求の開始がこのスレッドに許可されていない場合print(MessageFormat, MessageFormat, boolean, PrintService, PrintRequestAttributeSet, boolean)
public boolean print(MessageFormat headerFormat,
MessageFormat footerFormat)
throws PrinterException
JTextComponent を印刷する簡易印刷メソッドです。注:このメソッドは印刷が完了するまでブロックされます。
注:ヘッドレスモードでは、ダイアログは表示されません。
このメソッドは、印刷の実行時に、完全な機能を備えた print メソッドを呼び出します。
headerFormat - ヘッダーとして使用されるテキスト (MessageFormat 形式)。 ヘッダーがない場合は nullfooterFormat - フッターとして使用されるテキスト (MessageFormat 形式)。 フッターがない場合は null
true
PrinterException - 印刷システムのエラーが原因でジョブが停止した場合
SecurityException - 印刷ジョブ要求の開始がこのスレッドに許可されていない場合print(MessageFormat, MessageFormat, boolean, PrintService, PrintRequestAttributeSet, boolean),
MessageFormat
public boolean print(MessageFormat headerFormat,
MessageFormat footerFormat,
boolean showPrintDialog,
PrintService service,
PrintRequestAttributeSet attributes,
boolean interactive)
throws PrinterException
JTextComponent の内容を印刷します。注:このメソッドは印刷が完了するまでブロックされます。
MessageFormat 引数を指定して、ヘッダーテキストとフッターテキストを出力に追加することができます。印刷コードは、それらの形式から Strings を要求して、書式付き文字列に含まれる単一の項目 (現在のページ番号を表す Integer) を提供します。
showPrintDialog boolean パラメータを使用すると、印刷ダイアログがユーザーに表示されるかどうかを指定できます。ダイアログが表示されると、ユーザーはそれを使用して印刷属性を変更したり、印刷を取り消したりすることができます。
service では、印刷ダイアログの初期値 PrintService や、ダイアログが表示されないときに印刷する PrintService を指定することができます。
属性は、印刷ダイアログの初期値を指定したり、ダイアログが表示されないときに必要な属性を提供するために使用できます。属性を使って、ジョブの印刷方法 (両面または片面) を制御することができます。
interactive boolean パラメータでは、印刷を対話型モードで行うかどうかを指定できます。true の場合、印刷中に中止オプション付きの進捗ダイアログが表示されます。このダイアログは、ベントディスパッチスレッド上で印刷を行う場合はモーダル、それ以外の場合は非モーダルです。警告:イベントディスパッチスレッド上で、interactive パラメータに false を指定してこのメソッドを呼び出すと、印刷が完了するまで、再ペイントを含むすべてのイベントの処理が中断されます。表示できる GUI のないアプリケーションから印刷するときにのみ false を指定することをお勧めします。
注:ヘッドレスモード では、showPrintDialog パラメータと interactive パラメータが無視されるため、ダイアログは表示されません。
このメソッドを使用すると、印刷中にドキュメントが変更される心配がありません。視覚的に指定するには、印刷中に setEnabled(false) を設定します。
このメソッドは、getPrintable(java.text.MessageFormat, java.text.MessageFormat) を使ってドキュメントの内容を描画します。
このメソッドはスレッドに対して安全ですが、ほとんどの Swing メソッドは違います。詳細は、「How to Use Threads」を参照してください。
使用例。次のコードの抜粋は、クロスプラットフォーム型の印刷ダイアログを表示し、対話型モードで JTextComponent を印刷します (ただしユーザーが印刷ダイアログを取り消した場合を除く)。
textComponent.print(new MessageFormat("My text component header"),
new MessageFormat("Footer. Page - {0}"), true, null, null, true);
イベントディスパッチスレッド以外でこのコードを実行すると、バックグラウンドで印刷が行われます。バックグラウンド印刷では、次のパターンが使用されることがあります。
FutureTask<Boolean> future =
new FutureTask<Boolean>(
new Callable<Boolean>() {
public Boolean call() {
return textComponent.print(.....);
}
});
executor.execute(future);
headerFormat - ヘッダーとして使用されるテキスト (MessageFormat 形式)。 ヘッダーがない場合は nullfooterFormat - フッターとして使用されるテキスト (MessageFormat 形式)。 フッターがない場合は nullshowPrintDialog - 印刷ダイアログを表示する場合は true、 そうでない場合は falseservice - 初期 PrintService、デフォルトの場合は nullattributes - 印刷ジョブに適用されるジョブ属性。何も適用しない場合は nullinteractive - 対話型モードで印刷するかどうか
true
PrinterException - 印刷システムのエラーが原因でジョブが停止した場合
SecurityException - 印刷ジョブ要求の開始がこのスレッドに許可されていない場合getPrintable(java.text.MessageFormat, java.text.MessageFormat),
MessageFormat,
GraphicsEnvironment.isHeadless(),
FutureTask
public Printable getPrintable(MessageFormat headerFormat,
MessageFormat footerFormat)
JTextComponent の内容を印刷するために使用する Printable を返します。返される Printable は、用紙のサイズに合わせて、画面に表示したとおりにドキュメントを印刷します。複雑なレポートやドキュメントを作成する場合は、返される Printable を別の Printable にラップすることもできます。
返される Printable は、この JTextComponent とドキュメントを共有します。開発者が責任を持って、この Printable の使用中にドキュメントが変更されないようにします。印刷中にドキュメントが変更されると、印刷動作は保証されません。
MessageFormat 引数を指定して、ヘッダーテキストとフッターテキストを出力に追加することができます。印刷コードは、それらの形式から Strings を要求して、書式付き文字列に含まれる単一の項目 (現在のページ番号を表す Integer) を提供します。
印刷時に返される Printable は、ページサイズに合わせてドキュメントの内容の書式設定を行います。行折り返しを適切に行うためには、全ページのイメージング可能領域の幅を同じにする必要があります。PageFormat.getImageableWidth() を参照してください。
このメソッドはスレッドに対して安全ですが、ほとんどの Swing メソッドは違います。詳細は、「How to Use Threads」を参照してください。
返される Printable は、どのスレッド上でも印刷できます。
この実装の返される Printable は、どのスレッド上で使用されているかに関係なく、イベントディスパッチスレッド上のすべてのペイントを実行します。
headerFormat - ヘッダーとして使用されるテキスト (MessageFormat 形式)。 ヘッダーがない場合は nullfooterFormat - フッターとして使用されるテキスト (MessageFormat 形式)。 フッターがない場合は null
JTextComponent の内容を印刷するために使用する PrintablePrintable,
PageFormat,
Document.render(java.lang.Runnable)public AccessibleContext getAccessibleContext()
JTextComponent に関連した AccessibleContext を取得します。テキストコンポーネントの場合、AccessibleContext は AccessibleJTextComponent の形式を取ります。必要に応じて新規の AccessibleJTextComponent インスタンスが作成されます。
Accessible 内の getAccessibleContextJComponent 内の getAccessibleContextJTextComponent の AccessibleContext として機能する JTextComponentprotected String paramString()
JTextComponent の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null にはなりません。
JFC コンポーネントの特定の新しい側面についての情報を提供するには、paramString をオーバーライドします。
JComponent 内の paramStringJTextComponent の文字列表現protected void processInputMethodEvent(InputMethodEvent e)
Component の記述:InputMethodListener オブジェクトにディスパッチすることによって処理します。
このコンポーネントに対してインプットメソッドイベントが使用可能でない場合、このメソッドは呼び出されません。インプットメソッドイベントは、次のいずれかの場合に使用可能になります。
InputMethodListener オブジェクトが addInputMethodListener によって登録されている
enableEvents によってインプットメソッドイベントが使用可能になっている
イベントパラメータが null の場合の動作は定義されていないため例外がスローされます。
Component 内の processInputMethodEvente - インプットメソッドイベントInputMethodEvent,
InputMethodListener,
Component.addInputMethodListener(java.awt.event.InputMethodListener),
Component.enableEvents(long)public InputMethodRequests getInputMethodRequests()
Component の記述:InputMethodRequests のインスタンスを返すためにはこのメソッドをオーバーライドする必要があります。同時に、インプットメソッドイベントを処理する必要もあります。
Component 内の getInputMethodRequestsnullComponent.addInputMethodListener(java.awt.event.InputMethodListener)public void addInputMethodListener(InputMethodListener l)
Component の記述:InputMethodRequests のインスタンスを返すように getInputMethodRequests もオーバーライドする場合、コンポーネントはインプットメソッドからインプットメソッドイベントを受け取るだけです。リスナー l が null の場合、例外はスローされず、処理も実行されません。 AWT スレッドモデルの詳細については、「AWT Threading Issues」を参照してください。
Component 内の addInputMethodListenerl - インプットメソッドリスナーInputMethodEvent,
InputMethodListener,
Component.removeInputMethodListener(java.awt.event.InputMethodListener),
Component.getInputMethodListeners(),
Component.getInputMethodRequests()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。