Java プラットフォーム 1.2

javax.swing.text
クラス JTextComponent

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.text.JTextComponent
直接の既知のサブクラス:
JEditorPane, JTextArea, JTextField

public abstract class JTextComponent
extends JComponent
implements Scrollable, Accessible

JTextComponent は Swing テキストコンポーネントの基底クラスです。これは、java.awt.TextComponent クラスと互換性を保つためのものです。また、他のサービスも提供されており、プラグイン可能な UI や Bean のサポート以外の柔軟性もあります。

キャレット変更

キャレットは、Swing テキストコンポーネント内のプラグイン可能なオブジェクトです。キャレット位置と選択領域の変更通知は、テキストコンポーネントに登録済みの CaretListener インタフェースの実装に送られます。UI は、カスタマイズしたキャレットが設定済みでないかぎりデフォルトのキャレットをインストールします。

コマンド

テキストコンポーネントは、コンポーネントを操作するのに使うコマンドを提供します。これは本質的に、コンポーネントがその機能を表現する方法です。こうした機能は、TextAction の実装を使って、Swing アクションインタフェースに基づいて表現されます。テキストコンポーネントがサポートするコマンドのセットは、getActions() メソッドを使って見つけることができます。こうしたアクションは、ボタンなどから発生するキーイベントに割り当てられます。

キーマップ

キーボードをいっそう柔軟に使えるように、キーマップを作成するためのサポートと、さまざまなキーストロークをあるアクションに割り当てるためのサポートが提供されています。複数のテキストコンポーネント間でキーマップを共有できるようにするために、各テキストコンポーネントは、TextAction を拡張するアクションを使うことができます。TextAction は、もっとも最近フォーカスを持っているかまたは持っていたためにアクションの主体となる JTextComponent はどれかを判定できます (アクションに送られた ActionEvent が、ターゲットテキストコンポーネントをそのソースとして保持しない場合)。

キーマップを使うように奨励されていますが、AWT 機構との下位互換はリスナーにイベントを消費して横取りする機会を与えることによって提供されます。キーボードイベントの配布は、イベントを消費できる配布のそれぞれで以下の順番に処理されます。

  1. フォーカスマネージャ
  2. 登録された KeyListener のクラス
  3. 現在のキーマップを使ったキーマップ処理
  4. JComponent でのキーボード処理 (アクセラレータ、コンポーネントナビゲーションなど)

コンポーネントはデフォルトで、すべての JTextComponent のインスタンスによってデフォルトキーマップとして共有される、キーマップ (DEFAULT_KEYMAP) を作成します。 一般的に、Look & Feel の実装は、デフォルトのキーマップに解決する別のキーマップをインストールして、デフォルトのキーマップを、別のキーマップにはないキー割り当てに対応します。 以下に、最小の割り当てを示します。

モデル/ビュー分割

テキストコンポーネントはモデル/ビュー分割を持ちます。テキストコンポーネントは、モデル、ビュー、コントローラを表すのに使うオブジェクトをまとめます。テキストドキュメントモデルは、モデルのオブザーバとして動作するほかのビューによって共有されます (たとえば、ドキュメントを複数のコンポーネントによって共有できる)。

モデルは Document インタフェースによって定義されます。これは、編集時に変更を追跡する柔軟なテキスト記憶機構を提供することを意図し、いっそう高度なモデルに拡張できます。モデルインタフェースは、SGML が提供する式の機能、つまり多様なコンテンツを表現するのに使うシステムを取り込むためのものです。ドキュメントに加える各修正は、ビューを最新のモデルに同期できるようにする DocumentEvent という形式で変更の詳細の通知をすべてのオブザーバに送らせます。 このイベントは、DocumentListener インタフェースを実装して監視中のモデルに配信対象を登録したオブザーバに送られます。

位置情報
ビューでテキスト位置を指定する機能が提供されます。この情報を指定するために、modelToView(int)viewToModel(java.awt.Point) という 2 つのメソッドが用意されています。
元に戻す/再実行のサポート
編集履歴機構のサポートが提供されているので、元に戻す/再実行の操作を行うことができます。テキストコンポーネントはそれ自身ではデフォルトで履歴バッファを提供しませんが、履歴バッファと組み合わせて使って、元に戻す/再実行をサポートする UndoableEdit レコードを提供します。そのサポートは Document モデルによって提供されます。このモデルは、UndoableEditListener の実装を追加できるようにします。
スレッドに対して安全
Swing テキストコンポーネントは特定のスレッドに対して安全な操作のサポートを提供します。テキストコンポーネントは高度な構成能力を持つので、提供される保護を迂回することが可能です。保護は主にモデルから発生するので、AbstractDocument のマニュアルは提供される保護の前提を説明します。非同期で安全に呼び出せるメソッドには、コメントが付けられます。

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。

関連項目:
Document, DocumentEvent, DocumentListener, Caret, CaretEvent, CaretListener, TextUI, View, ViewFactory, 直列化された形式

内部クラスの概要
 class JTextComponent.AccessibleJTextComponent
          JTextComponent のユーザ補助機能を実装します。
static class JTextComponent.KeyBinding
          キー割り当てを作成するための割り当てレコードです。
 
クラス javax.swing.JComponent から継承した内部クラス
JComponent.AccessibleJComponent
 
フィールドの概要
static String DEFAULT_KEYMAP
          JTextComponent のインスタンスが異なるキーマップセットを持っていないかぎり、すべての 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
 
コンストラクタの概要
JTextComponent()
          新しい JTextComponent を作成します。
 
メソッドの概要
 void addCaretListener(CaretListener listener)
          変更を通知するためのキャレットリスナーをキャレットに追加します。
static Keymap addKeymap(String nm, Keymap parent)
          新しいキーマップをキーマップ階層に追加します。
 void copy()
          関連付けられているテキストモデル内の現在選択されている領域をシステムクリップボードに転送して、テキストモデル内のコンテンツはそのまま残します。
 void cut()
          関連付けられているテキストモデル内の現在選択されている領域をシステムクリップボードに転送して、モデルからコンテンツを削除します。
protected  void fireCaretUpdate(CaretEvent e)
          通知の配信対象を、指定されたイベントタイプで登録したすべてのリスナーに通知します。
 AccessibleContext getAccessibleContext()
          この JComponent に関連付けられている AccessibleContext を取得します。
 Action[] getActions()
          エディタのコマンドリストを取得します。
 Caret getCaret()
          ビューでテキスト指向ナビゲーションを可能にするキャレットを取得します。
 Color getCaretColor()
          キャレットを描画するのに使う現在の色を取得します。
 int getCaretPosition()
          テキストコンポーネントのテキスト挿入キャレットの位置を返します。
 Color getDisabledTextColor()
          無効にしたテキストを描画するのに使う現在の色を取得します。
 Document getDocument()
          エディタに関連付けられているモデルを取得します。
 char getFocusAccelerator()
          受信側テキストコンポーネントにフォーカスを取得させるキーアクセラレータを返します。
 Highlighter getHighlighter()
          ハイライトを担当するオブジェクトを取得します。
 Keymap getKeymap()
          このテキストコンポーネントで現在アクティブなキーマップを取得します。
static Keymap getKeymap(String nm)
          それまでにドキュメントに追加されていた名前付きキーマップを取得します。
 Insets getMargin()
          テキストコンポーネントの境界とそのテキストの間のマージンを返します。
 Dimension getPreferredScrollableViewportSize()
          ビューコンポーネントのビューポートの望ましいサイズを返します。
 int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
          論理行または列を表示するコンポーネントは、方向の値に基づいて、1 ブロック分の行または列を完全に表示するスクロールインクリメントを計算します。
 boolean getScrollableTracksViewportHeight()
          ビューポートが、常にこの Scrollable の高さを強制的にビューポートの高さに一致させようとする場合は、true を返します。
 boolean getScrollableTracksViewportWidth()
          ビューポートが、常にこの Scrollable の幅を強制的にビューポートの幅に一致させようとする場合は、true を返します。
 int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
          論理行または列を表示するコンポーネントは、方向の値に基づいて、新しい行または列を完全に表示するスクロールインクリメントを計算します。
 String getSelectedText()
          この TextComponent に格納された選択されているテキストを返します。
 Color getSelectedTextColor()
          選択したテキストを描画するのに使う現在の色を取得します。
 Color getSelectionColor()
          選択領域を描画するのに使う現在の色を取得します。
 int getSelectionEnd()
          選択したテキストの末尾位置を返します。
 int getSelectionStart()
          選択したテキストの開始位置を返します。
 String getText()
          この TextComponent に格納されたテキストを返します。
 String getText(int offs, int len)
          コンポーネントが表すテキストの一部を取得します。
 TextUI getUI()
          このテキスト指向エディタのユーザインタフェースファクトリを取得します。
 boolean isEditable()
          この TextComponent が編集可能かどうかを示すブール型を返します。
 boolean isFocusTraversable()
          フォーカスの行き来ができる場合は true を返します。
 boolean isOpaque()
          このコンポーネントが完全に不透明な場合は true を返します。
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()
          システムクリップボードのコンテンツを関連付けられているテキストモデルに転送します。
protected  void processComponentKeyEvent(KeyEvent e)
          コンポーネント自身が認識するキーイベントをすべて処理します。
 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 setDisabledTextColor(Color c)
          無効にしたテキストを描画するのに使う現在の色を設定します。
 void setDocument(Document doc)
          エディタをテキストドキュメントに関連付けます。
 void setEditable(boolean b)
          この TextComponent が編集可能かどうかを設定します。
 void setEnabled(boolean b)
          パラメータ b の値に基づいて、このコンポーネントを有効または無効にします。
 void setFocusAccelerator(char aKey)
          受信側テキストコンポーネントにフォーカスを取得させるキーアクセラレータを設定します。
 void setHighlighter(Highlighter h)
          使用するハイライタを設定します。
 void setKeymap(Keymap map)
          イベントをアクションに割り当てるのに使うキーマップを設定します。
 void setMargin(Insets m)
          テキストコンポーネントの境界とそのテキストの間のマージン空白を設定します。
 void setOpaque(boolean o)
          UI がバックグラウンドを描画する必要があるかどうかを設定します。
 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)
          モデルのコンテンツを、指定されたストリームに格納します。
 
クラス javax.swing.JComponent から継承したメソッド
addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getUIClassID, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update
 
クラス java.awt.Container から継承したメソッド
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
クラス java.awt.Component から継承したメソッド
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

FOCUS_ACCELERATOR_KEY

public static final String FOCUS_ACCELERATOR_KEY
フォーカスアクセラレータのバウンドプロパティ名です。

DEFAULT_KEYMAP

public static final String DEFAULT_KEYMAP
JTextComponent のインスタンスが異なるキーマップセットを持っていないかぎり、すべての JTextComponent のインスタンスで共有されるデフォルトキーマップの名前です。
コンストラクタの詳細

JTextComponent

public JTextComponent()
新しい JTextComponent を作成します。キャレットイベントのリスナーが確立され、プラグイン可能な UI がインストールされます。コンポーネントは編集可能とマークされます。配置はテキストのビューサブシステムによって管理されるので、レイアウトマネージャは使用されません。ドキュメントモデルは無効に設定されます。
メソッドの詳細

getUI

public TextUI getUI()
このテキスト指向エディタのユーザインタフェースファクトリを取得します。
戻り値:
ファクトリ

setUI

public void setUI(TextUI ui)
このテキスト指向エディタのユーザインタフェースファクトリを設定します。
パラメータ:
ui - ファクトリ

updateUI

public void updateUI()
プラグイン可能な UI を再ロードします。新しいインタフェースを取得するのに使うキーは getUIClassID() です。UI のタイプは TextUI です。invalidate() は、UI の設定後に呼び出されます。
オーバーライド:
クラス JComponent 内の updateUI

isOpaque

public boolean isOpaque()
このコンポーネントが完全に不透明な場合は true を返します。バックグラウンドを描画する際に使われます。
戻り値:
このコンポーネントが完全に不透明な場合は true
オーバーライド:
クラス JComponent 内の isOpaque

setOpaque

public void setOpaque(boolean o)
UI がバックグラウンドを描画する必要があるかどうかを設定します。
パラメータ:
o - バックグラウンドを描画する必要がある場合は true
オーバーライド:
クラス JComponent 内の setOpaque

addCaretListener

public void addCaretListener(CaretListener listener)
変更を通知するためのキャレットリスナーをキャレットに追加します。
パラメータ:
listener - リスナー
関連項目:
CaretEvent

removeCaretListener

public void removeCaretListener(CaretListener listener)
キャレットリスナーを削除します。
パラメータ:
listener - リスナー
関連項目:
CaretEvent

fireCaretUpdate

protected void fireCaretUpdate(CaretEvent e)
通知の配信対象を、指定されたイベントタイプで登録したすべてのリスナーに通知します。イベントインスタンスは、fire メソッドに渡されるパラメータを使って簡単に生成されます。リスナーリストは降順方式で処理されます。
パラメータ:
e - イベント
関連項目:
EventListenerList

setDocument

public void setDocument(Document doc)
エディタをテキストドキュメントに関連付けます。現在登録済みのファクトリを使うと、ドキュメントのビューを構築できます。このビューは、再検証後にエディタによって表示されます。PropertyChange イベント (document) は、各リスナーに通知されます。
パラメータ:
doc - 表示/編集するドキュメント
関連項目:
getDocument()

getDocument

public Document getDocument()
エディタに関連付けられているモデルを取得します。これは主に、テキストエディタになるのに必要な最小限の状態に UI が到達するためのものです。サブクラスは、モデルの実際の型を返します。この型は通常 Document を継承したものになります。
戻り値:
モデル

getActions

public Action[] getActions()
エディタのコマンドリストを取得します。これは、エディタ自身がサポートするコマンドコレクションで拡張されたプラグイン済み UI によってサポートされるコマンドのリストです。これらは、キーマップ内でのように、イベントに割り当てるのに役立ちます。
戻り値:
コマンドリスト

setMargin

public void setMargin(Insets m)
テキストコンポーネントの境界とそのテキストの間のマージン空白を設定します。テキストコンポーネントのデフォルト Border オブジェクトは、この値を使って適切なマージンを作成します。ただし、デフォルト以外の境界が設定されている場合は、適切なマージン空白を作成するのは Border オブジェクトの担当です (それ以外の場合、このプロパティは事実上無視される)。これは、コンポーネントの再描画を発生させます。 PropertyChange イベント (margin) はすべてのリスナーに送られます。
パラメータ:
m - 境界とテキストの間のスペース

getMargin

public Insets getMargin()
テキストコンポーネントの境界とそのテキストの間のマージンを返します。
戻り値:
マージン

getCaret

public Caret getCaret()
ビューでテキスト指向ナビゲーションを可能にするキャレットを取得します。
戻り値:
キャレット

setCaret

public void setCaret(Caret c)
使用するキャレットを設定します。デフォルトで、インストールされる UI によって設定されます。これは、必要に応じてカスタムキャレットに変更できます。キャレットを設定すると、PropertyChange イベント (caret) が発生します。
パラメータ:
c - キャレット
関連項目:
getCaret()

getHighlighter

public Highlighter getHighlighter()
ハイライトを担当するオブジェクトを取得します。
戻り値:
ハイライタ

setHighlighter

public void setHighlighter(Highlighter h)
使用するハイライタを設定します。デフォルトで、インストールされる UI によって設定されます。これは、必要に応じてカスタムハイライタに変更できます。これを無効にするには、ハイライタを null に設定します。新しいハイライタがインストールされると、PropertyChange イベント (highlighter) が発生します。
パラメータ:
h - ハイライタ
関連項目:
getHighlighter()

setKeymap

public void setKeymap(Keymap map)
イベントをアクションに割り当てるのに使うキーマップを設定します。null に設定すると、キーボード入力が事実上無効になります。新しいキーマップをインストールすると、PropertyChange イベント (keymap) が発生します。
パラメータ:
map - キーマップ
関連項目:
getKeymap()

getKeymap

public Keymap getKeymap()
このテキストコンポーネントで現在アクティブなキーマップを取得します。
戻り値:
キーマップ

addKeymap

public static Keymap addKeymap(String nm,
                               Keymap parent)
新しいキーマップをキーマップ階層に追加します。キーマップ割り当ては下から上へ解釈処理されるので、子で指定した属性は親で指定した属性をオーバーライドします。
パラメータ:
nm - キーマップ名 (ドキュメント内の名前付きキーマップのコレクションで一意でなければならない)。キーマップに名前を指定しない場合は、名前は null でもかまわない。ただし、名前なしキーマップは名前で取得できないので、返された参照の管理は呼び出し側の責任になる
parent - 親キーマップ。未指定の割り当てをほかの特定のキーマップで解釈処理する必要がない場合は、null でもかまわない
戻り値:
キーマップ

removeKeymap

public static Keymap removeKeymap(String nm)
それまでにドキュメントに追加されていた名前付きキーマップを削除します。名前が null であるキーマップは、この方法では削除できません。
パラメータ:
nm - 削除するキーマップ名
戻り値:
削除されたキーマップ

getKeymap

public static Keymap getKeymap(String nm)
それまでにドキュメントに追加されていた名前付きキーマップを取得します。名前が null であるキーマップを扱いません。
パラメータ:
nm - キーマップ名
戻り値:
キーマップ

loadKeymap

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 - アクションのセット

getCaretColor

public Color getCaretColor()
キャレットを描画するのに使う現在の色を取得します。
戻り値:

setCaretColor

public void setCaretColor(Color c)
キャレットを描画するのに使う現在の色を設定します。これを無効に設定すると、効果的にデフォルトの色を復元します。色を設定すると、PropertyChange イベント (caretColor) が発生します。
パラメータ:
c - 色
関連項目:
getCaretColor()

getSelectionColor

public Color getSelectionColor()
選択領域を描画するのに使う現在の色を取得します。
戻り値:

setSelectionColor

public void setSelectionColor(Color c)
選択領域を描画するのに使う現在の色を設定します。色に null を設定することは、Color.white を設定することと同じです。色を設定すると、PropertyChange イベント (selectionColor) が発生します。
パラメータ:
c - 色
関連項目:
getSelectionColor()

getSelectedTextColor

public Color getSelectedTextColor()
選択したテキストを描画するのに使う現在の色を取得します。
戻り値:

setSelectedTextColor

public void setSelectedTextColor(Color c)
選択したテキストを描画するのに使う現在の色を設定します。色に null を設定することは、Color.black を設定することと同じです。色を設定すると、PropertyChange イベント (selectedTextColor) が発生します。
パラメータ:
c - 色
関連項目:
getSelectedTextColor()

getDisabledTextColor

public Color getDisabledTextColor()
無効にしたテキストを描画するのに使う現在の色を取得します。
戻り値:

setDisabledTextColor

public void setDisabledTextColor(Color c)
無効にしたテキストを描画するのに使う現在の色を設定します。色を設定すると、PropertyChange イベント (disabledTextColor) が発生します。
パラメータ:
c - 色
関連項目:
getDisabledTextColor()

replaceSelection

public void replaceSelection(String content)
現在選択されているコンテンツを、渡された文字列が示す新しいコンテンツで置き換えます。選択領域がない場合は、指定されたテキストの挿入に相当します。 置換後のテキストがない場合、これは現在の選択領域の削除に相当します。

このメソッドは、キーマップアクションに割り当てられるコンテンツを挿入するアクションのデフォルト実装によって使用されます。

このメソッドは、Swing のほとんどのメソッドとは異なり、スレッドに対して安全です。詳細は、「Threads and Swing」を参照してください。

コンポーネントが現在編集できない状態であれば、ビープ音を鳴らして復帰します。実際の内容であるモデルが null である場合は、何も行いません。

パラメータ:
content - 選択領域を置き換えるコンテンツ

getText

public String getText(int offs,
                      int len)
               throws BadLocationException
コンポーネントが表すテキストの一部を取得します。長さが 0 の場合は、空の文字列を返します。
パラメータ:
offs - オフセット >= 0
len - 長さ >= 0
戻り値:
テキスト
例外:
BadLocationException - オフセットまたは長さが無効な場合

modelToView

public Rectangle modelToView(int pos)
                      throws BadLocationException
モデル内の指定された位置をビュー座標系の場所に変換します。
パラメータ:
pos - 位置 >= 0
戻り値:
矩形の座標。座標系での位置を (r.x, r.y) で表現
例外:
BadLocationException - 指定された位置が、関連付けられているドキュメント内の有効な位置を表さない場合
関連項目:
TextUI.modelToView(javax.swing.text.JTextComponent, int)

viewToModel

public int viewToModel(Point pt)
ビュー座標系の指定された位置をモデル内のもっとも近い表現位置に変換します。
パラメータ:
pt - 変換するビュー内の位置
戻り値:
ドキュメントの先頭からのオフセット >= 0
関連項目:
TextUI.viewToModel(javax.swing.text.JTextComponent, java.awt.Point)

cut

public void cut()
関連付けられているテキストモデル内の現在選択されている領域をシステムクリップボードに転送して、モデルからコンテンツを削除します。現在の選択領域は取り消されます。選択領域が無効な場合には何も行いません。

copy

public void copy()
関連付けられているテキストモデル内の現在選択されている領域をシステムクリップボードに転送して、テキストモデル内のコンテンツはそのまま残します。現在の選択領域は元のまま残ります。選択領域が無効な場合には何も行いません。

paste

public void paste()
システムクリップボードのコンテンツを関連付けられているテキストモデルに転送します。関連付けられているビュー内に選択領域があるときは、クリップボードのコンテンツで置き換えられます。選択領域がないときは、クリップボードのコンテンツは関連付けられているビュー内の現在の挿入位置の前に挿入されます。クリップボードが空の場合には何も行いません。
関連項目:
replaceSelection(java.lang.String)

moveCaretPosition

public void moveCaretPosition(int pos)
キャレットを新しい位置に移動して、そのあとに、setCaretPosition が前回に呼び出されたときに定義されたマークを残します。このメソッドは、選択領域を形成します。
パラメータ:
pos - 位置
関連項目:
setCaretPosition(int)

setFocusAccelerator

public void setFocusAccelerator(char aKey)
受信側テキストコンポーネントにフォーカスを取得させるキーアクセラレータを設定します。アクセラレータは、alt キーと指定された文字キーの組み合わせになります (大文字に変換される)。デフォルトでは、フォーカスアクセラレータキーはありません。それまでのキーアクセラレータ設定はすべて破棄されます。「¥0」キー設定が登録され、フォーカスアクセラレータをオフに設定する効果を持ちます。新しいキーを設定すると、PropertyChange イベント (FOCUS_ACCELERATOR_KEY) が発生します。
パラメータ:
aKey - キー
関連項目:
getFocusAccelerator()

getFocusAccelerator

public char getFocusAccelerator()
受信側テキストコンポーネントにフォーカスを取得させるキーアクセラレータを返します。設定済みのフォーカスアクセラレータがない場合は、「¥0」を返します。
戻り値:
キー

read

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

write

public void write(Writer out)
           throws IOException
モデルのコンテンツを、指定されたストリームに格納します。デフォルトで、モデルをプレーンテキストで格納します。
パラメータ:
out - 出力ストリーム
例外:
IOException - 入出力エラーが発生した場合

removeNotify

public void removeNotify()
このコンポーネントに、コンテナから削除されたことを通知します。このメソッドは、このコンポーネントへの、最後にフォーカスがあったコンポーネントとしての参照が存在する場合 (TextAction をサポートする場合) に、その参照を削除するために使われます。
オーバーライド:
クラス JComponent 内の removeNotify

setEnabled

public void setEnabled(boolean b)
パラメータ b の値に基づいて、このコンポーネントを有効または無効にします。有効なコンポーネントは、ユーザ入力に応答してイベントを生成できます。コンポーネントはデフォルトで、初期的に有効化されています。新しい状態の設定後に repaint() が実行されます。
パラメータ:
b - このコンポーネントを有効にする場合は true 、このコンポーネントを無効にする場合は true 以外
オーバーライド:
クラス JComponent 内の setEnabled
導入されたバージョン:
JDK1.1
関連項目:
Component.isEnabled()

isFocusTraversable

public boolean isFocusTraversable()
フォーカスの行き来ができる場合は true を返します。使用不可のボタンのようなコンポーネントでは false になります。
戻り値:
フォーカスの行き来が可能な場合は true
オーバーライド:
クラス JComponent 内の isFocusTraversable

processComponentKeyEvent

protected void processComponentKeyEvent(KeyEvent e)
コンポーネント自身が認識するキーイベントをすべて処理します。フォーカスマネージャとすべての配信対象リスナーにイベントを横取りする機会が与えられてから呼び出されます。このメソッドは、イベントがまだ消費されていないときにのみ呼び出されます。このメソッドは、キーボード UI ロジックの前に呼び出されます。

これを実装するとデフォルトのアクションを取得でき、一般的に文字をコンテンツとしてドキュメントに挿入します。サブクラスは、いくつかのキーイベントをそれ自身で処理する場合は、一般的にこのメソッドをオーバーライドします。イベントが処理される場合に、これが消費されます。

パラメータ:
e - イベント
オーバーライド:
クラス JComponent 内の processComponentKeyEvent

setCaretPosition

public void setCaretPosition(int position)
TextComponent のテキスト挿入キャレットの位置を設定します。キャレットは変更を追跡するので、コンポーネントの配下のテキストが変更されるとこれも移動することに注意してください。ドキュメントが無効な場合には何も行いません。
パラメータ:
position - 位置

getCaretPosition

public int getCaretPosition()
テキストコンポーネントのテキスト挿入キャレットの位置を返します。
戻り値:
テキストコンポーネントのテキスト挿入キャレットの位置 >= 0

setText

public void setText(String t)
この TextComponent に、指定されたテキストを設定します。テキストが無効か空の場合、古いテキストを単純に削除する効果を持ちます。

このメソッドは、Swing のほとんどのメソッドとは異なり、スレッドに対して安全です。詳細は、「Threads and Swing」を参照してください。

パラメータ:
t - 設定する新しいテキスト
関連項目:
getText(int, int)

getText

public String getText()
この TextComponent に格納されたテキストを返します。配下のドキュメントが無効な場合は、NullPointerException を提供します。
戻り値:
テキスト
関連項目:
setText(java.lang.String)

getSelectedText

public String getSelectedText()
この TextComponent に格納された選択されているテキストを返します。選択領域が無効であるか、ドキュメントが空の場合は、null を返します。
戻り値:
テキスト
例外:
IllegalArgumentException - 選択領域がなんらかの理由でドキュメントへの有効なマッピングを持たない場合
関連項目:
setText(java.lang.String)

isEditable

public boolean isEditable()
この TextComponent が編集可能かどうかを示すブール型を返します。
戻り値:
ブール型の値
関連項目:
setEditable(boolean)

setEditable

public void setEditable(boolean b)
この TextComponent が編集可能かどうかを設定します。状態が変更されると、PropertyChange イベント (editable) が発生します。
パラメータ:
b - 設定するブール型
関連項目:
isEditable()

getSelectionStart

public int getSelectionStart()
選択したテキストの開始位置を返します。ドキュメントが空の場合は 0、選択領域がない場合はドットの値を返します。
戻り値:
開始位置 >= 0

setSelectionStart

public void setSelectionStart(int selectionStart)
選択開始を、指定された位置に設定します。新しい先頭は、現在の選択領域の末尾かその前に限定されます。

これは、このメソッドを java.awt.TextComponent で呼び出したコードに対する下位互換に役立ちます。これを実装すると、実際の選択領域が管理されている場所である Caret の実装に転送できます。

パラメータ:
selectionStart - テキストの開始位置 >= 0

getSelectionEnd

public int getSelectionEnd()
選択したテキストの末尾位置を返します。ドキュメントが空の場合は 0、選択領域がない場合はドットの値を返します。
戻り値:
末尾位置 >= 0

setSelectionEnd

public void setSelectionEnd(int selectionEnd)
選択領域の末尾を、指定された位置に設定します。新しい末尾は、現在の選択領域の先頭またはその後に限定されます。

これは、このメソッドを java.awt.TextComponent で呼び出したコードに対する下位互換に役立ちます。これを実装すると、実際の選択領域が管理されている場所である Caret の実装に転送できます。

パラメータ:
selectionEnd - テキストの末尾 >= 0

select

public void select(int selectionStart,
                   int selectionEnd)
指定された先頭と末尾の間のテキストを選択します。この呼び出しは、下位互換のために提供されています。これは、setCaretPosition への呼び出しに回され、それに moveCaretPostion が続きます。選択領域を管理する望ましい方法は、これらのメソッドを直接呼び出すことです。
パラメータ:
selectionStart - テキストの先頭 >= 0
selectionEnd - テキストの末尾 >= 0
関連項目:
setCaretPosition(int), moveCaretPosition(int)

selectAll

public void selectAll()
TextComponent 内のすべてのテキストを選択します。無効または空のドキュメントでは何も行いません。

getPreferredScrollableViewportSize

public Dimension getPreferredScrollableViewportSize()
ビューコンポーネントのビューポートの望ましいサイズを返します。これを実装すると、コンポーネントの望ましいサイズを返すデフォルト動作を実行できます。
定義:
インタフェース Scrollable 内の getPreferredScrollableViewportSize
戻り値:
ビューがこの Scrollable であるビューポートの望ましいサイズ

getScrollableUnitIncrement

public int getScrollableUnitIncrement(Rectangle visibleRect,
                                      int orientation,
                                      int direction)
論理行または列を表示するコンポーネントは、方向の値に基づいて、新しい行または列を完全に表示するスクロールインクリメントを計算します。理想的には、コンポーネントは項目を完全に表示するのに必要な間隔を返すことによって、行または列の部分表示を処理するべきです。

このデフォルト実装は、単純に可視領域の 10% を返します。サブクラスは、よりいっそう適正な値を提供できます。

定義:
インタフェース Scrollable 内の getScrollableUnitIncrement
パラメータ:
visibleRect - ビューポート内で可視のビュー領域
orientation - SwingConstants.VERTICAL または SwingConstants.HORIZONTAL
direction - 上または左のスクロールではゼロより小さく、下または右のスクロールではゼロより大きい
戻り値:
指定された方向におけるスクロールのインクリメント「単位」
例外:
IllegalArgumentException - 方向が無効な場合
関連項目:
JScrollBar.setUnitIncrement(int)

getScrollableBlockIncrement

public int getScrollableBlockIncrement(Rectangle visibleRect,
                                       int orientation,
                                       int direction)
論理行または列を表示するコンポーネントは、方向の値に基づいて、1 ブロック分の行または列を完全に表示するスクロールインクリメントを計算します。

このデフォルト実装は、単純に可視領域を返します。サブクラスは、よりいっそう適正な値を提供できます。

定義:
インタフェース Scrollable 内の getScrollableBlockIncrement
パラメータ:
visibleRect - ビューポート内で可視のビュー領域
orientation - SwingConstants.VERTICAL または SwingConstants.HORIZONTAL
direction - 上または左のスクロールではゼロより小さく、下または右のスクロールではゼロより大きい
戻り値:
指定された方向におけるスクロールのインクリメント「ブロック」
例外:
IllegalArgumentException - 方向が無効な場合
関連項目:
JScrollBar.setBlockIncrement(int)

getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()
ビューポートが、常にこの Scrollable の幅を強制的にビューポートの幅に一致させようとする場合は、true を返します。たとえば、折り返し行がビューポートの右端を越えて消えてしまうようでは不都合なので、行折り返しをサポートした通常のテキストビューはここで true を返します。上位クラスに JScrollPane を持つ Scrollable に true を返すと、水平スクロールが事実上無効になることに注意してください。

JViewport のようなコンテナをスクロールすると、そのコンテナが検査されるたびにこのメソッドを使います。

定義:
インタフェース Scrollable 内の getScrollableTracksViewportWidth
戻り値:
ビューポートが Scrollables の幅を強制的にそれ自身に一致させる場合は true

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()
ビューポートが、常にこの Scrollable の高さを強制的にビューポートの高さに一致させようとする場合は、true を返します。たとえば、左の段から右の段にテキストが流れる段組テキストビューでは、ここで true を返すことによって垂直スクロールを事実上無効にできます。

JViewport のようなコンテナをスクロールすると、そのコンテナが検査されるたびにこのメソッドを使います。

定義:
インタフェース Scrollable 内の getScrollableTracksViewportHeight
戻り値:
ビューポートが Scrollables の高さを強制的にそれ自身に一致させる場合は true

getAccessibleContext

public AccessibleContext getAccessibleContext()
この JComponent に関連付けられている AccessibleContext を取得します。新しいコンテキストが必要に応じて作成されます。
定義:
インタフェース Accessible 内の getAccessibleContext
戻り値:
この JComponent の AccessibleContext
オーバーライド:
クラス JComponent 内の getAccessibleContext

paramString

protected String paramString()
この JTextComponent の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null にはなりません。

JFC コンポーネントの新しい側面についての情報を返すには、paramString() をオーバーライドします。

戻り値:
この JTextComponent の文字列表現
オーバーライド:
クラス JComponent 内の paramString

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.