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.KeyBinding
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
修飾子と型 | フィールドと説明 |
---|---|
static String |
HONOR_DISPLAY_PROPERTIES
フォントまたはフォアグラウンドカラーが書式付きテキストに指定されていない場合に、コンポーネントのデフォルトのフォントおよびフォアグラウンドカラーを使用するかどうかを示すために使用する、クライアントプロパティーのキーです。
|
static String |
W3C_LENGTH_UNITS
HTML のレンダリングで、w3c 準拠の長さ単位が使用されるかどうかを示すために使用する、クライアントプロパティーのキーです。
|
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
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 に対する
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, write
addAncestorListener, 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, update
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
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, 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, transferFocusUpCycle
public 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
- イベントEventListenerList
public 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
- ページの URLIOException
public void scrollToReference(String reference)
UL.getRef
メソッドによって返される値) までビューをスクロールします。デフォルトでは、このメソッドは HTMLDocument 内での参照位置を認識しているだけです。実際のスクロール処理を実行するには、実装により scrollRectToVisible
メソッドを呼び出します。HTML 以外のドキュメント形式で参照位置へのスクロールが必要な場合は、このメソッドを再実装する必要があります。このメソッドは、コンポーネントが可視状態でない場合は無効です。reference
- スクロール先となる指定された位置public URL getPage()
null
を返し、相対 URL は解決されません。null
public void setPage(String url) throws IOException
url
- 表示されている URLIOException
- null
または無効な URL 指定の場合public String getUIClassID()
getUIClassID
、クラス: JComponent
JComponent.getUIClassID()
, UIDefaults.getUI(javax.swing.JComponent)
protected EditorKit createDefaultEditorKit()
PlainEditorKit
) を生成します。public EditorKit getEditorKit()
createDefaultEditorKit
が呼び出されます。public final String getContentType()
EditorKit
に関連した形式になるように定義されています。null
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()
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
、クラス: JTextComponent
content
- 選択範囲を置き換えるコンテンツ。null
も指定できますpublic static EditorKit createEditorKitForContentType(String type)
ClassLoader
とともに登録されていた場合は、その ClassLoader
を使ってプロトタイプがロードされます。登録されている ClassLoader
がなかった場合は、Class.forName
を使ってプロトタイプがロードされます。
プロトタイプ EditorKit
のインスタンスが正しく検出されると、そのインスタンスが複製され、その複製が返されます。
type
- コンテンツ形式null
public 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
- 名前をロードするための ClassLoader
public static String getEditorKitClassNameForContentType(String type)
type
に現在登録されている EditorKit
クラス名を返します。type
- null
以外のコンテンツタイプpublic Dimension getPreferredSize()
JEditorPane
の推奨サイズを返します。JEditorPane
の適切なサイズはスーパークラスの適切なサイズとわずかに異なります。ビューポートのサイズがコンポーネントの最小サイズより小さくなった場合、幅または高さをトラックするための scrollable 定義が false に変わります。デフォルトのビューポートレイアウトは適切なサイズを返しますが、このサイズは scrollable がトラッキングしている場合には適切ではありません。その場合、通常の適切なサイズが最小サイズに合わせて調整されます。これにより、HTML テーブルなどは最小サイズに縮小され、そのサイズで配置されます。最小サイズより小さくなることはありません。getPreferredSize
、クラス: JComponent
Dimension
JComponent.setPreferredSize(java.awt.Dimension)
, ComponentUI
public void setText(String t)
TextComponent
のテキストを、指定されたコンテンツに設定します。設定されるコンテンツはこのエディタのコンテンツタイプにする必要があります。たとえば、形式が text/html
に設定されている場合、文字列は HTML の形式で指定されます。
現在のドキュメントのコンテンツを削除し、現在の EditorKit
を使用して指定された文字列を解析してコンテンツを置き換えるように実装されます。これにより、コンポーネントに現在設定されているコンテンツ形式をサポートしながら、モデルを変更しないでスーパークラスのセマンティクスが指定されます。前のコンテンツが比較的小さく、副作用がないことが前提になります。この前提がどちらも守られない場合、予期しない結果を生じることがあります。これを避けるために、新しいドキュメント getEditorKit().createDefaultDocument()
を生成して、既存の Document
を新しいものに置き換えます。これで前の Document
が中途半端な状態になることはありません。
文字列と一緒にコンポーネントをロードするもう 1 つの方法には、StringReader を生成して読み込みメソッドを呼び出すものがあります。この方法の場合、モデルは初期化が完了すると文字列のコンテンツに置き換えられます。
setText
、クラス: JTextComponent
t
- 設定する新しいテキスト。null
の場合は、古いテキストが削除されるgetText()
public String getText()
TextComponent
に格納されているテキストを、このエディタのコンテンツタイプで返します。テキストの取得時に例外がスローされた場合は、null
が返されます。このメソッドを実装すると、StringWriter
で JTextComponent.write
を呼び出すことができます。getText
、クラス: JTextComponent
setText(java.lang.String)
public boolean getScrollableTracksViewportWidth()
Scrollable
の幅を強制的にビューポートの幅に一致させる場合に true を返します。getScrollableTracksViewportWidth
、インタフェース: Scrollable
getScrollableTracksViewportWidth
、クラス: JTextComponent
public boolean getScrollableTracksViewportHeight()
Scrollable
の高さを強制的にビューポートの高さと一致させる場合に true を返します。getScrollableTracksViewportHeight
、インタフェース: Scrollable
getScrollableTracksViewportHeight
、クラス: JTextComponent
Scrollable
の高さをそれ自体の高さと強制的に一致させる場合は true、それ以外の場合は falseprotected String paramString()
JEditorPane
の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null
にはなりません。paramString
、クラス: JTextComponent
JEditorPane
の文字列表現public AccessibleContext getAccessibleContext()
getAccessibleContext
、インタフェース: Accessible
getAccessibleContext
、クラス: JTextComponent
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.