public class JEditorPane extends JTextComponent
このコンポーネントは、EditorKit の実装を使用して動作します。指定されたコンテンツの種類に対応する適切な種類のテキストエディタとして動作します。ある時点でエディタに設定されるコンテンツ形式は、現在インストールされている EditorKit によって決まります。コンテンツが新しい URL に設定された場合、そのコンテンツ形式により、そのコンテンツをロードするのにどの EditorKit を使用する必要があるかが判定されます。
デフォルトでは、次のコンテンツ形式に対応しています。
DefaultEditorKit の拡張です。
javax.swing.text.html.HTMLEditorKit クラスです。
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 で使われる文字セットを指定する方法は複数あります。
setContentType メソッドを呼び出す必要があります。コンテンツが setPage メソッドによってロードされる場合、コンテンツ形式は URL の指定に従って設定されます。ファイルが直接ロードされる場合、コンテンツ形式はロードの前に設定される必要があります。
EditorKit 読み込みオペレーションによってスローされる ChangedCharSetException をキャッチする必要があります。読み込み自体は ChangedCharSetException (IOException) で指定された文字セットを使用する新しいリーダーでふたたび開始されます。
警告: Swing はスレッドに対して安全ではありません。詳細は、「Swing's Threading Policy」を参照してください。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の格納や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。1.4 以降、すべての JavaBeansTM 用の長期間の格納サポートが java.beans パッケージに追加されています。XMLEncoder を参照してください。
| 修飾子と型 | クラスと説明 |
|---|---|
protected class |
JEditorPane.AccessibleJEditorPane
このクラスは
JEditorPane クラスのアクセシビリティーサポートを実装しています。 |
protected class |
JEditorPane.AccessibleJEditorPaneHTML
このクラスは
AccessibleHypertext のサポートを提供し、この JEditorPane にインストールされている EditorKit が HTMLEditorKit のインスタンスであるインスタンスで使用されます。 |
protected class |
JEditorPane.JEditorPaneAccessibleHypertextSupport
AccessibleJEditorPaneHTML.getAccessibleText によって返されるものです。 |
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBindingJComponent.AccessibleJComponentContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy| 修飾子と型 | フィールドと説明 |
|---|---|
static String |
HONOR_DISPLAY_PROPERTIES
フォントまたはフォアグラウンドカラーが書式付きテキストに指定されていない場合に、コンポーネントのデフォルトのフォントおよびフォアグラウンドカラーを使用するかどうかを示すために使用する、クライアントプロパティーのキーです。
|
static String |
W3C_LENGTH_UNITS
HTML のレンダリングで、w3c 準拠の長さ単位が使用されるかどうかを示すために使用する、クライアントプロパティーのキーです。
|
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEYaccessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWBOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTABORT, 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 に対する
UL.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 のテキストを、指定されたコンテンツに設定します。設定されるコンテンツはこのエディタのコンテンツタイプにする必要があります。 |
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDocument, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, writeaddAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, 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, 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, updateadd, 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, validateTreeaction, 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, 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, transferFocusBackward, transferFocusUpCyclepublic static final String W3C_LENGTH_UNITS
デフォルトでは無効です。有効にするためには、この名前のクライアント property を Boolean.TRUE に設定します。
public static final String HONOR_DISPLAY_PROPERTIES
デフォルト値は、Look & Feel によって異なります。有効にするためには、この名前のクライアント property を Boolean.TRUE に設定します。
public JEditorPane()
JEditorPane を作成します。ドキュメントモデルは null に設定されます。public JEditorPane(URL initialPage) throws IOException
JEditorPane を生成します。initialPage - URLIOException - URL が null であるか、アクセスできない場合public JEditorPane(String url) throws IOException
JEditorPane を生成します。url - URLIOException - URL が null であるか、アクセスできない場合public JEditorPane(String type, String text)
JEditorPane を生成します。これは、setContentType メソッドおよび setText メソッドを呼び出す簡易コンストラクタです。type - 指定されたテキストの MIME 形式text - 初期化に使用するテキスト。null も可NullPointerException - type パラメータが null の場合public void addHyperlinkListener(HyperlinkListener listener)
listener - リスナーpublic void removeHyperlinkListener(HyperlinkListener listener)
listener - リスナーpublic HyperlinkListener[] getHyperlinkListeners()
HyperLinkListener の配列を返します。HyperLinkListener。リスナーが追加されていない場合は空の配列public void fireHyperlinkUpdate(HyperlinkEvent e)
EditorKit によって呼び出されます。リスナーのリストは、最後から先頭に向かって処理されます。e - イベントEventListenerListpublic void setPage(URL page) throws IOException
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 - ページの URLIOException - null または無効なページが指定された場合、あるいは読み込み中のストリームから例外が発生した場合getPage()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)protected InputStream getStream(URL page) throws IOException
setPage メソッドによりロードされようとしている、指定された URL のストリームを取得します。デフォルトでは、このメソッドは単に URL をオープンし、ストリームを返します。このメソッドを実装し直すと、キャッシュからのストリームの取り出し、ストリームの進捗状況の監視などの便利な機能を実行できます。
このメソッドは、コンテンツ形式を確立し、その結果ストリームのロードに使う適切な EditorKit を設定すると考えられます。
このストリームが http 接続の場合、続いてリダイレクトが行われ、結果として得られる URL が、相対 URL を適切に解決できるように Document.StreamDescriptionProperty として設定されます。
page - ページの URLIOExceptionpublic void scrollToReference(String reference)
UL.getRef メソッドによって返される値) までビューをスクロールします。デフォルトでは、このメソッドは HTMLDocument 内での参照位置を認識しているだけです。実際のスクロール処理を実行するには、実装により scrollRectToVisible メソッドを呼び出します。HTML 以外のドキュメント形式で参照位置へのスクロールが必要な場合は、このメソッドを再実装する必要があります。このメソッドは、コンポーネントが可視状態でない場合は無効です。reference - スクロール先となる指定された位置public URL getPage()
null を返し、相対 URL は解決されません。nullpublic void setPage(String url) throws IOException
url - 表示されている URLIOException - null または無効な URL 指定の場合public String getUIClassID()
getUIClassID 、クラス: JComponentJComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)protected EditorKit createDefaultEditorKit()
PlainEditorKit) を生成します。public EditorKit getEditorKit()
createDefaultEditorKit が呼び出されます。public final String getContentType()
EditorKit に関連した形式になるように定義されています。nullpublic 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()public void setEditorKit(EditorKit kit)
null ではない場合、新しいキットがインストールされ、デフォルトドキュメントが生成されます。setEditorKit が呼び出されると、常に PropertyChange イベント (editorKit) がトリガーされます。
注:EditorKit は特定の形式のコンテンツをモデル化するソースであるため、モデルを変更するという副作用があります。このメソッドを使用すると、内部状態の整合性を保証するために、呼び出し側に代わり setDocument が呼び出されます。
kit - 望ましいエディタ動作getEditorKit()public EditorKit getEditorKitForContentType(String type)
EditorKit がない場合は、デフォルトの EditorKit レジストリから EditorKit の生成を試みます。生成できなかった場合は、すべてのテキストドキュメントをプレーンテキストとして表示できるものと仮定し、PlainEditorKit が使用されます。
このメソッドは、他種のコンテンツ形式レジストリを使用するために再実装できます。このメソッドを再実装すれば、たとえば Java Activation Framework を使用できるようになります。
type - null 以外のコンテンツタイプpublic void setEditorKitForContentType(String type, EditorKit k)
createEditorKitForContentType とともに使用して、Look & Feel を考慮したコンテンツ形式のハンドラをインストールすることがあります。type - null 以外のコンテンツタイプk - 設定するエディタキットpublic void replaceSelection(String content)
null の場合は、現在の選択領域の削除を行います。置換後のテキストには、入力用に現在定義されている属性が設定されます。コンポーネントが編集できない状態であれば、ビープ音を鳴らして終了します。replaceSelection 、クラス: JTextComponentcontent - 選択範囲を置き換えるコンテンツ。null も指定できますpublic static EditorKit createEditorKitForContentType(String type)
ClassLoader とともに登録されていた場合は、その ClassLoader を使ってプロトタイプがロードされます。登録されている ClassLoader がなかった場合は、Class.forName を使ってプロトタイプがロードされます。
プロトタイプ EditorKit のインスタンスが正しく検出されると、そのインスタンスが複製され、その複製が返されます。
type - コンテンツ形式nullpublic static void registerEditorKitForContentType(String type, String classname)
type と classname のデフォルトのバインディングを作成します。クラスは、あとで実際に必要になったときに動的にロードされ、実際の使用の前に安全に変更できるので、不必要なクラスのロードを避けることができます。プロトタイプ EditorKit は、このメソッドで登録されたときに、Class.forName でロードされます。type - null 以外のコンテンツタイプclassname - あとでロードするクラスpublic static void registerEditorKitForContentType(String type, String classname, ClassLoader loader)
type と classname のデフォルトのバインディングを作成します。クラスは、あとで実際に必要になったときに、指定された ClassLoader を使って動的にロードされ、実際の使用の前に安全に変更できるため、不要なクラスのロードを避けることができます。type - null 以外のコンテンツタイプclassname - あとでロードするクラスloader - 名前をロードするための ClassLoaderpublic static String getEditorKitClassNameForContentType(String type)
type に現在登録されている EditorKit クラス名を返します。type - null 以外のコンテンツタイプpublic Dimension getPreferredSize()
JEditorPane の推奨サイズを返します。JEditorPane の適切なサイズはスーパークラスの適切なサイズとわずかに異なります。ビューポートのサイズがコンポーネントの最小サイズより小さくなった場合、幅または高さをトラックするための scrollable 定義が false に変わります。デフォルトのビューポートレイアウトは適切なサイズを返しますが、このサイズは scrollable がトラッキングしている場合には適切ではありません。その場合、通常の適切なサイズが最小サイズに合わせて調整されます。これにより、HTML テーブルなどは最小サイズに縮小され、そのサイズで配置されます。最小サイズより小さくなることはありません。getPreferredSize 、クラス: JComponentDimensionJComponent.setPreferredSize(java.awt.Dimension), ComponentUIpublic void setText(String t)
TextComponent のテキストを、指定されたコンテンツに設定します。設定されるコンテンツはこのエディタのコンテンツタイプにする必要があります。たとえば、形式が text/html に設定されている場合、文字列は HTML の形式で指定されます。
現在のドキュメントのコンテンツを削除し、現在の EditorKit を使用して指定された文字列を解析してコンテンツを置き換えるように実装されます。これにより、コンポーネントに現在設定されているコンテンツ形式をサポートしながら、モデルを変更しないでスーパークラスのセマンティクスが指定されます。前のコンテンツが比較的小さく、副作用がないことが前提になります。この前提がどちらも守られない場合、予期しない結果を生じることがあります。これを避けるために、新しいドキュメント getEditorKit().createDefaultDocument() を生成して、既存の Document を新しいものに置き換えます。これで前の Document が中途半端な状態になることはありません。
文字列と一緒にコンポーネントをロードするもう 1 つの方法には、StringReader を生成して読み込みメソッドを呼び出すものがあります。この方法の場合、モデルは初期化が完了すると文字列のコンテンツに置き換えられます。
setText 、クラス: JTextComponentt - 設定する新しいテキスト。null の場合は、古いテキストが削除されるgetText()public String getText()
TextComponent に格納されているテキストを、このエディタのコンテンツタイプで返します。テキストの取得時に例外がスローされた場合は、null が返されます。このメソッドを実装すると、StringWriter で JTextComponent.write を呼び出すことができます。getText 、クラス: JTextComponentsetText(java.lang.String)public boolean getScrollableTracksViewportWidth()
Scrollable の幅を強制的にビューポートの幅に一致させる場合に true を返します。getScrollableTracksViewportWidth 、インタフェース: ScrollablegetScrollableTracksViewportWidth 、クラス: JTextComponentpublic boolean getScrollableTracksViewportHeight()
Scrollable の高さを強制的にビューポートの高さと一致させる場合に true を返します。getScrollableTracksViewportHeight 、インタフェース: ScrollablegetScrollableTracksViewportHeight 、クラス: JTextComponentScrollable の高さをそれ自体の高さと強制的に一致させる場合は true、それ以外の場合は falseprotected String paramString()
JEditorPane の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null にはなりません。paramString 、クラス: JTextComponentJEditorPane の文字列表現public AccessibleContext getAccessibleContext()
getAccessibleContext 、インタフェース: AccessiblegetAccessibleContext 、クラス: JTextComponent バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.