java.lang.Object
javax.swing.text.EditorKit
javax.swing.text.DefaultEditorKit
javax.swing.text.StyledEditorKit
javax.swing.text.html.HTMLEditorKit
- すべての実装されたインタフェース:
- Serializable,- Cloneable,- Accessible
public class HTMLEditorKit extends StyledEditorKit implements Accessible
SwingのJEditorPaneテキスト・コンポーネントは、EditorKitと呼ばれるプラグイン・メカニズムにより、さまざまな種類のコンテンツをサポートしています。 HTMLは非常に一般的な形式なので、部分的なサポートをデフォルトで提供しています。 このクラスが提供するデフォルトのサポートは、HTML 3.2 (一部の拡張を含む)をサポートしており、現在4.0のサポートに向けて移行中です。 今のところ<applet>タグはサポートされていませんが、<object>タグの一部分はサポートされています。 
 
HTML EditorKitはいくつかの目標を持って提供されており、これはHTMLをモデル化する手法に反映されています。 そうした目標が、クラスの設計に実質的な影響を与えています。
- 編集のサポート
- 
 JEditorPane用のプラグインが編集をサポートすべきということはきわめて明白かもしれませんが、編集をサポートするには設計上の考慮すべき問題がいくつかあります。 HTML仕様に完全には準拠しないHTMLドキュメントがたくさん出回っているという事実があります。 こうしたドキュメントを編集するには、なんらかの方法で正しい形式に正規化する必要があります。 さらに、ユーザーは多量の構造編集を好まないという事実があります。このため、HTMLドキュメントで定義されているとおりのHTML構造ではなく、従来のテキスト編集の操作が好まれます。 
 HTMLのモデル化は、 HTMLDocumentクラスで提供されています。 HTMLのモデル化については、そのドキュメントに詳しく記載されています。 編集のサポートは、主にtextパッケージで提供されます。
- 拡張可能/スケーラブル
- 
 このキットを無駄なく活用できるようにするために、キットを拡張可能にする努力が払われています。 次にその内容の一部を示します。 
 - パーサーは置換え可能です。 デフォルトのパーサーはDTDに基づいたHotJavaパーサーです。 別のDTDを使ったり、まったく別のパーサーを使うこともできます。 パーサーを変更するには、getParserメソッドを実装し直してください。 デフォルトのパーサーは、最初の要求があったときに動的にロードされるため、別のパーサーを使用する場合はロードされません。 デフォルトのパーサーは、このパッケージとは独立に、下位のparserパッケージにあります。
- パーサーは、HTMLDocumentによって提供されるParserCallbackを作動させます。 コールバックを変更するには、HTMLDocumentをサブクラス化し、別のリーダーを生成するドキュメントを返すようにcreateDefaultDocumentメソッドを実装し直してください。 リーダーは、ドキュメントがどのように構造化されるかを制御します。 Documentは、デフォルトではHTMLサポートを提供しますが、HTML以外のタグによって別の要素構造をサポートすることも可能です。
- 
   そのモデルのデフォルトのビューは、View実装の階層として提供されますので、特定の要素の表示方法をカスタマイズしたり、新しいViewの実装を提供することで、新しい種類の要素に対する機能を容易に追加できます。 デフォルトのビューのセットは、HTMLFactoryクラスによって提供されます。 ビューのセットを変更するには、HTMLFactoryをサブクラス化または置き換えた上で、getViewFactoryメソッドを実装し直して別のファクトリを返すようにします。
- Viewの実装は、主に、ビュー内に保持されているCSS属性を使用して機能します。 これにより、実質的に異なって見える同じモデルに複数のビューをマッピングすることが可能になります。 これは、出力の際に特に便利です。 HTML属性の多くに関しては、表示用にHTML属性がCSS属性に変換されます。 これは、Viewの実装を汎用的にするのに役立ちます。
 
- 非同期ロード
- 
 大きなドキュメントでは、大量の構文解析が必要になりロードに多少時間がかかります。 デフォルトでは、このキットはJEditorPane.setPageを使ってロードする場合に非同期でロードされるドキュメントを生成します。 これは、ドキュメントのプロパティによって制御されます。createDefaultDocumentメソッドをオーバーライドすれば、プロパティを変更できます。 作業のバッチ処理は、HTMLDocument.HTMLReaderクラスによって行われます。 実際の作業は、textパッケージ内のDefaultStyledDocumentおよびAbstractDocumentクラスによって行われます。
- 現在のLAFからのカスタマイズ
- 
 HTMLは、よく知られた表示機能を提供しますが、その表示特性は正確には指定されていません。 Swingは、Look & Feelの実装にテーマ・メカニズムを持っています。 このLook & Feelが、HTMLビューに表示特性を与えるようになっていれば便利です。 たとえば、視力の弱い人が、通常よりコントラストが強くサイズの大きいフォントを使えるようになります。 
 この機能のサポートは、 StyleSheetクラスによって提供されます。 HTMLの表現は、EditorKitのStyleSheetプロパティの設定によって、自由に変えることができます。
- データの損失なし
- EditorKitはドキュメントを読み込んで保存する能力を持っています。 一般にユーザーにとっては、読み込みと保存の操作の間にデータの損失がないことが望まれます。 HTMLEditorKitのポリシーは、認識できなかったものや表示されないものもあとで書き出すときのためにメモリーに保存しておくことです。 したがって、HTMLドキュメントのモデルでは、通常、ドキュメントの読込み中に検出された情報はすべて格納されます。 しかし、このポリシーは編集をサポートするためにある種の制約を受けます(不正確なドキュメントを正規化しなければならない場合など)。 結局、ガイドラインとなる原則は、「情報は失われないように、しかし、より正確なモデルを作成するために、部分的な合成や並べ換えはありうる」ということになります。
- 
ネストされたクラスのサマリーネストされたクラス 修飾子と型 クラス 説明 static classHTMLEditorKit.HTMLFactoryHTML用のビューを作成するファクトリです。static classHTMLEditorKit.HTMLTextActionHTMLを既存のドキュメントに挿入するのに便利ないくつかの簡易メソッドを提供するabstractアクションです。static classHTMLEditorKit.InsertHTMLTextActionInsertHTMLTextActionは、既存のHTMLドキュメントに任意のHTML文字列を挿入するために使用できます。static classHTMLEditorKit.LinkController関連付けられたコンポーネントを監視し、必要に応じてその上でハイパーリンク・イベントを発生させるクラスです。static classHTMLEditorKit.Parserパーサーがサポートするインタフェースです。static classHTMLEditorKit.ParserCallback構文解析の結果が、これらのコールバック・メソッドを呼び出します。クラス javax.swing.text.StyledEditorKitで宣言されたネストされたクラス/インタフェースStyledEditorKit.AlignmentAction, StyledEditorKit.BoldAction, StyledEditorKit.FontFamilyAction, StyledEditorKit.FontSizeAction, StyledEditorKit.ForegroundAction, StyledEditorKit.ItalicAction, StyledEditorKit.StyledTextAction, StyledEditorKit.UnderlineActionクラス javax.swing.text.DefaultEditorKitで宣言されたネストされたクラス/インタフェースDefaultEditorKit.BeepAction, DefaultEditorKit.CopyAction, DefaultEditorKit.CutAction, DefaultEditorKit.DefaultKeyTypedAction, DefaultEditorKit.InsertBreakAction, DefaultEditorKit.InsertContentAction, DefaultEditorKit.InsertTabAction, DefaultEditorKit.PasteAction
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 static StringBOLD_ACTIONボールド処理識別子です。static StringCOLOR_ACTION色選択処理識別子です。色は引数として渡されます。static StringDEFAULT_CSSタグ表示を設定するデフォルトのCascading Style Sheetファイルです。static StringFONT_CHANGE_BIGGER次サイズへのフォント拡大識別子です。static StringFONT_CHANGE_SMALLER次サイズへのフォント縮小識別子です。static StringIMG_ALIGN_BOTTOMイメージを下端にそろえます。static StringIMG_ALIGN_MIDDLEイメージを中央にそろえます。static StringIMG_ALIGN_TOPイメージを上端にそろえます。static StringIMG_BORDERイメージを境界にそろえます。static StringITALIC_ACTIONイタリック処理識別子です。static StringLOGICAL_STYLE_ACTION論理スタイル選択処理識別子です。論理スタイルは引数として渡されます。static StringPARA_INDENT_LEFT段落の左インデント処理識別子です。static StringPARA_INDENT_RIGHT段落の右インデント処理識別子です。クラス javax.swing.text.DefaultEditorKitで宣言されたフィールドbackwardAction, beepAction, beginAction, beginLineAction, beginParagraphAction, beginWordAction, copyAction, cutAction, defaultKeyTypedAction, deleteNextCharAction, deleteNextWordAction, deletePrevCharAction, deletePrevWordAction, downAction, endAction, endLineAction, EndOfLineStringProperty, endParagraphAction, endWordAction, forwardAction, insertBreakAction, insertContentAction, insertTabAction, nextWordAction, pageDownAction, pageUpAction, pasteAction, previousWordAction, readOnlyAction, selectAllAction, selectionBackwardAction, selectionBeginAction, selectionBeginLineAction, selectionBeginParagraphAction, selectionBeginWordAction, selectionDownAction, selectionEndAction, selectionEndLineAction, selectionEndParagraphAction, selectionEndWordAction, selectionForwardAction, selectionNextWordAction, selectionPreviousWordAction, selectionUpAction, selectLineAction, selectParagraphAction, selectWordAction, upAction, writableAction
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 HTMLEditorKit()HTMLEditorKitを構築し、StyleContextを作成して、スタイル・シートをロードします。
- 
メソッドのサマリー修飾子と型 メソッド 説明 Objectclone()編集キットのコピーを作成します。DocumentcreateDefaultDocument()この型のエディタに適している未初期化テキスト・ストレージ・モデルを作成します。protected voidcreateInputAttributes(Element element, MutableAttributeSet set)elementのAttributeSet内のキーと値のペアをsetにコピーします。voiddeinstall(JEditorPane c)キットがJEditorPaneから削除されているときに呼び出されます。AccessibleContextgetAccessibleContext()このエディタ・キットに関連付けられたAccessibleContextを返しますAction[]getActions()エディタのコマンド・リストを取り出します。StringgetContentType()このキットがサポートするデータのMIMEタイプを返します。CursorgetDefaultCursor()デフォルトのカーソルを返します。MutableAttributeSetgetInputAttributes()書式付き編集アクションに使用される入力属性を返します。CursorgetLinkCursor()ハイパーリンク上で使用するカーソルを返します。protected HTMLEditorKit.ParsergetParser()HTMLストリームの読込みに使用するパーサーを取得します。StyleSheetgetStyleSheet()HTML要素の描画に使用されているスタイル・セットを返します。ViewFactorygetViewFactory()このキットが作成した任意のモデルのビューを作成するのに適したファクトリを取得します。voidinsertHTML(HTMLDocument doc, int offset, String html, int popDepth, int pushDepth, HTML.Tag insertTag)既存のドキュメントにHTMLを挿入します。voidinstall(JEditorPane c)キットがJEditorPaneにインストールされるときに呼び出されます。booleanisAutoFormSubmission()htmlフォームの送信が自動的に処理されるか、FormSubmitEventがトリガーされるだけかを示します。voidread(Reader in, Document doc, int pos)指定されたストリームからコンテンツを挿入します。voidsetAutoFormSubmission(boolean isAuto)htmlフォームの送信が自動的に処理されるか、FormSubmitEventがトリガーされるだけかを示します。voidsetDefaultCursor(Cursor cursor)デフォルトのカーソルを設定します。voidsetLinkCursor(Cursor cursor)リンク上で使用するカーソルを設定します。voidsetStyleSheet(StyleSheet s)各種のHTML要素の描画に使用されるスタイル・セットを設定します。voidwrite(Writer out, Document doc, int pos, int len)このタイプのコンテンツ・ハンドラに適した形式で、ドキュメントからストリームへコンテンツを書き込みます。
- 
フィールド詳細- 
DEFAULT_CSSpublic static final String DEFAULT_CSSタグ表示を設定するデフォルトのCascading Style Sheetファイルです。- 関連項目:
- 定数フィールド値
 
- 
BOLD_ACTIONpublic static final String BOLD_ACTIONボールド処理識別子です。- 関連項目:
- 定数フィールド値
 
- 
ITALIC_ACTIONpublic static final String ITALIC_ACTIONイタリック処理識別子です。- 関連項目:
- 定数フィールド値
 
- 
PARA_INDENT_LEFTpublic static final String PARA_INDENT_LEFT段落の左インデント処理識別子です。- 関連項目:
- 定数フィールド値
 
- 
PARA_INDENT_RIGHTpublic static final String PARA_INDENT_RIGHT段落の右インデント処理識別子です。- 関連項目:
- 定数フィールド値
 
- 
FONT_CHANGE_BIGGERpublic static final String FONT_CHANGE_BIGGER次サイズへのフォント拡大識別子です。- 関連項目:
- 定数フィールド値
 
- 
FONT_CHANGE_SMALLERpublic static final String FONT_CHANGE_SMALLER次サイズへのフォント縮小識別子です。- 関連項目:
- 定数フィールド値
 
- 
COLOR_ACTIONpublic static final String COLOR_ACTION色選択処理識別子です。色は引数として渡されます。- 関連項目:
- 定数フィールド値
 
- 
LOGICAL_STYLE_ACTIONpublic static final String LOGICAL_STYLE_ACTION論理スタイル選択処理識別子です。論理スタイルは引数として渡されます。- 関連項目:
- 定数フィールド値
 
- 
IMG_ALIGN_TOPpublic static final String IMG_ALIGN_TOPイメージを上端にそろえます。- 関連項目:
- 定数フィールド値
 
- 
IMG_ALIGN_MIDDLEpublic static final String IMG_ALIGN_MIDDLEイメージを中央にそろえます。- 関連項目:
- 定数フィールド値
 
- 
IMG_ALIGN_BOTTOMpublic static final String IMG_ALIGN_BOTTOMイメージを下端にそろえます。- 関連項目:
- 定数フィールド値
 
- 
IMG_BORDERpublic static final String IMG_BORDERイメージを境界にそろえます。- 関連項目:
- 定数フィールド値
 
 
- 
- 
コンストラクタの詳細- 
HTMLEditorKitpublic HTMLEditorKit()HTMLEditorKitを構築し、StyleContextを作成して、スタイル・シートをロードします。
 
- 
- 
メソッドの詳細- 
getContentTypepublic String getContentType()このキットがサポートするデータのMIMEタイプを返します。 このキットはtext/htmlタイプをサポートします。- オーバーライド:
- getContentType、クラス:- DefaultEditorKit
- 戻り値:
- タイプ
 
- 
getViewFactorypublic ViewFactory getViewFactory()このキットが作成した任意のモデルのビューを作成するのに適したファクトリを取得します。- オーバーライド:
- getViewFactory、クラス:- StyledEditorKit
- 戻り値:
- ファクトリ
 
- 
createDefaultDocumentpublic Document createDefaultDocument()この型のエディタに適している未初期化テキスト・ストレージ・モデルを作成します。- オーバーライド:
- createDefaultDocument、クラス:- StyledEditorKit
- 戻り値:
- モデル
 
- 
readpublic void read(Reader in, Document doc, int pos) throws IOException, BadLocationException指定されたストリームからコンテンツを挿入します。docがHTMLDocumentのインスタンスである場合は、HTML 3.2テキストが読み取られます。 空でないドキュメントへのHTMLの挿入は、body要素の内側にする必要があります。本文に挿入しない場合、例外がスローされます。 空でないドキュメントへの挿入時は、bodyの外側のタグ(head、title)がすべて削除されます。- オーバーライド:
- read、クラス:- DefaultEditorKit
- パラメータ:
- in- 読込み元のストリーム
- doc- 挿入先
- pos- コンテンツを配置するドキュメント内の位置
- 例外:
- IOException- 入出力エラーが発生した場合
- BadLocationException- posがドキュメント内の無効な位置を表す場合
- RuntimeException- posが無効な場合(結果的にBadLocationExceptionになる)
 
- 
insertHTMLpublic void insertHTML(HTMLDocument doc, int offset, String html, int popDepth, int pushDepth, HTML.Tag insertTag) throws BadLocationException, IOException既存のドキュメントにHTMLを挿入します。- パラメータ:
- doc- 挿入先のドキュメント
- offset- HTMLの挿入位置のオフセット
- popDepth- 挿入の前に生成されるElementSpec.EndTagTypesタグの数
- html- HTML文字列
- pushDepth- 終了タグの生成後、挿入前に生成されるElementSpec.JoinNextDirectionの方向を持つElementSpec.StartTagTypeタグの数
- insertTag- ドキュメントへの挿入を開始する最初のタグ
- 例外:
- BadLocationException-- offsetが無効な場合
- IOException- I/Oエラー
- RuntimeException- posが無効な場合(結果的にBadLocationExceptionになる)
 
- 
writepublic void write(Writer out, Document doc, int pos, int len) throws IOException, BadLocationExceptionこのタイプのコンテンツ・ハンドラに適した形式で、ドキュメントからストリームへコンテンツを書き込みます。- オーバーライド:
- write、クラス:- DefaultEditorKit
- パラメータ:
- out- 書込み先のストリーム
- doc- 書込み元
- pos- コンテンツを取得するドキュメント内の位置
- len- 書き出す量
- 例外:
- IOException- 入出力エラーが発生した場合
- BadLocationException-- posがドキュメント内の無効なロケーションを表す場合
 
- 
installpublic void install(JEditorPane c)キットがJEditorPaneにインストールされるときに呼び出されます。- オーバーライド:
- install、クラス:- StyledEditorKit
- パラメータ:
- c- JEditorPane
 
- 
deinstallpublic void deinstall(JEditorPane c)キットがJEditorPaneから削除されているときに呼び出されます。 このメソッドは、追加されたリスナーの登録を解除するために使用されます。- オーバーライド:
- deinstall、クラス:- StyledEditorKit
- パラメータ:
- c- JEditorPane
 
- 
setStyleSheetpublic void setStyleSheet(StyleSheet s)各種のHTML要素の描画に使用されるスタイル・セットを設定します。 これらのスタイルはCSS仕様に基づいて指定されます。 キットで作成される各ドキュメントには、ドキュメント専用のスタイルを登録できるシートのコピーが添付されます。 デフォルトでは、指定されるStyleSheetはすべてのHTMLEditorKitのインスタンスが共有します。 必要に応じて、このメソッドを実装し直してより詳細な設定を行います。- パラメータ:
- s- StyleSheet
 
- 
getStyleSheetpublic StyleSheet getStyleSheet()HTML要素の描画に使用されているスタイル・セットを返します。 デフォルトでは、DEFAULT_CSSで指定されるリソースがロードされ、すべてのHTMLEditorKitのインスタンスで共有されます。- 戻り値:
- StyleSheet
 
- 
getActionspublic Action[] getActions()エディタのコマンド・リストを取り出します。 これは、書式処理のためにローカルで定義されたコマンドのコレクションによって追加されたスーパー・クラスによってサポートされるコマンドのリストです。- オーバーライド:
- getActions、クラス:- StyledEditorKit
- 戻り値:
- コマンド・リスト
 
- 
createInputAttributesprotected void createInputAttributes(Element element, MutableAttributeSet set)elementのAttributeSet内のキーと値のペアをsetにコピーします。 このメソッドは、コンポーネント、アイコン、要素名の各属性はコピーしません。 サブクラスでは、どの属性をコピーしてどの属性をコピーしないかを変更することもできます。 ただし、最初にset内のすべての属性を必ず削除してください。このメソッドは、キャレットが別の位置に移動するたびに呼び出されます。 - オーバーライド:
- createInputAttributes、クラス:- StyledEditorKit
- パラメータ:
- element- 要素
- set- 属性
 
- 
getInputAttributespublic MutableAttributeSet getInputAttributes()書式付き編集アクションに使用される入力属性を返します。- オーバーライド:
- getInputAttributes、クラス:- StyledEditorKit
- 戻り値:
- 属性セット
 
- 
setDefaultCursorpublic void setDefaultCursor(Cursor cursor)デフォルトのカーソルを設定します。- パラメータ:
- cursor- カーソル
- 導入されたバージョン:
- 1.3
 
- 
getDefaultCursorpublic Cursor getDefaultCursor()デフォルトのカーソルを返します。- 戻り値:
- カーソル
- 導入されたバージョン:
- 1.3
 
- 
setLinkCursorpublic void setLinkCursor(Cursor cursor)リンク上で使用するカーソルを設定します。- パラメータ:
- cursor- カーソル
- 導入されたバージョン:
- 1.3
 
- 
getLinkCursorpublic Cursor getLinkCursor()ハイパーリンク上で使用するカーソルを返します。- 戻り値:
- カーソル
- 導入されたバージョン:
- 1.3
 
- 
isAutoFormSubmissionpublic boolean isAutoFormSubmission()htmlフォームの送信が自動的に処理されるか、FormSubmitEventがトリガーされるだけかを示します。- 戻り値:
- htmlフォームの送信が自動的に処理される場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.5
- 関連項目:
- setAutoFormSubmission(boolean)
 
- 
setAutoFormSubmissionpublic void setAutoFormSubmission(boolean isAuto)htmlフォームの送信が自動的に処理されるか、FormSubmitEventがトリガーされるだけかを示します。 デフォルトでは、trueに設定されます。- パラメータ:
- isAuto-- true、htmlフォームの提出が自動的に処理される場合。
- 導入されたバージョン:
- 1.5
- 関連項目:
- isAutoFormSubmission(),- FormSubmitEvent
 
- 
clonepublic Object clone()編集キットのコピーを作成します。- オーバーライド:
- clone、クラス:- StyledEditorKit
- 戻り値:
- コピー
- 関連項目:
- Cloneable
 
- 
getParserprotected HTMLEditorKit.Parser getParser()HTMLストリームの読込みに使用するパーサーを取得します。 これを実装し直して別のパーサーを提供できます。 デフォルトの実装は動的にロードされます。これは、デフォルトの実装が使用されない場合の、デフォルトのパーサーのロードによるオーバーヘッドを避けるためです。 デフォルトのパーサーは、HTML 3.2 DTDを使用するHotJavaパーサーです。- 戻り値:
- パーサー
 
- 
getAccessibleContextpublic AccessibleContext getAccessibleContext()このエディタ・キットに関連付けられたAccessibleContextを返します- 定義:
- getAccessibleContext、インタフェース:- Accessible
- 戻り値:
- この編集キットに関連したAccessibleContext
- 導入されたバージョン:
- 1.4
 
 
-