クラスStyleSheet
- すべての実装されたインタフェース:
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 final classCSSの書式設定処理の一部を実行するクラスです。static final classCSSリストの書式設定処理の一部を実行するクラスです。クラス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) 属性セットを要素に追加します。voidaddCSSAttribute(MutableAttributeSet attr, CSS.Attribute key, String value) 指定されたセットにCSS属性を追加します。booleanaddCSSAttributeFromHTML(MutableAttributeSet attr, CSS.Attribute key, String value) 指定されたセットにCSS属性を追加します。void規則セットをシートに登録します。voidStyleSheetssの規則を、レシーバの規則に追加します。protected MutableAttributeSetメモリー効率より処理時間を優先する、大きいサイズの属性セットを作成します。protected StyleContext.SmallAttributeSet共有可能でコンパクトな属性セットを作成します。属性セットを取得してバックグラウンド・カラー指定に変換します。getBase()ベースを返します。指定されたCSS属性のセットで使用するボックス・フォーマッタを取得します。getDeclaration(String decl) CSS宣言を、CSS宣言を表す属性セットに変換します。指定された属性セットで使用するフォントを取得します。属性セットを取得してフォアグラウンド・カラー指定に変換します。static intgetIndexOfSize(float pt) HTML/CSSサイズ・モデルの索引を返します。指定されたCSS属性のセットで使用するリスト・フォーマッタを取得します。floatgetPointSize(int index) 指定されたサイズ・インデックスのポイント・サイズを返します。floatgetPointSize(String size) 「+2」、「-2」、「2」などの指定された文字列のポイント・サイズ値を返します。文字列形式で指定されたセレクタにもっとも一致する規則を取り出します。指定されたタイプのHTMLタグを描画するために使用するスタイルを取得します。リンクされたStyleSheetの配列を返します。表示のためにビューで使用される属性セットを取得します。voidimportStyleSheet(URL url) urlからスタイル・シートをインポートします。voidCSS1文法が指定する規則セットをロードします。removeAttribute(AttributeSet old, Object key) セットから属性を削除します。removeAttributes(AttributeSet old, Enumeration<?> names) 要素の属性セットを削除します。removeAttributes(AttributeSet old, AttributeSet attrs) 属性セットを削除します。voidremoveStyle(String nm) 以前にドキュメントに追加された名前付き書式を削除します。voidレシーバのStyleSheetssからStyleSheet ssを削除します。voidベースを設定します。voidsetBaseFontSize(int sz) 1 - 7の有効な値で、ベース・フォント・サイズを設定します。voidsetBaseFontSize(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
-
getRule
文字列形式で指定されたセレクタにもっとも一致する規則を取り出します。selectorは、空白で区切られた要素名のStringです。 たとえば、selectorは「html body tr td」にできます。返されるStyleの属性は、規則が追加されたり削除されたりすると変更されます。 つまり、セレクタtable pを持つ規則を要求する場合、pというセレクタを持つ新しい規則が追加されていると、返されるStyleには規則pからの新しい属性が含まれるということです。
- パラメータ:
selector- 要素名のスペース区切りの文字列。- 戻り値:
- セレクタに最も一致するルール。
-
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 IOException CSS1文法が指定する規則セットをロードします。 既存の規則と競合する場合は、新しく指定される規則が優先します。- パラメータ:
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- a StyleSheet- 導入されたバージョン:
- 1.3
-
removeStyleSheet
public void removeStyleSheet(StyleSheet ss) レシーバのStyleSheetssからStyleSheet ssを削除します。- パラメータ:
ss- a StyleSheet- 導入されたバージョン:
- 1.3
-
getStyleSheets
public StyleSheet[] getStyleSheets()リンクされたStyleSheetの配列を返します。 リンクされたStyleSheetがない場合はnullを返します。- 戻り値:
- StyleSheetsの配列。
- 導入されたバージョン:
- 1.3
-
importStyleSheet
public void importStyleSheet(URL url) urlからスタイル・シートをインポートします。 結果として得られる規則はレシーバに直接登録されます。 規則をレシーバの一部にしたくない場合は、新しいStyleSheetを作成してaddStyleSheet使ってそのStyleSheetをリンクさせます。- パラメータ:
url- an url- 導入されたバージョン:
- 1.3
-
setBase
public void setBase(URL base) ベースを設定します。 相関関係のあるimport文はすべて、baseに関連します。- パラメータ:
base- ベースです。- 導入されたバージョン:
- 1.3
-
getBase
-
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- 属性値- 戻り値:
- 更新属性セット
- 関連項目:
-
addAttributes
public AttributeSet addAttributes(AttributeSet old, AttributeSet attr) 属性セットを要素に追加します。 属性のどれかがStyleConstants属性の場合、その属性はスーパー・クラスの動作に転送される前にCSSに変換されます。- 定義:
addAttributes、インタフェースAbstractDocument.AttributeContext- オーバーライド:
addAttributes、クラスStyleContext- パラメータ:
old- 旧属性セットattr- 追加する属性- 戻り値:
- 更新属性セット
- 関連項目:
-
removeAttribute
public AttributeSet removeAttribute(AttributeSet old, Object key) セットから属性を削除します。 その属性がStyleConstants属性の場合、要求はスーパー・クラスの動作に転送される前にCSS属性に変換されます。- 定義:
removeAttribute、インタフェースAbstractDocument.AttributeContext- オーバーライド:
removeAttribute、クラスStyleContext- パラメータ:
old- 旧属性セットkey- null以外の属性名- 戻り値:
- 更新属性セット
- 関連項目:
-
removeAttributes
public AttributeSet removeAttributes(AttributeSet old, Enumeration<?> names) 要素の属性セットを削除します。 属性のどれかがStyleConstants属性の場合、要求はスーパー・クラスの動作に転送される前にCSS属性に変換されます。- 定義:
removeAttributes、インタフェースAbstractDocument.AttributeContext- オーバーライド:
removeAttributes、クラスStyleContext- パラメータ:
old- 旧属性セットnames- 属性名- 戻り値:
- 更新属性セット
- 関連項目:
-
removeAttributes
public AttributeSet removeAttributes(AttributeSet old, AttributeSet attrs) 属性セットを削除します。 属性のどれかがStyleConstants属性の場合、要求はスーパー・クラスの動作に転送される前にCSS属性に変換されます。- 定義:
removeAttributes、インタフェースAbstractDocument.AttributeContext- オーバーライド:
removeAttributes、クラスStyleContext- パラメータ:
old- 旧属性セットattrs- 属性- 戻り値:
- 更新属性セット
- 関連項目:
-
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
-