- すべての実装されたインタフェース:
Serializable
,AbstractDocument.AttributeContext
toString
メソッドが必要です。
HTMLのViewの実装で属性を取得するための主要なエントリ・ポイントはgetViewAttributes
メソッドです。 これは、属性とビューの関連付けに必要なポリシーを確立するために実装する必要があります。 各HTMLEditorKit (また関連する各JEditorPane)は、専用のStyleSheetを持つことができますが、デフォルトではすべてのHTMLEditorKitのインスタンスが1つのシートを共有します。 HTMLDocumentのインスタンスは、特定のドキュメント用のCSS指定が記述されたStyleSheetを持つこともできます。
Viewが格納する状態を減らし、より軽量にするために、StyleSheetは一部のレンダリング・タスクを処理するペインタのファクトリとして動作できます。 これによって、実装は何をキャッシュするか、1つのセレクタが複数のビューに共通するレベルで何を共有するかを決定することが可能になります。 StyleSheetは複数のドキュメントの表示で使用され、HTML属性は使用されるセレクタには通常影響を与えません。このため、共有の可能性が大きく広がります。
規則は名前付きスタイルとして保存され、要素のコンテキストから規則にすばやく変換するためにその他の情報が保存されます。 次のコード・フラグメントは、名前付きスタイル(したがってCSS規則を含む)を表示します。
import java.util.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
public class ShowStyles {
public static void main(String[] args) {
HTMLEditorKit kit = new HTMLEditorKit();
HTMLDocument doc = (HTMLDocument) kit.createDefaultDocument();
StyleSheet styles = doc.getStyleSheet();
Enumeration rules = styles.getStyleNames();
while (rules.hasMoreElements()) {
String name = (String) rules.nextElement();
Style rule = styles.getStyle(name);
System.out.println(rule.toString());
}
System.exit(0);
}
}
要素によって定義された視覚的な属性をCSSスタイルがオーバーライドする場合のセマンティクスは、十分に定義されていません。 たとえば、HTML <body bgcolor=red>
は本文のバックグラウンドを赤にします。 しかし、HTMLファイルにbody { background: blue }
というCSS規則もある場合、本文のバックグラウンドを何色にすべきかについて不明確になります。 現在の実装では、要素で定義された視覚的な属性を最優先します。つまり、それらの属性は常にスタイルより先に確認されます。 したがって上記の例では、body要素がバックグラウンド・カラーを赤に定義しているため、バックグラウンドは赤になります。
すでに述べたように、このメソッドはCSSをサポートします。 CSS仕様のすべてをサポートしているわけではありません。 どのプロパティをサポートしているかについては、CSSクラスのjavadocを参照してください。 現在のところサポートしていない概念に関連する主要なCSS解析は、A: link { color: red }
などの擬似セレクタと、important
修飾子の2つです。
- 実装上のノート:
- この実装は現在不完全です。 将来、代替の実装によって置き換えられる可能性があります。 このクラスの今後のバージョンでは、より優れたCSSサポートが提供される予定です。
-
ネストされたクラスのサマリー
修飾子と型クラス説明static class
CSSの書式設定処理の一部を実行するクラスです。static class
CSSリストの書式設定処理の一部を実行するクラスです。クラス javax.swing.text.StyleContextで宣言されたネストされたクラス/インタフェース
StyleContext.NamedStyle, StyleContext.SmallAttributeSet
-
フィールドのサマリー
クラス javax.swing.text.StyleContextで宣言されたフィールド
DEFAULT_STYLE
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明addAttribute(AttributeSet old, Object key, Object value)
指定されたセットに属性を追加し、その新しいセットを返します。addAttributes(AttributeSet old, AttributeSet attr)
属性セットを要素に追加します。void
addCSSAttribute(MutableAttributeSet attr, CSS.Attribute key, String value)
指定されたセットにCSS属性を追加します。boolean
addCSSAttributeFromHTML(MutableAttributeSet attr, CSS.Attribute key, String value)
指定されたセットにCSS属性を追加します。void
規則セットをシートに登録します。void
addStyleSheet(StyleSheet ss)
StyleSheetss
の規則を、レシーバの規則に追加します。protected MutableAttributeSet
メモリー効率より処理時間を優先する、大きいサイズの属性セットを作成します。protected StyleContext.SmallAttributeSet
共有可能でコンパクトな属性セットを作成します。属性セットを取得してバックグラウンド・カラー指定に変換します。getBase()
ベースを返します。指定されたCSS属性のセットで使用するボックス・フォーマッタを取得します。getDeclaration(String decl)
CSS宣言を、CSS宣言を表す属性セットに変換します。getFont(AttributeSet a)
指定された属性セットで使用するフォントを取得します。属性セットを取得してフォアグラウンド・カラー指定に変換します。static int
getIndexOfSize(float pt)
HTML/CSSサイズ・モデルのインデックスを返します。指定されたCSS属性のセットで使用するリスト・フォーマッタを取得します。float
getPointSize(int index)
指定されたサイズ・インデックスのポイント・サイズを返します。float
getPointSize(String size)
「+2」、「-2」、「2」などの指定された文字列のポイント・サイズ値を返します。文字列形式で指定されたセレクタにもっとも一致する規則を取り出します。指定されたタイプのHTMLタグを描画するために使用するスタイルを取得します。リンクされたStyleSheetの配列を返します。表示のためにビューで使用される属性セットを取得します。void
importStyleSheet(URL url)
url
からスタイル・シートをインポートします。void
CSS1文法が指定する規則セットをロードします。removeAttribute(AttributeSet old, Object key)
セットから属性を削除します。removeAttributes(AttributeSet old, Enumeration<?> names)
要素の属性セットを削除します。removeAttributes(AttributeSet old, AttributeSet attrs)
属性セットを削除します。void
removeStyle(String nm)
以前にドキュメントに追加された名前付き書式を削除します。void
レシーバのStyleSheetss
からStyleSheet ssを削除します。void
ベースを設定します。void
setBaseFontSize(int sz)
1 - 7の有効な値で、ベース・フォント・サイズを設定します。void
setBaseFontSize(String size)
渡されたStringからベース・フォント・サイズを設定します。stringToColor(String string)
「RED」または「#NNNNNN」などの色文字列をColorに変換します。translateHTMLToCSS(AttributeSet htmlAttrSet)
HTML属性のセットを、同等のCSS属性のセットに変換します。クラス javax.swing.text.StyleContextで宣言されたメソッド
addChangeListener, addStyle, getChangeListeners, getCompressionThreshold, getDefaultStyleContext, getEmptySet, getFont, getFontMetrics, getStaticAttribute, getStaticAttributeKey, getStyle, getStyleNames, readAttributes, readAttributeSet, reclaim, registerStaticAttributeKey, removeChangeListener, toString, writeAttributes, writeAttributeSet
-
コンストラクタの詳細
-
StyleSheet
public StyleSheet()StyleSheetを構築します。
-
-
メソッドの詳細
-
getRule
指定されたタイプのHTMLタグを描画するために使用するスタイルを取得します。 要素は、タグを表すだけではなく、属性が異なる場合にネスト処理の判定に使用することができます(要素内でのネスト処理の場合)。- パラメータ:
t
- 視覚的な属性に変換する型e
- タグを表す要素。要素は、属性が異なる場合にネスト処理の判定に使用することができる(ほかの要素内でのネスト処理の場合)- 戻り値:
- タグを描画するため二使用するCSS属性のセット
-
getRule
文字列形式で指定されたセレクタにもっとも一致する規則を取り出します。selector
は、空白で区切られた要素名のStringです。 たとえば、selector
は「html body tr td」にできます。返されるStyleの属性は、規則が追加されたり削除されたりすると変更されます。 つまり、セレクタtable pを持つ規則を要求する場合、pというセレクタを持つ新しい規則が追加されていると、返されるStyleには規則pからの新しい属性が含まれるということです。
- パラメータ:
selector
- スペースで区切られた要素名のString。- 戻り値:
- セレクタに最も適合するルール。
-
addRule
public void addRule(String rule)規則セットをシートに登録します。 規則は有効なCSS形式であると想定されます。 通常、これは<style>タグの解析の結果として呼び出されます。- パラメータ:
rule
- 一連のルール
-
getDeclaration
public AttributeSet getDeclaration(String decl)CSS宣言を、CSS宣言を表す属性セットに変換します。 通常は、これはHTMLスタイル属性が検出された結果として呼び出されます。- パラメータ:
decl
- CSS宣言- 戻り値:
- CSS宣言を表す一連の属性。
-
loadRules
public void loadRules(Reader in, URL ref) throws IOExceptionCSS1文法が指定する規則セットをロードします。 既存の規則と競合する場合は、新しく指定される規則が優先します。- パラメータ:
in
- CSS文法の読取り元ストリームref
- 参照URL。 この値はストリームの位置を表し、nullの場合がある。 ストリーム内で指定される関連URLはすべてこのパラメータに基づく。- 例外:
IOException
- I/Oエラーが発生した場合。
-
getViewAttributes
public AttributeSet getViewAttributes(View v)表示のためにビューで使用される属性セットを取得します。 基本的にはView.getAttributesで使用可能な属性のセットです。- パラメータ:
v
- ビュー- 戻り値:
- 属性の
-
removeStyle
public void removeStyle(String nm)以前にドキュメントに追加された名前付き書式を削除します。- オーバーライド:
removeStyle
、クラス:StyleContext
- パラメータ:
nm
- 削除される書式の名前
-
addStyleSheet
public void addStyleSheet(StyleSheet ss)StyleSheetss
の規則をレシーバの規則に登録します。ss
の規則は、すでに登録されているスタイル・シートの規則をオーバーライドします。 登録されているStyleSheetが、新しく受け取るスタイル・シートの規則をオーバーライドすることはありません。- パラメータ:
ss
- StyleSheet- 導入されたバージョン:
- 1.3
-
removeStyleSheet
public void removeStyleSheet(StyleSheet ss)レシーバのStyleSheetss
からStyleSheet ssを削除します。- パラメータ:
ss
- StyleSheet- 導入されたバージョン:
- 1.3
-
getStyleSheets
public StyleSheet[] getStyleSheets()リンクされたStyleSheetの配列を返します。 リンクされたStyleSheetがない場合はnullを返します。- 戻り値:
- StyleSheetsの配列。
- 導入されたバージョン:
- 1.3
-
importStyleSheet
public void importStyleSheet(URL url)url
からスタイル・シートをインポートします。 結果として得られる規則はレシーバに直接登録されます。 規則をレシーバの一部にしたくない場合は、新しいStyleSheetを作成してaddStyleSheet使ってそのStyleSheetをリンクさせます。- パラメータ:
url
- URL- 導入されたバージョン:
- 1.3
-
setBase
public void setBase(URL base)ベースを設定します。 相関関係のあるimport文はすべて、base
に関連します。- パラメータ:
base
- ベース。- 導入されたバージョン:
- 1.3
-
getBase
public URL getBase()ベースを返します。- 戻り値:
- 本拠。
- 導入されたバージョン:
- 1.3
-
addCSSAttribute
public void addCSSAttribute(MutableAttributeSet attr, CSS.Attribute key, String value)指定されたセットにCSS属性を追加します。- パラメータ:
attr
- 属性のセットkey
- CSSプロパティvalue
- HTML属性値- 導入されたバージョン:
- 1.3
-
addCSSAttributeFromHTML
public boolean addCSSAttributeFromHTML(MutableAttributeSet attr, CSS.Attribute key, String value)指定されたセットにCSS属性を追加します。- パラメータ:
attr
- 属性のセットkey
- CSSプロパティvalue
- HTML属性値- 戻り値:
- HTML属性
value
をCSS属性に変換できる場合はtrue
、そうでない場合はfalseです。 - 導入されたバージョン:
- 1.3
-
translateHTMLToCSS
public AttributeSet translateHTMLToCSS(AttributeSet htmlAttrSet)HTML属性のセットを、同等のCSS属性のセットに変換します。- パラメータ:
htmlAttrSet
- HTML属性を含むAttributeSet。- 戻り値:
- CSS属性のセット。
-
addAttribute
public AttributeSet addAttribute(AttributeSet old, Object key, Object value)指定されたセットに属性を追加し、その新しいセットを返します。 スーパー・クラスの動作に転送する前に、StyleConstant属性をCSSに変換するために実装し直されます。 StyleConstants属性には、StyleConstants属性が格納される(ただし使われそうにない)、対応するCSSエントリがありません。- 定義:
addAttribute
、インタフェース:AbstractDocument.AttributeContext
- オーバーライド:
addAttribute
、クラス:StyleContext
- パラメータ:
old
- 旧属性セットkey
- null以外の属性キーvalue
- 属性値- 戻り値:
- 更新属性セット
- 関連項目:
MutableAttributeSet.addAttribute(java.lang.Object, java.lang.Object)
-
addAttributes
public AttributeSet addAttributes(AttributeSet old, AttributeSet attr)属性セットを要素に追加します。 属性のどれかがStyleConstants属性の場合、その属性はスーパー・クラスの動作に転送される前にCSSに変換されます。- 定義:
addAttributes
、インタフェース:AbstractDocument.AttributeContext
- オーバーライド:
addAttributes
、クラス:StyleContext
- パラメータ:
old
- 旧属性セットattr
- 追加する属性- 戻り値:
- 更新属性セット
- 関連項目:
MutableAttributeSet.addAttribute(java.lang.Object, java.lang.Object)
-
removeAttribute
public AttributeSet removeAttribute(AttributeSet old, Object key)セットから属性を削除します。 その属性がStyleConstants属性の場合、要求はスーパー・クラスの動作に転送される前にCSS属性に変換されます。- 定義:
removeAttribute
、インタフェース:AbstractDocument.AttributeContext
- オーバーライド:
removeAttribute
、クラス:StyleContext
- パラメータ:
old
- 旧属性セットkey
- null以外の属性名- 戻り値:
- 更新属性セット
- 関連項目:
MutableAttributeSet.removeAttribute(java.lang.Object)
-
removeAttributes
public AttributeSet removeAttributes(AttributeSet old, Enumeration<?> names)要素の属性セットを削除します。 属性のどれかがStyleConstants属性の場合、要求はスーパー・クラスの動作に転送される前にCSS属性に変換されます。- 定義:
removeAttributes
、インタフェース:AbstractDocument.AttributeContext
- オーバーライド:
removeAttributes
、クラス:StyleContext
- パラメータ:
old
- 旧属性セットnames
- 属性名- 戻り値:
- 更新属性セット
- 関連項目:
MutableAttributeSet.removeAttributes(java.util.Enumeration<?>)
-
removeAttributes
public AttributeSet removeAttributes(AttributeSet old, AttributeSet attrs)属性セットを削除します。 属性のどれかがStyleConstants属性の場合、要求はスーパー・クラスの動作に転送される前にCSS属性に変換されます。- 定義:
removeAttributes
、インタフェース:AbstractDocument.AttributeContext
- オーバーライド:
removeAttributes
、クラス:StyleContext
- パラメータ:
old
- 旧属性セットattrs
- 属性- 戻り値:
- 更新属性セット
- 関連項目:
MutableAttributeSet.removeAttributes(java.util.Enumeration<?>)
-
createSmallAttributeSet
protected StyleContext.SmallAttributeSet createSmallAttributeSet(AttributeSet a)共有可能でコンパクトな属性セットを作成します。 これは、サブクラスでSmallAttributeSetの動作を変更する場合に、サブクラスで利用するためのフックです。 このメソッドは、属性変換を提供するAttributeSetを返すために、実装し直すこともできます。- オーバーライド:
createSmallAttributeSet
、クラス:StyleContext
- パラメータ:
a
- コンパクトな形式で表現される属性セット。- 戻り値:
- 共有できるコンパクトな属性のセット
-
createLargeAttributeSet
protected MutableAttributeSet createLargeAttributeSet(AttributeSet a)メモリー効率より処理時間を優先する、大きいサイズの属性セットを作成します。 通常、このセットの共有は困難です。 これは、大きいサイズの属性格納形式(デフォルトではSimpleAttributeSet)の動作をサブクラスで変更する必要がある場合に、サブクラスで利用するためのフックです。 このメソッドは、属性変換を提供するMutableAttributeSetを返すために、実装し直すこともできます。- オーバーライド:
createLargeAttributeSet
、クラス:StyleContext
- パラメータ:
a
- サイズの大きい形式で表現される属性セット。- 戻り値:
- 時間のためにスペースをトレードオフするべきである大きなセットの属性
-
getFont
public Font getFont(AttributeSet a)指定された属性セットで使用するフォントを取得します。- オーバーライド:
getFont
、クラス:StyleContext
- パラメータ:
a
- 属性セット- 戻り値:
- フォント
-
getForeground
public Color getForeground(AttributeSet a)属性セットを取得してフォアグラウンド・カラー指定に変換します。 明るさや色合いなどを強調する場合に使用します。- オーバーライド:
getForeground
、クラス:StyleContext
- パラメータ:
a
- 属性セット- 戻り値:
- 色
-
getBackground
public Color getBackground(AttributeSet a)属性セットを取得してバックグラウンド・カラー指定に変換します。 明るさや色合いなどを強調する場合に使用します。- オーバーライド:
getBackground
、クラス:StyleContext
- パラメータ:
a
- 属性セット- 戻り値:
- 色
-
getBoxPainter
public StyleSheet.BoxPainter getBoxPainter(AttributeSet a)指定されたCSS属性のセットで使用するボックス・フォーマッタを取得します。- パラメータ:
a
- CSS属性のセット- 戻り値:
- ボックス・フォーマッタ。
-
getListPainter
public StyleSheet.ListPainter getListPainter(AttributeSet a)指定されたCSS属性のセットで使用するリスト・フォーマッタを取得します。- パラメータ:
a
- CSS属性のセット- 戻り値:
- リスト・フォーマッタ。
-
setBaseFontSize
public void setBaseFontSize(int sz)1 - 7の有効な値で、ベース・フォント・サイズを設定します。- パラメータ:
sz
- フォント・サイズ。
-
setBaseFontSize
public void setBaseFontSize(String size)渡されたStringからベース・フォント・サイズを設定します。 文字列には、1から7の適正な値で特定のフォント・サイズを指定することも、+1や-2のような相対フォント・サイズを指定することもできます。- パラメータ:
size
- フォント・サイズ。
-
getIndexOfSize
public static int getIndexOfSize(float pt)HTML/CSSサイズ・モデルのインデックスを返します。- パラメータ:
pt
- ポイントの大きさ- 戻り値:
- HTML/CSSサイズ・モデルのインデックス。
-
getPointSize
public float getPointSize(int index)指定されたサイズ・インデックスのポイント・サイズを返します。- パラメータ:
index
- サイズ指数- 戻り値:
- ポイント・サイズの値。
-
getPointSize
public float getPointSize(String size)「+2」、「-2」、「2」などの指定された文字列のポイント・サイズ値を返します。- パラメータ:
size
- フォント・サイズを記述するCSS文字列- 戻り値:
- ポイント・サイズの値。
-
stringToColor
「RED」または「#NNNNNN」などの色文字列をColorに変換します。 ノート: HTML3.2準拠の色文字列または長さ7の文字列だけを変換し、それ以外はnullを返すことに注意してください。- パラメータ:
string
- "RED"や"#NNNNNN"などの色文字列- 戻り値:
- 色
-