- すべての実装されたインタフェース:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,Scrollable
- 直系の既知のサブクラス:
JTextPane
@JavaBean(defaultProperty="UIClassID", description="A text component to edit various types of content.") public class JEditorPane extends JTextComponent
このコンポーネントは、EditorKit
の実装を使用して動作します。 指定されたコンテンツの種類に対応する適切な種類のテキスト・エディタとして動作します。 ある時点でエディタに設定されるコンテンツ形式は、現在インストールされているEditorKit
によって決まります。 コンテンツが新しいURLに設定された場合、そのコンテンツ形式により、そのコンテンツをロードするのにどのEditorKit
を使用する必要があるかが判定されます。
デフォルトでは、次のコンテンツ形式に対応しています。
- text/plain
- プレーン・テキスト。指定された形式を認識できない場合のデフォルトです。 この場合に使用されるキットは、ラップされたプレーン・テキスト・ビューを生成する
DefaultEditorKit
の拡張です。 - text/html
- HTMLテキスト。 この場合に使用されるキットは、HTML 3.2をサポートする
javax.swing.text.html.HTMLEditorKit
クラスです。 - text/rtf
- RTFテキスト。 この場合に使用されるキットは、リッチ・テキスト形式を制限付きでサポートする
javax.swing.text.rtf.RTFEditorKit
クラスです。
このコンポーネントには、次のような方法でコンテンツをロードできます。
-
setText
メソッドを使うと、文字列からコンポーネントを初期化できます。 この場合、現在のEditorKit
が使われ、コンテンツ・タイプはこの形式であることが要求されます。 -
read
メソッドを使うと、Reader
からコンポーネントを初期化できます。 コンテンツ形式がHTMLの場合、<base>タグが使われていないか、またはHTMLDocument
でBaseプロパティが設定されていないと、イメージなどの相対参照を解決できません。 この場合、現在のEditorKit
が使われ、コンテンツ・タイプはこの形式であることが要求されます。 -
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つは、文字セットをMIME形式のパラメータとして指定する方法です。 この方法では、
setContentType
メソッドを呼び出す必要があります。 コンテンツがsetPage
メソッドによってロードされる場合、コンテンツ形式はURLの指定に従って設定されます。 ファイルが直接ロードされる場合、コンテンツ形式はロードの前に設定される必要があります。 -
文字セットを指定するもう1つの方法は、ドキュメント自体にあります。 この場合、必要な文字セットを特定する前にドキュメントを読み込む必要があります。 これを処理するためには、
EditorKit
読込みオペレーションによってスローされるChangedCharSetException
をキャッチする必要があります。 読込み自体はChangedCharSetException
(IOException
)で指定された文字セットを使用する新しいリーダーでふたたび開始されます。
- Newlines
- 改行の処理方法については、DefaultEditorKitを参照してください。
警告: Swingはスレッドに対して安全ではありません。 詳細は、「Swing's Threading Policy」を参照してください。
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beans
パッケージに追加されました。 XMLEncoder
を参照してください。
- 導入されたバージョン:
- 1.2
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 protected class
JEditorPane.AccessibleJEditorPane
このクラスはJEditorPane
クラスのアクセシビリティ・サポートを実装しています。protected class
JEditorPane.AccessibleJEditorPaneHTML
このクラスはAccessibleHypertext
のサポートを提供し、このJEditorPane
にインストールされているEditorKit
がHTMLEditorKit
のインスタンスであるインスタンスで使用されます。protected class
JEditorPane.JEditorPaneAccessibleHypertextSupport
AccessibleJEditorPaneHTML.getAccessibleText
によって返されるものです。クラス javax.swing.text.JTextComponentで宣言されたネストされたクラス/インタフェース
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, 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
HONOR_DISPLAY_PROPERTIES
フォントまたはフォアグラウンド・カラーが書式付きテキストに指定されていない場合に、コンポーネントのデフォルトのフォントおよびフォアグラウンド・カラーを使用するかどうかを示すために使用する、クライアント・プロパティのキーです。static String
W3C_LENGTH_UNITS
HTMLのレンダリングで、w3c準拠の長さ単位が使用されるかどうかを示すために使用する、クライアント・プロパティのキーです。クラス javax.swing.text.JTextComponentで宣言されたフィールド
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
クラス javax.swing.JComponentで宣言されたフィールド
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
クラス java.awt.Componentで宣言されたフィールド
accessibleContext, 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)
type
とclassname
のデフォルトのバインディングを作成します。static void
registerEditorKitForContentType(String type, String classname, ClassLoader loader)
type
とclassname
のデフォルトのバインディングを作成します。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, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, paste, print, print, print, read, removeCaretListener, removeKeymap, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setDisabledTextColor, setDocument, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, viewToModel2D, write
クラス javax.swing.JComponentで宣言されたメソッド
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, 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, transferFocusDownCycle, validate, validateTree
クラス java.awt.Componentで宣言されたメソッド
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
フィールド詳細
-
W3C_LENGTH_UNITS
public static final String W3C_LENGTH_UNITSHTMLのレンダリングで、w3c準拠の長さ単位が使用されるかどうかを示すために使用する、クライアント・プロパティのキーです。デフォルトでは無効です。有効にするためには、この名前のクライアント
property
をBoolean.TRUE
に設定します。- 導入されたバージョン:
- 1.5
- 関連項目:
- 定数フィールド値
-
HONOR_DISPLAY_PROPERTIES
public static final String HONOR_DISPLAY_PROPERTIESフォントまたはフォアグラウンド・カラーが書式付きテキストに指定されていない場合に、コンポーネントのデフォルトのフォントおよびフォアグラウンド・カラーを使用するかどうかを示すために使用する、クライアント・プロパティのキーです。デフォルト値は、ルック・アンド・フィールによって異なります。有効にするためには、この名前のクライアント
property
をBoolean.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 IOExceptionURL指定を示す文字列を基にして、JEditorPane
を生成します。- パラメータ:
url
- URL- 例外:
IOException
- URLがnull
であるか、アクセスできない場合
-
JEditorPane
指定されたテキストに初期化されている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
@BeanProperty(bound=false) public HyperlinkListener[] getHyperlinkListeners()addHyperlinkListener()を使用してこのJEditorPaneに追加された、すべてのHyperlinkListener
の配列を返します。- 戻り値:
- 追加されたすべての
HyperlinkListener
。リスナーが追加されていない場合は空の配列 - 導入されたバージョン:
- 1.4
-
fireHyperlinkUpdate
public void fireHyperlinkUpdate(HyperlinkEvent e)このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。 通常は、ハイパーリンクをサポートしているコンテンツ形式が現在アクティブであり、リンクが使用された場合に、現在インストールされているEditorKit
によって呼び出されます。 リスナーのリストは、最後から先頭に向かって処理されます。- パラメータ:
e
- イベント- 関連項目:
EventListenerList
-
setPage
@BeanProperty(expert=true, description="the URL used to set content")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
によって返されるドキュメントに基づいて同期的または非同期的にロードを行います。Document
が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 IOExceptionsetPage
メソッドによりロードされようとしている、指定されたURLのストリームを取得します。 デフォルトでは、このメソッドは単にURLをオープンし、ストリームを返します。 このメソッドを実装し直すと、キャッシュからのストリームの取出し、ストリームの進捗状況の監視などの便利な機能を実行できます。このメソッドは、コンテンツ型を確立し、ストリームをロードするために使用する適切な
EditorKit
を設定するという副作用を持つことが予想されます。このストリームがhttp接続の場合、続いてリダイレクトが行われ、結果として得られるURLが、相対URLを適切に解決できるように
Document.StreamDescriptionProperty
として設定されます。- パラメータ:
page
- ページのURL- 戻り値:
- ロードしようとしているURLのストリーム
- 例外:
IOException
- I/Oの問題が発生した場合
-
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
@BeanProperty(bound=false) public String getUIClassID()UIのクラスIDを返します。- オーバーライド:
getUIClassID
、クラス:JComponent
- 戻り値:
- 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
@BeanProperty(bound=false, description="the type of content")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
@BeanProperty(expert=true, description="the currently installed kit for handling content")public void setEditorKit(EditorKit kit)コンテンツを処理するために現在インストールされているキットを設定します。 これは、エディタのコンテンツ形式を確定するバウンド・プロパティです。 最初に以前のキットを削除しており、キットがnull
ではない場合、新しいキットがインストールされ、デフォルト・ドキュメントが生成されます。setEditorKit
が呼び出されると、常にPropertyChange
イベント(editorKit)がトリガーされます。ノート:
EditorKit
は特定の形式のコンテンツをモデル化するソースであるため、モデルを変更するという副作用があります。 このメソッドを使用すると、内部状態の整合性を保証するために、呼出し側に代わりsetDocument
が呼び出されます。- パラメータ:
kit
- 望ましいエディタ動作- 関連項目:
getEditorKit()
-
getEditorKitForContentType
指定されたコンテンツ型で使用するエディタ・キットを取り出します。 このメソッドは、現在インストールされているコンテンツ形式に一致しない形式が要求されたときに呼び出されます。 コンポーネントに、指定された形式に対して登録されているEditorKit
がない場合は、デフォルトのEditorKit
レジストリからEditorKit
の生成を試みます。 生成できなかった場合は、すべてのテキスト・ドキュメントをプレーン・テキストとして表示できるものと仮定し、PlainEditorKit
が使用されます。このメソッドは、他種のコンテンツ形式レジストリを使用するために再実装できます。 このメソッドを再実装すれば、たとえばJava Activation Frameworkを使用できるようになります。
- パラメータ:
type
-null
以外のコンテンツ・タイプ- 戻り値:
- エディタ・キット
-
setEditorKitForContentType
指定されたコンテンツ型で使用できるようにエディタ・キットを直接設定します。 ルック・アンド・フィールの実装によっては、このメソッドをcreateEditorKitForContentType
とともに使用して、ルック・アンド・フィールを考慮したコンテンツ形式のハンドラをインストールすることがあります。- パラメータ:
type
-null
以外のコンテンツ・タイプk
- 設定するエディタ・キット
-
replaceSelection
public void replaceSelection(String content)現在選択されているコンテンツを、渡された文字列が示す新しいコンテンツで置き換えます。 選択領域がない場合は、指定されたテキストの挿入と同等です。 置き換えるテキストがない場合、つまり、コンテンツ文字列が空、またはnull
の場合は、現在の選択領域の削除を行います。 置換後のテキストには、入力用に現在定義されている属性が設定されます。 コンポーネントが編集できない状態であれば、ビープ音を鳴らして終了します。- オーバーライド:
replaceSelection
、クラス:JTextComponent
- パラメータ:
content
- 選択範囲を置き換えるコンテンツ。null
も指定できます
-
createEditorKitForContentType
エディタ・キットのデフォルトのレジストリから、指定されたコンテンツ型のハンドラを生成します。 レジストリは必要に応じて生成されます。 登録されているクラスがまだロードされていない場合は、指定された形式用のエディタ・キットのプロトタイプを動的にロードしようとします。 形式がClassLoader
とともに登録されていた場合は、そのClassLoader
を使ってプロトタイプがロードされます。 登録されているClassLoader
がなかった場合は、Class.forName
を使ってプロトタイプがロードされます。プロトタイプ
EditorKit
のインスタンスが正しく検出されると、そのインスタンスが複製され、その複製が返されます。- パラメータ:
type
- コンテンツ形式- 戻り値:
- エディタ・キット。指定の形式用に登録されているエディタ・キットが存在しない場合は
null
-
registerEditorKitForContentType
type
とclassname
のデフォルトのバインディングを作成します。 クラスは、あとで実際に必要になったときに動的にロードされ、実際の使用の前に安全に変更できるので、不必要なクラスのロードを避けることができます。 プロトタイプEditorKit
は、このメソッドで登録されたときに、Class.forName
でロードされます。- パラメータ:
type
-null
以外のコンテンツ・タイプclassname
- あとでロードするクラス
-
registerEditorKitForContentType
public static void registerEditorKitForContentType(String type, String classname, ClassLoader loader)type
とclassname
のデフォルトのバインディングを作成します。 クラスは、あとで実際に必要になったときに、指定されたClassLoader
を使って動的にロードされ、実際の使用の前に安全に変更できるため、不要なクラスのロードを避けることができます。- パラメータ:
type
-null
以外のコンテンツ・タイプclassname
- あとでロードするクラスloader
- 名前をロードするためのClassLoader
-
getEditorKitClassNameForContentType
型type
に現在登録されているEditorKit
クラス名を返します。- パラメータ:
type
-null
以外のコンテンツ・タイプ- 戻り値:
type
のEditorKit
クラス名を含むString
- 導入されたバージョン:
- 1.3
-
getPreferredSize
public Dimension getPreferredSize()JEditorPane
の推奨サイズを返します。JEditorPane
の推奨サイズは、スーパークラスの推奨サイズとわずかに異なります。 ビューポートのサイズがコンポーネントの最小サイズより小さくなった場合は、幅または高さをトラックするためのscrollable定義がfalseに変わります。 デフォルトのビューポート・レイアウトは推奨サイズを返しますが、このサイズはscrollableがトラッキングしている場合には適切ではありません。 その場合、通常の推奨サイズが最小サイズに調整されます。 これにより、HTML表などは最小サイズに縮小され、そのサイズで配置されます。最小サイズより小さくなることはありません。- オーバーライド:
getPreferredSize
、クラス:JComponent
- 戻り値:
- 適切なサイズを保持する
Dimension
- 関連項目:
JComponent.setPreferredSize(java.awt.Dimension)
,ComponentUI
-
setText
@BeanProperty(bound=false, description="the text of this component")public void setText(String t)このTextComponent
のテキストを、指定されたコンテンツに設定します。設定されるコンテンツはこのエディタのコンテンツ・タイプにする必要があります。 たとえば、形式がtext/html
に設定されている場合、文字列はHTMLの形式で指定されます。現在のドキュメントのコンテンツを削除し、現在の
EditorKit
を使用して指定された文字列を解析してコンテンツを置き換えるように実装されます。 これにより、コンポーネントに現在設定されているコンテンツ形式をサポートしながら、モデルを変更しないでスーパー・クラスのセマンティックスが指定されます。 前のコンテンツが比較的小さく、副作用がないことが前提になります。 この前提がどちらも守られない場合、予期しない結果を生じることがあります。 これを避けるために、新しいドキュメントgetEditorKit().createDefaultDocument()
を生成して、既存のDocument
を新しいものに置き換えます。 これで前のDocument
が中途半端な状態になることはありません。- 既存のモデルを使用可能のままにしておくと、古いビューがティア・ダウンされて新しいビューが作成されます。これに対して、ドキュメントを置き換えると古いビューのティア・ダウンを避けることができます。
- HTMLなどのいくつかの形式は、将来のコンテンツに影響を与えるドキュメントにコンテンツをインストールできます。 HTML形式の場合は、スタイル情報を埋め込んで、次のコンテンツが予想外の状況でインストールされたときに影響を与えることができます。
文字列と一緒にコンポーネントをロードするもう1つの方法には、StringReaderを生成して読込みメソッドを呼び出すものがあります。 この方法の場合、モデルは初期化が完了すると文字列のコンテンツに置き換えられます。
- オーバーライド:
setText
、クラス:JTextComponent
- パラメータ:
t
- 設定する新しいテキスト。null
の場合は、古いテキストが削除される- 関連項目:
getText()
-
getText
public String getText()このTextComponent
に格納されているテキストを、このエディタのコンテンツ・タイプで返します。 テキストの取得時に例外がスローされた場合は、null
が返されます。 このメソッドを実装すると、StringWriter
でJTextComponent.write
を呼び出すことができます。- オーバーライド:
getText
、クラス:JTextComponent
- 戻り値:
- テキスト
- 関連項目:
setText(java.lang.String)
-
getScrollableTracksViewportWidth
@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()ビュー・ポートが常にこのScrollable
の幅を強制的にビュー・ポートの幅に一致させる場合にtrueを返します。- 定義:
getScrollableTracksViewportWidth
、インタフェース:Scrollable
- オーバーライド:
getScrollableTracksViewportWidth
、クラス:JTextComponent
- 戻り値:
- ビュー・ポートがScrollableの幅をそれ自体の幅と強制的に一致させる場合はtrue、それ以外の場合はfalse
-
getScrollableTracksViewportHeight
@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()ビュー・ポートが常にこのScrollable
の高さを強制的にビュー・ポートの高さと一致させる場合にtrueを返します。- 定義:
getScrollableTracksViewportHeight
、インタフェース:Scrollable
- オーバーライド:
getScrollableTracksViewportHeight
、クラス:JTextComponent
- 戻り値:
- ビュー・ポートが
Scrollable
の高さをそれ自体の高さと強制的に一致させる場合はtrue、それ以外の場合はfalse
-
paramString
protected String paramString()このJEditorPane
の文字列表現を返します。 このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。 返される文字列は空の場合がありますが、null
にはなりません。- オーバーライド:
paramString
、クラス:JTextComponent
- 戻り値:
- この
JEditorPane
の文字列表現
-
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()このJEditorPaneに関連付けられたAccessibleContextを取得します。 エディタ・ペインの場合、AccessibleContextはAccessibleJEditorPaneの形式を取ります。 必要に応じて新規のAccessibleJEditorPaneインスタンスが生成されます。- 定義:
getAccessibleContext
、インタフェース:Accessible
- オーバーライド:
getAccessibleContext
、クラス:JTextComponent
- 戻り値:
- このJEditorPaneのAccessibleContextとして機能するAccessibleJEditorPane
-