JavaTM 2 Platform
Standard Ed. 5.0

javax.swing
クラス JEditorPane

java.lang.Object
  上位を拡張 java.awt.Component
      上位を拡張 java.awt.Container
          上位を拡張 javax.swing.JComponent
              上位を拡張 javax.swing.text.JTextComponent
                  上位を拡張 javax.swing.JEditorPane
すべての実装されたインタフェース:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable
直系の既知のサブクラス:
JTextPane

public class JEditorPane
extends JTextComponent

さまざまな種類のコンテンツを編集するためのテキストコンポーネントです。使用方法およびエディタ区画の例については、「The Java Tutorial」の「Using Text Components」を参照してください。

このコンポーネントは EditorKit の実装を使用して動作します。指定されたコンテンツの種類に対応して適切な種類のテキストエディタとして動作します。ある時点でエディタに設定されるコンテンツ型は、現在インストールされている EditorKit によって決まります。コンテンツが新しい URL に設定された場合、その型を使って、そのコンテンツをロードするのにどの EditorKit を使用する必要があるかが判定されます。

このコンポーネントには、次のような方法でコンテンツをロードできます。

  1. setText メソッドを使うと、文字列からコンポーネントを初期化できる。この場合、現在の EditorKit が使われ、コンテンツ型はこの EditorKit の型であることが要求される
  2. read メソッドを使うと、Reader からコンポーネントを初期化できる。コンテンツ型が HTML の場合、<base> タグが使われていないか、または HTMLDocumentBase プロパティが設定されていないと、イメージなどの相対参照を解決ができない。この場合、現在の EditorKit が使われ、コンテンツ型はこの EditorKit の型であることが要求される
  3. setPage メソッドを使うと、URL からコンポーネントを初期化できる。この場合、コンテンツ型は URL から判断され、そのコンテンツ型に登録されている EditorKit が設定される

コンテンツによっては、ハイパーリンクイベントを生成することによってハイパーリンクのサポートを提供します。HTML EditorKit は、JEditorPane が「編集可能ではない」場合、つまり JEditorPane.setEditable(false); が呼び出されている場合にハイパーリンクイベントを生成します。ドキュメントに HTML フレームが埋め込まれている場合、通常は現在のドキュメントの一部が変更されます。次のコードフラグメントは、ハイパーリンクリスナーの実装例です。このコードの場合、HTML フレームイベントには特別な処理を行いますが、ほかのすべてのアクティブなハイパーリンクは単に表示されるだけです。


     class Hyperactive implements HyperlinkListener {
 
         public void hyperlinkUpdate(HyperlinkEvent e) {
             if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
                 JEditorPane pane = (JEditorPane) e.getSource();
                 if (e instanceof HTMLFrameHyperlinkEvent) {
                     HTMLFrameHyperlinkEvent  evt = (HTMLFrameHyperlinkEvent)e;
                     HTMLDocument doc = (HTMLDocument)pane.getDocument();
                     doc.processHTMLFrameHyperlinkEvent(evt);
                 } else {
                     try {
                         pane.setPage(e.getURL());
                     } catch (Throwable t) {
                         t.printStackTrace();
                     }
                 }
             }
         }
     }




text/html の描画のカスタマイズについては W3C_LENGTH_UNITS および HONOR_DISPLAY_PROPERTIES を参照してください。

ドキュメント内の文化依存情報は、文字セットと呼ばれる機構によって扱われます。文字セットとは、文字セットの構成要素 (文字、表意文字、数字、記号、制御文字) と特定の数値コードの明示的なマッピングであり、ファイルへの保存方法を表します。文字セットには、ISO-8859-1、ISO-8859-5、Shift-jis、Euc-jp、UTF-8 などがあります。ファイルは、ユーザエージェント (JEditorPane) に渡されるときに、ドキュメントの文字セット (ISO-10646、別名 Unicode) に変換されます。

JEditorPane で使われる文字セットを指定する方法は複数あります。

  1. 1 つの方法は、文字セットを MIME 形式のパラメータとして指定すること。この方法では、setContentType メソッドを呼び出す必要がある。コンテンツが setPage メソッドによってロードされる場合、コンテンツ型は URL の指定に従って設定される。ファイルが直接ロードされる場合、コンテンツ型はロードの前に設定される必要がある。
  2. 文字セットを指定するためのもう 1 つの方法は、ドキュメント自体にあり、この場合目的の文字セットを指定する前にドキュメントを読み込む必要がある。これを処理するためには、EditorKit 読み込みオペレーションによってスローされる ChangedCharSetException をキャッチする必要がある。読み込み自体は ChangedCharSetException (IOException) で指定された文字セットを使う新しいリーダで再び開始される

改行
改行の処理方法については、DefaultEditorKit を参照してください。

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK バージョン 1.4 以降は、java.beans パッケージですべての JavaBeans の長期記憶がサポートされます。XMLEncoder を参照してください。


入れ子のクラスの概要
protected  class JEditorPane.AccessibleJEditorPane
          このクラスは JEditorPane クラス用のユーザ補助機能のサポートを実装しています。
protected  class JEditorPane.AccessibleJEditorPaneHTML
          このクラスは AccessibleHypertext のサポートを提供し、JEditorPane にインストールされた EditorKitHTMLEditorKit のインスタンスである場合に、そのインスタンスで使用されます。
protected  class JEditorPane.JEditorPaneAccessibleHypertextSupport
          AccessibleJEditorPaneHTML.getAccessibleText によって返されるものを取得します。
 
クラス javax.swing.text.JTextComponent から継承された入れ子のクラス/インタフェース
JTextComponent.AccessibleJTextComponent, JTextComponent.KeyBinding
 
クラス javax.swing.JComponent から継承された入れ子のクラス/インタフェース
JComponent.AccessibleJComponent
 
クラス java.awt.Container から継承された入れ子のクラス/インタフェース
Container.AccessibleAWTContainer
 
クラス java.awt.Component から継承された入れ子のクラス/インタフェース
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
フィールドの概要
static String HONOR_DISPLAY_PROPERTIES
          フォントや前景色が書式付きテキストで指定されない場合に、コンポーネントのデフォルトフォントおよび前景色を使用するかを示すクライアントプロパティのためのキーです。
static String W3C_LENGTH_UNITS
          HTML の描画に w3c 準拠の長さの単位が使用されているかを示すクライアントプロパティのためのキーです。
 
クラス 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
 
インタフェース java.awt.image.ImageObserver から継承されたフィールド
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
コンストラクタの概要
JEditorPane()
          新しい JEditorPane を生成します。
JEditorPane(String url)
          URL 指定を示す文字列を基にして、JEditorPane を生成します。
JEditorPane(String type, String text)
          指定されたテキストに初期化されている JEditorPane を生成します。
JEditorPane(URL initialPage)
          入力のために指定された URL を基にして、JEditorPane を生成します。
 
メソッドの概要
 void addHyperlinkListener(HyperlinkListener listener)
          変更の通知のためにハイパーリンクリスナーを追加します。
protected  EditorKit createDefaultEditorKit()
          コンポーネントが初めて生成されるときに、デフォルトのエディタキット (PlainEditorKit) を生成します。
static EditorKit createEditorKitForContentType(String type)
          エディタキットのデフォルトのレジストリから、指定されたコンテンツ型のハンドラを生成します。
 void fireHyperlinkUpdate(HyperlinkEvent e)
          この型のイベントの通知を、登録してあるすべてのリスナーに通知します。
 AccessibleContext getAccessibleContext()
          この JEditorPane に関連した AccessibleContext を取得します。
 String getContentType()
          このエディタが処理するように現在設定されているコンテンツ型を取得します。
 EditorKit getEditorKit()
          コンテンツの処理のために現在インストールされているキットを返します。
static String getEditorKitClassNameForContentType(String type)
          型 type に現在登録されている EditorKit クラス名を返します。
 EditorKit getEditorKitForContentType(String type)
          指定されたコンテンツ型で使用するエディタキットを取り出します。
 HyperlinkListener[] getHyperlinkListeners()
          addHyperlinkListener() を使用して、この JEditorPane に追加されたすべての HyperLinkListener の配列を返します。
 URL getPage()
          表示されている現在の URL を返します。
 Dimension getPreferredSize()
          JEditorPane の適切なサイズを返します。
 boolean getScrollableTracksViewportHeight()
          ビューポートが常にこの Scrollable の高さを強制的にビューポートの高さと一致させる場合に true を返します。
 boolean getScrollableTracksViewportWidth()
          ビューポートが常にこの Scrollable の幅を強制的にビューポートの幅に一致させる場合に true を返します。
protected  InputStream getStream(URL page)
          setPage メソッドによりロードされようとしている、指定された URL のストリームを返します。
 String getText()
          この TextComponent に格納されているテキストをこのエディタのコンテンツ型で返します。
 String getUIClassID()
          UI のクラス ID を返します。
protected  String paramString()
          この JEditorPane の文字列表現を返します。
 void read(InputStream in, Object desc)
          このメソッドは、ストリームから初期化を行います。
static void registerEditorKitForContentType(String type, String classname)
          typeclassname のデフォルトのバインディングを作成します。
static void registerEditorKitForContentType(String type, String classname, ClassLoader loader)
          typeclassname のデフォルトのバインディングを作成します。
 void removeHyperlinkListener(HyperlinkListener listener)
          ハイパーリンクリスナーを削除します。
 void replaceSelection(String content)
          現在選択されているコンテンツを、指定された文字列で表される新しいコンテンツと置き換えます。
 void scrollToReference(String reference)
          指定された参照位置 (表示されている URL に対する URL.getRef メソッドによって返される値) までビューをスクロールします。
 void setContentType(String type)
          このエディタが処理するコンテンツ型を設定します。
 void setEditorKit(EditorKit kit)
          コンテンツの処理のために現在インストールされているキットを設定します。
 void setEditorKitForContentType(String type, EditorKit k)
          指定されたコンテンツ型で使用できるようにエディタキットを直接設定します。
 void setPage(String url)
          表示されている現在の URL を設定します。
 void setPage(URL page)
          表示されている現在の URL を設定します。
 void setText(String t)
          この TextComponent のテキストを、指定されたコンテンツに設定します。
 
クラス javax.swing.text.JTextComponent から継承されたメソッド
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDocument, setDragEnabled, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, write
 
クラス javax.swing.JComponent から継承されたメソッド
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
クラス java.awt.Container から継承されたメソッド
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
クラス java.awt.Component から継承されたメソッド
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

W3C_LENGTH_UNITS

public static final String W3C_LENGTH_UNITS
HTML の描画に w3c 準拠の長さの単位が使用されているかを示すクライアントプロパティのためのキーです。

デフォルトでは無効です。有効にするにはこの名前のクライアント propertyBoolean.TRUE に設定します。

導入されたバージョン:
1.5
関連項目:
定数フィールド値

HONOR_DISPLAY_PROPERTIES

public static final String HONOR_DISPLAY_PROPERTIES
フォントや前景色が書式付きテキストで指定されない場合に、コンポーネントのデフォルトフォントおよび前景色を使用するかを示すクライアントプロパティのためのキーです。

デフォルトは Look & Feel によって異なります。 有効にするにはこの名前のクライアント propertyBoolean.TRUE に設定します。

導入されたバージョン:
1.5
関連項目:
定数フィールド値
コンストラクタの詳細

JEditorPane

public JEditorPane()
新しい JEditorPane を生成します。ドキュメントモデルは null に設定されます。


JEditorPane

public JEditorPane(URL initialPage)
            throws IOException
入力のために指定された URL を基にして、JEditorPane を生成します。

パラメータ:
initialPage - URL
例外:
IOException - URL が null であるか、アクセスできない場合

JEditorPane

public JEditorPane(String url)
            throws IOException
URL 指定を示す文字列を基にして、JEditorPane を生成します。

パラメータ:
url - URL
例外:
IOException - URL が null であるか、アクセスできない場合

JEditorPane

public JEditorPane(String type,
                   String text)
指定されたテキストに初期化されている JEditorPane を生成します。これは、setContentType メソッドおよび setText メソッドを呼び出す簡易コンストラクタです。

パラメータ:
type - 指定されたテキストの MIME 形式
text - 初期化に使用するテキスト。null の場合もある
例外:
NullPointerException - type パラメータが null の場合
メソッドの詳細

addHyperlinkListener

public void addHyperlinkListener(HyperlinkListener listener)
変更の通知のためにハイパーリンクリスナーを追加します。たとえば、リンクを選択した時、リンクに入った時などがあります。

パラメータ:
listener - リスナー

removeHyperlinkListener

public void removeHyperlinkListener(HyperlinkListener listener)
ハイパーリンクリスナーを削除します。

パラメータ:
listener - リスナー

getHyperlinkListeners

public HyperlinkListener[] getHyperlinkListeners()
addHyperlinkListener() を使用して、この JEditorPane に追加されたすべての HyperLinkListener の配列を返します。

戻り値:
追加されたすべての HyperLinkListener。リスナーが追加されていない場合は空の配列
導入されたバージョン:
1.4

fireHyperlinkUpdate

public void fireHyperlinkUpdate(HyperlinkEvent e)
この型のイベントの通知を、登録してあるすべてのリスナーに通知します。通常は、ハイパーリンクをサポートしているコンテンツ型が現在アクティブであり、リンクが使用された場合に、現在インストールされている EditorKit によって呼び出されます。リスナーのリストは末尾から先頭への順序で処理されます。

パラメータ:
e - イベント
関連項目:
EventListenerList

setPage

public void setPage(URL page)
             throws IOException
表示されている現在の URL を設定します。区画のコンテンツ型が設定され、区画のエディタキットが null 以外の場合、新しいデフォルトドキュメントが生成され、URL がそのドキュメントに読み込まれます。URL に参照位置が含まれている場合は、scrollToReference メソッドを呼び出すと、その参照位置までスクロールされます。目的の URL が現在表示されている場合は、ドキュメントは再ロードされません。ドキュメントの再ロードを強制的に実行するには、ドキュメントのストリーム記述プロパティをクリアする必要があります。次のコードは、この方法を示しています。

Document doc = jEditorPane.getDocument();
doc.putProperty(Document.StreamDescriptionProperty, null);
目的の URL が現在表示されていない場合、getStream メソッドが呼び出され、指定されたストリームに対する制御がサブクラスに渡されます。

このメソッドは、EditorKit によって返されるドキュメントに基づいて同期的または非同期的にロードを行います。ドキュメントAbstractDocument 型で、AbstractDocument.getAsynchronousLoadPriority によって返されたゼロ以上の値を持つ場合、そのページはその優先順位により別々のスレッドでロードされます。

ドキュメントが同期的にロードされる場合、ドキュメントをプロパティ変更イベントに関連付け、トリガする setDocument が呼び出され、エディタにインストールされる前にこのドキュメントにストリームが設定されます。IOException がスローされる場合、部分的にロードされたドキュメントは破棄され、ドキュメントプロパティ変更イベントもページプロパティ変更イベントもトリガされません。ドキュメントが正常にロードおよびインストールされた場合、UI によってそのドキュメントのビューが生成され、必要な場合はさらにスクロールされて、ページプロパティ変更イベントがトリガされます。

ドキュメントが非同期的にロードされる場合、ドキュメントプロパティ変更イベントをトリガする setDocument を呼び出してドキュメントがただちにエディタにインストールされ、次に実際のロードを開始するスレッドが生成されます。この場合、ページプロパティ変更イベントはこのメソッドの呼び出しによって直接トリガされることはなく、ロードを実行するスレッドが終了したときにトリガされます。呼び出し側のスレッドは、もう一方のスレッドでエラーが発生した場合に IOException をスローできないので、ロードが成功したかどうかに関係なく、ページプロパティ変更イベントはもう一方のスレッドが終了したときにトリガされます。

パラメータ:
page - ページの URL
例外:
IOException - null または無効なページが指定された場合、あるいは読み込み中のストリームから例外が発生した場合
関連項目:
getPage()

read

public void read(InputStream in,
                 Object desc)
          throws IOException
このメソッドは、ストリームから初期化を行います。キットが HTMLEditorKit 型に設定されている場合、desc パラメータが HTMLDocument のときは、このメソッドは HTMLEditorKit を呼び出すことにより読み込みを開始します。そうでない場合は、プレーンテキストとしてモデルをロードするスーパークラスメソッドを呼び出します。

パラメータ:
in - 読み込み元のストリーム
desc - ストリームを記述するオブジェクト
例外:
IOException - 初期化に使われるストリームによってスローされる
関連項目:
JTextComponent.read(java.io.Reader, java.lang.Object), JTextComponent.setDocument(javax.swing.text.Document)

getStream

protected InputStream getStream(URL page)
                         throws IOException
setPage メソッドによりロードされようとしている、指定された URL のストリームを返します。デフォルトでは、このメソッドは単に URL をオープンし、ストリームを返します。このメソッドを実装し直すと、キャッシュからのストリームの取り出し、ストリームの進捗状況の監視などの便利な機能を実行できます。

このメソッドは、コンテンツ型を確立し、その結果としてストリームのロードに使う適切な EditorKit を設定すると考えられます。

このストリームが http 接続の場合、続いてリダイレクトが行われ、その結果得られる URL が、相対 URL を適切に解決できるように Document.StreamDescriptionProperty として設定されます。

パラメータ:
page - ページの URL
例外:
IOException

scrollToReference

public void scrollToReference(String reference)
指定された参照位置 (表示されている URL に対する URL.getRef メソッドによって返される値) までビューをスクロールします。デフォルトでは、このメソッドは HTMLDocument 内での参照位置を認識しているだけです。実際のスクロール処理を実行するには、実装により scrollRectToVisible メソッドを呼び出します。HTML 以外のドキュメント形式で参照位置へのスクロールが必要な場合は、このメソッドを再実装する必要があります。このメソッドは、コンポーネントが可視状態でない場合は無効です。

パラメータ:
reference - スクロール先となる指定された位置

getPage

public URL getPage()
表示されている現在の URL を返します。このドキュメントの作成で URL が指定されなかった場合は、null を返し、相対 URL は解決されません。

戻り値:
URL。指定されていない場合は、null

setPage

public void setPage(String url)
             throws IOException
表示されている現在の URL を設定します。

パラメータ:
url - 表示されている URL
例外:
IOException - null または無効な URL 指定の場合

getUIClassID

public String getUIClassID()
UI のクラス ID を返します。

オーバーライド:
クラス JComponent 内の getUIClassID
戻り値:
EditorPaneUI の文字列
関連項目:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

createDefaultEditorKit

protected EditorKit createDefaultEditorKit()
コンポーネントが初めて生成されるときに、デフォルトのエディタキット (PlainEditorKit) を生成します。

戻り値:
エディタキット

getEditorKit

public EditorKit getEditorKit()
コンテンツの処理のために現在インストールされているキットを返します。必要な場合は、デフォルトのエディタキットのセットアップのために createDefaultEditorKit が呼び出されます。

戻り値:
エディタキット

getContentType

public final String getContentType()
このエディタが処理するように現在設定されているコンテンツ型を取得します。これは、現在インストールされている EditorKit に関連した型になるように定義されています。

戻り値:
コンテンツ型。エディタキットが設定されていない場合は null

setContentType

public final void setContentType(String type)
このエディタが処理するコンテンツ型を設定します。このメソッドは getEditorKitForContentType を呼び出し、エディタキットが正しく検出できたら setEditorKit を呼び出します。このメソッドは、setEditorKit の直接呼び出しの代わりに使用できる、簡易メソッドとほぼ同じです。

コンテンツ型指定のパラメータとして文字セットの定義が指定されている場合、関連付けられた EditorKit を使って入力ストリームをロードするときは、その文字セットが使われます。たとえば、型が text/html; charset=EUC-JP として指定されている場合、コンテンツは、text/html に登録されている EditorKit を使ってロードされ、ドキュメントに Unicode をロードするために EditorKit に提供されるリーダは、Unicode への変換のために EUC-JP 文字セットを使います。型が識別できない場合は、コンテンツはプレーンテキスト text/plain に登録された EditorKit を使ってロードされます。

パラメータ:
type - コンテンツを編集するための MIME タイプ。null 以外を指定
例外:
NullPointerException - type パラメータが null の場合
関連項目:
getContentType()

setEditorKit

public void setEditorKit(EditorKit kit)
コンテンツの処理のために現在インストールされているキットを設定します。これは、エディタのコンテンツ型を設定するバウンドプロパティです。最初に以前のキットを削除しており、キットが null ではない場合、新しいキットがインストールされ、デフォルトドキュメントが生成されます。setEditorKit が呼び出されると、常に PropertyChange イベント (editorKit) がトリガされます。

注: EditorKit は特定の型のコンテンツをモデル化するソースであるため、モデルを変更するという副作用があります。このメソッドを使用すると、内部状態の整合性を保証するために、呼び出し側に代わり setDocument が呼び出されます。

パラメータ:
kit - 望ましいエディタ動作
関連項目:
getEditorKit()

getEditorKitForContentType

public EditorKit getEditorKitForContentType(String type)
指定されたコンテンツ型で使用するエディタキットを取り出します。このメソッドは、現在インストールされているコンテンツ型に一致しない型が要求されたときに呼び出されます。コンポーネントに、指定された型に対して登録されている EditorKit がない場合は、デフォルトの EditorKit レジストリから EditorKit の生成を試みます。生成できなかった場合は、すべてのテキストドキュメントをプレーンテキストとして表示できるものと仮定し、PlainEditorKit が使用されます。

このメソッドは、他種のコンテンツ型レジストリを使用するために再実装できます。このメソッドを再実装すれば、たとえば Java Activation Framework を使用できるようになります。

パラメータ:
type - null ではないコンテンツ型
戻り値:
エディタキット

setEditorKitForContentType

public void setEditorKitForContentType(String type,
                                       EditorKit k)
指定されたコンテンツ型で使用できるようにエディタキットを直接設定します。Look & Feel (L&F) の実装によっては、このメソッドを createEditorKitForContentType とともに使用して、Look & Feel (L&F) を考慮したコンテンツ型のハンドラをインストールすることがあります。

パラメータ:
type - null ではないコンテンツ型
k - 設定するエディタキット

replaceSelection

public void replaceSelection(String content)
現在選択されているコンテンツを、指定された文字列で表される新しいコンテンツと置き換えます。選択領域がない場合、指定されたテキストの挿入を行います。置き換えるテキストがない場合、つまり、コンテンツ文字列が空、または null の場合は、現在の選択領域の削除を行います。置換後のテキストには、入力用に現在定義されている属性が設定されます。コンポーネントが編集できない状態であれば、ビープ音を鳴らして終了します。

このメソッドはスレッドセーフですが、ほとんどの Swing メソッドは違います。詳細は、「Threads and Swing」を参照してください。

オーバーライド:
クラス JTextComponent 内の replaceSelection
パラメータ:
content - 選択領域と置き換えるコンテンツ。null も可

createEditorKitForContentType

public static EditorKit createEditorKitForContentType(String type)
エディタキットのデフォルトのレジストリから、指定されたコンテンツ型のハンドラを生成します。レジストリは必要に応じて生成されます。登録されているクラスがまだロードされていない場合は、指定された型用のエディタキットのプロトタイプを動的にロードしようとします。型が ClassLoader とともに登録されていた場合は、その ClassLoader を使ってプロトタイプがロードされます。登録されている ClassLoader がなかった場合は、Class.forName を使ってプロトタイプがロードされます。

プロトタイプ EditorKit のインスタンスが正しく検出されると、そのインスタンスが複製され、その複製が返されます。

パラメータ:
type - コンテンツ型
戻り値:
エディタキット。指定された型に何も登録されていない場合は null

registerEditorKitForContentType

public static void registerEditorKitForContentType(String type,
                                                   String classname)
typeclassname のデフォルトのバインディングを作成します。クラスは、あとで実際に必要になったときに動的にロードされ、実際の使用の前に安全に変更できるので、不必要なクラスのロードを避けることができます。プロトタイプ EditorKit は、このメソッドで登録されたときに、Class.forName でロードされます。

パラメータ:
type - null ではないコンテンツ型
classname - あとでロードするクラス

registerEditorKitForContentType

public static void registerEditorKitForContentType(String type,
                                                   String classname,
                                                   ClassLoader loader)
typeclassname のデフォルトのバインディングを作成します。クラスは、あとで実際に必要になったときに、指定された ClassLoader を使って動的にロードされ、実際の使用の前に安全に変更できるため、不要なクラスのロードを避けることができます。

パラメータ:
type - null ではないコンテンツ型
classname - あとでロードするクラス
loader - 名前をロードするための ClassLoader

getEditorKitClassNameForContentType

public static String getEditorKitClassNameForContentType(String type)
type に現在登録されている EditorKit クラス名を返します。

パラメータ:
type - null ではないコンテンツ型
導入されたバージョン:
1.3

getPreferredSize

public Dimension getPreferredSize()
JEditorPane の適切なサイズを返します。JEditorPane の適切なサイズはスーパークラスの適切なサイズとわずかに異なります。ビューポートのサイズがコンポーネントの最小サイズより小さくなった場合、幅または高さをトラックするための scrollable 定義が false に変わります。デフォルトのビューポートレイアウトは適切なサイズを返しますが、このサイズは scrollable がトラッキングしている場合には適切ではありません。その場合、「通常の」適切なサイズが最小サイズにあわせて調整されます。これにより、HTML テーブルなどは最小サイズに縮小され、そのサイズで配置されます。最小サイズより小さくなることはありません。

オーバーライド:
クラス JComponent 内の getPreferredSize
戻り値:
適切なサイズを保持する Dimension
関連項目:
JComponent.setPreferredSize(java.awt.Dimension), ComponentUI

setText

public void setText(String t)
この TextComponent のテキストを、指定されたコンテンツに設定します。設定されるコンテンツはこのエディタのコンテンツ型となる必要があります。たとえば、型が text/html に設定されている場合、文字列は HTML の形式で指定されます。

現在のドキュメントのコンテンツを削除し、現在の EditorKit を使用して指定された文字列を解析してコンテンツを置き換えるように実装されます。これにより、コンポーネントに現在設定されているコンテンツ型をサポートしながら、モデルを変更しないでスーパークラスのセマンティクスが指定されます。前のコンテンツが比較的小さく、副作用がないことが前提になります。この前提がどちらも守られない場合、予期しない結果を生じることがあります。これを避けるために、新しいドキュメント getEditorKit().createDefaultDocument() を生成して、既存のDocument を新しいものに置き換えます。これで前の Document が中途半端な状態になることはありません。

  1. 既存のモデルを使用可能のままにしておくと、古いビューがティアダウンされて新しいビューが作成される。これに対して、ドキュメントを置き換えると古いビューのティアダウンを避けることができる
  2. HTML などのいくつかの形式は、将来のコンテンツに影響をあたえるドキュメントにコンテンツをインストールできる。HTML 形式の場合は、スタイル情報を埋め込んで、次のコンテンツが予想外の状況でインストールされたときに影響を与えることができる

文字列と一緒にコンポーネントをロードするもう 1 つの方法には、StringReader を生成して読み込みメソッドを呼び出すものがあります。この方法の場合、モデルは初期化が完了すると文字列のコンテンツに置き換えられます。

このメソッドはスレッドセーフですが、ほとんどの Swing メソッドは違います。詳細は、「Threads and Swing」を参照してください。

オーバーライド:
クラス JTextComponent 内の setText
パラメータ:
t - 設定する新しいテキスト。null の場合は、古いテキストが削除される
関連項目:
getText()

getText

public String getText()
この TextComponent に格納されているテキストをこのエディタのコンテンツ型で返します。テキストの取得時に例外がスローされた場合は、null が返されます。このメソッドを実装すると、StringWriterJTextComponent.write を呼び出すことができます。

オーバーライド:
クラス JTextComponent 内の getText
戻り値:
テキスト
関連項目:
setText(java.lang.String)

getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()
ビューポートが常にこの Scrollable の幅を強制的にビューポートの幅に一致させる場合に true を返します。

定義:
インタフェース Scrollable 内の getScrollableTracksViewportWidth
オーバーライド:
クラス JTextComponent 内の getScrollableTracksViewportWidth
戻り値:
ビューポートが Scrollable の幅をそれ自体の幅と強制的に一致させる場合は true、それ以外の場合は false

getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()
ビューポートが常にこの Scrollable の高さを強制的にビューポートの高さと一致させる場合に true を返します。

定義:
インタフェース Scrollable 内の getScrollableTracksViewportHeight
オーバーライド:
クラス JTextComponent 内の getScrollableTracksViewportHeight
戻り値:
ビューポートが Scrollable の高さをそれ自体の高さと強制的に一致させる場合は true、それ以外の場合は false

paramString

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

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

getAccessibleContext

public AccessibleContext getAccessibleContext()
この JEditorPane に関連した AccessibleContext を取得します。エディタ区画の場合、AccessibleContext は AccessibleJEditorPane の形式を取ります。必要に応じて新規の AccessibleJEditorPane インスタンスが生成されます。

定義:
インタフェース Accessible 内の getAccessibleContext
オーバーライド:
クラス JTextComponent 内の getAccessibleContext
戻り値:
この JEditorPane の AccessibleContext として機能する AccessibleJEditorPane

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。