|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.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
内の updateUI
JComponent.setUI(javax.swing.plaf.ComponentUI)
,
UIManager.getLookAndFeel()
,
UIManager.getUI(javax.swing.JComponent)
public void addCaretListener(CaretListener listener)
listener
- 追加されるリスナーCaretEvent
public void removeCaretListener(CaretListener listener)
listener
- 削除されるリスナーCaretEvent
public CaretListener[] getCaretListeners()
CaretListener
、 変更リスナーが現在登録されていない場合は 空の配列addCaretListener(javax.swing.event.CaretListener)
,
removeCaretListener(javax.swing.event.CaretListener)
protected void fireCaretUpdate(CaretEvent e)
e
- イベントEventListenerList
public 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
内の setComponentOrientation
ComponentOrientation
public 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)
,
TransferHandler
public boolean getDragEnabled()
dragEnabled
プロパティーの値setDragEnabled(boolean)
public final void setDropMode(DropMode dropMode)
DropMode.USE_SELECTION
になっています。ただし、ユーザー経験を改善したい場合は、DropMode.INSERT
の使用をお勧めします。DropMode.INSERT
では、テキストのある位置から別の位置へのドロップとよく似た操作を実行できますが、現在選択しているテキストとキャレット位置に影響はありません。
JTextComponents
は次のドロップモードをサポートしています。
DropMode.USE_SELECTION
DropMode.INSERT
このコンポーネントがドロップを受け付ける TransferHandler
を持っていなければ、ドロップモードの効果はありません。
dropMode
- 使用するドロップモード
IllegalArgumentException
- ドロップモードがサポートされていないか null
の場合getDropMode()
,
getDropLocation()
,
JComponent.setTransferHandler(javax.swing.TransferHandler)
,
TransferHandler
public 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()
,
Clipboard
public void copy()
null
の場合には何も行いません。
Toolkit.getSystemClipboard()
,
Clipboard
public void paste()
replaceSelection(java.lang.String)
,
Toolkit.getSystemClipboard()
,
Clipboard
public 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
内の removeNotify
JComponent.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)
,
DefaultCaret
public 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
- テキストの末尾位置 >= 0public 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
内の getToolTipText
event
- 該当のイベント
event
のツールヒントとして使用される文字列JComponent.setToolTipText(java.lang.String)
,
TextUI.getToolTipText(javax.swing.text.JTextComponent, java.awt.Point)
,
ToolTipManager.registerComponent(javax.swing.JComponent)
public Dimension getPreferredScrollableViewportSize()
Scrollable
内の getPreferredScrollableViewportSize
Scrollable
をビューとして持つ JViewport
の preferredSize
JComponent.getPreferredSize()
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
このデフォルト実装は、単純に可視領域の 10% を返します。サブクラスは、よりいっそう適正な値を提供できます。
Scrollable
内の getScrollableUnitIncrement
visibleRect
- ビューポート内の可視のビュー領域orientation
- SwingConstants.VERTICAL
または SwingConstants.HORIZONTAL
direction
- 上または左にスクロールする場合は 0 より小さく、下または右にスクロールする場合は 0 より大きい
IllegalArgumentException
- 方向が無効な場合JScrollBar.setUnitIncrement(int)
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
このデフォルト実装は、単純に可視領域を返します。サブクラスは、よりいっそう適正な値を提供できます。
Scrollable
内の getScrollableBlockIncrement
visibleRect
- ビューポート内の可視のビュー領域orientation
- SwingConstants.VERTICAL
または SwingConstants.HORIZONTAL
direction
- 上または左にスクロールする場合は 0 より小さく、下または右にスクロールする場合は 0 より大きい
IllegalArgumentException
- 方向が無効な場合JScrollBar.setBlockIncrement(int)
public boolean getScrollableTracksViewportWidth()
Scrollable
の幅を強制的にビューポートの幅に一致させる場合に true を返します。たとえば、折り返し行がビューポートの右端を越えて消えてしまうようでは不都合なので、行折り返しをサポートした通常のテキストビューはここで true を返します。上位クラスに JScrollPane
を持つ Scrollable
に true を返すと、水平スクロールが事実上無効になることに注意してください。
JViewport
などのスクロールコンテナは、検証されるとこのメソッドを使用します。
Scrollable
内の getScrollableTracksViewportWidth
Scrollable
の幅を強制的にビューポートの幅に一致させる場合は 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
形式)。 ヘッダーがない場合は null
footerFormat
- フッターとして使用されるテキスト (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
形式)。 ヘッダーがない場合は null
footerFormat
- フッターとして使用されるテキスト (MessageFormat
形式)。 フッターがない場合は null
showPrintDialog
- 印刷ダイアログを表示する場合は true
、 そうでない場合は false
service
- 初期 PrintService
、デフォルトの場合は null
attributes
- 印刷ジョブに適用されるジョブ属性。何も適用しない場合は null
interactive
- 対話型モードで印刷するかどうか
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
形式)。 ヘッダーがない場合は null
footerFormat
- フッターとして使用されるテキスト (MessageFormat
形式)。 フッターがない場合は null
JTextComponent
の内容を印刷するために使用する Printable
Printable
,
PageFormat
,
Document.render(java.lang.Runnable)
public AccessibleContext getAccessibleContext()
JTextComponent
に関連した AccessibleContext
を取得します。テキストコンポーネントの場合、AccessibleContext
は AccessibleJTextComponent
の形式を取ります。必要に応じて新規の AccessibleJTextComponent
インスタンスが作成されます。
Accessible
内の getAccessibleContext
JComponent
内の getAccessibleContext
JTextComponent
の AccessibleContext
として機能する JTextComponent
protected String paramString()
JTextComponent
の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null
にはなりません。
JFC コンポーネントの特定の新しい側面についての情報を提供するには、paramString
をオーバーライドします。
JComponent
内の paramString
JTextComponent
の文字列表現protected void processInputMethodEvent(InputMethodEvent e)
Component
の記述:InputMethodListener
オブジェクトにディスパッチすることによって処理します。
このコンポーネントに対してインプットメソッドイベントが使用可能でない場合、このメソッドは呼び出されません。インプットメソッドイベントは、次のいずれかの場合に使用可能になります。
InputMethodListener
オブジェクトが addInputMethodListener
によって登録されている
enableEvents
によってインプットメソッドイベントが使用可能になっている
イベントパラメータが null
の場合の動作は定義されていないため例外がスローされます。
Component
内の processInputMethodEvent
e
- インプットメソッドイベントInputMethodEvent
,
InputMethodListener
,
Component.addInputMethodListener(java.awt.event.InputMethodListener)
,
Component.enableEvents(long)
public InputMethodRequests getInputMethodRequests()
Component
の記述:InputMethodRequests
のインスタンスを返すためにはこのメソッドをオーバーライドする必要があります。同時に、インプットメソッドイベントを処理する必要もあります。
Component
内の getInputMethodRequests
null
Component.addInputMethodListener(java.awt.event.InputMethodListener)
public void addInputMethodListener(InputMethodListener l)
Component
の記述:InputMethodRequests
のインスタンスを返すように getInputMethodRequests
もオーバーライドする場合、コンポーネントはインプットメソッドからインプットメソッドイベントを受け取るだけです。リスナー l
が null
の場合、例外はスローされず、処理も実行されません。 AWT スレッドモデルの詳細については、「AWT Threading Issues」を参照してください。
Component
内の addInputMethodListener
l
- インプットメソッドリスナー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 も参照してください。