public class UIManager extends Object implements Serializable
UIManager
は、現在のルック・アンド・フィール、使用可能なルック・アンド・フィールのセット、ルック・アンド・フィールの変更時に通知を受けるPropertyChangeListeners
、ルック・アンド・フィールのデフォルト値、およびさまざまなデフォルト値を取得するために使用する簡易メソッドを管理します。
LookAndFeel
のインスタンスを作成し、setLookAndFeel
に渡す方法です。 次に、システムのルック・アンド・フィールにルック・アンド・フィールを設定する例を示します。
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());次に、クラス名を指定してルック・アンド・フィールを設定する例を示します。
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");ルック・アンド・フィールを変更したら必ず、すべての
JComponents
上でupdateUI
を呼び出します。 SwingUtilities.updateComponentTreeUI(java.awt.Component)
メソッドを使用すると、包含関係の階層にupdateUI
を簡単に適用できます。 詳細は、そちらを参照してください。 ルック・アンド・フィールの変更後、updateUI
を呼び出さなかった場合の正確な動作は指定されていません。 予期しない例外、ペイントの問題、またはそれ以上に困った事態が発生する可能性が高いです。
swing.defaultlaf
がnon-null
の場合、このプロパティの値をデフォルトのルック・アンド・フィールのクラス名として使用します。
Properties
ファイルのswing.properties
が存在し、キーswing.defaultlaf
が格納されている場合、その値をデフォルトのルック・アンド・フィールのクラス名として使用します。 swing.properties
が確認される場所は、Javaプラットフォームの実装によって異なる可能性があります。 通常、swing.properties
ファイルはJavaインストール・ディレクトリのlib
サブディレクトリにあります。 詳細は、使用する実装のリリース・ノートを参照してください。
UIManager
は、UIDefaults
のセットを3組管理します。 これらは順番に、次のとおりです。
setLookAndFeel()
が呼び出されたとき)、このルック・アンド・フィールによって提供されます。 ルック・アンド・フィールのデフォルトは、getLookAndFeelDefaults()
メソッドを使って取得できます。
get
メソッドを呼び出しても、各デフォルトが順番にチェックされ、最初に見つかったnon-null
の値が返されます。 たとえば、UIManager.getString("Table.foreground")
を呼び出した場合、最初に開発者のデフォルトがチェックされます。 開発者のデフォルトに"Table.foreground"
の値が含まれていれば、その値が返されます。そうでない場合は、ルック・アンド・フィールのデフォルト、続いてシステムのデフォルトがチェックされます。
getDefaults
は、この解決ロジックが組み込まれたUIDefaults
のカスタム・インスタンスを返します。 たとえば、UIManager.getDefaults().getString("Table.foreground")
はUIManager.getString("Table.foreground")
と同等です。 どちらも、ここで説明したアルゴリズムに従って解決します。 ドキュメント内では、多くの場合、上記の解決ロジックを備えたUIDefaults
のカスタム・インスタンスを「デフォルト」と呼びます。
ルック・アンド・フィールが変更された場合、UIManager
はルック・アンド・フィールのデフォルトだけを変更します。UIManager
が開発者のデフォルトやシステムのデフォルトを変更することはありません。
特定のルック・アンド・フィールでサポートされるデフォルトのセットは、そのルック・アンド・フィールに定義され、ドキュメント化されています。 さらに、個々のルック・アンド・フィール (または任意のルック・アンド・フィールが提供するComponentUI
)が、それぞれのライフ・サイクル内の異なった時期にデフォルトにアクセスする場合があります。 積極的にデフォルトを検索するルック・アンド・フィールもあれば(この場合、ルック・アンド・フィールのインストール後にデフォルトに変更を加えても効果はない)、めったにデフォルトにアクセスしないルック・アンド・フィールもあります。 (この場合、デフォルトの変更が既存のルック・アンド・フィールに影響を及ぼす) 結局、その他のルック・アンド・フィールは、デフォルト・テーブルから自身の設定を行わない可能性があります。 それにもかかわらず、通常、ルック・アンド・フィールはなんらかのデフォルトを求めます。このため、一般に、あるルック・アンド・フィールが提供するComponentUI
は、別のルック・アンド・フィールでは動作しません。
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースとの互換性がなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4以降、すべてのJavaBeans™用の長期間の格納サポートがjava.beans
パッケージに追加されています。 XMLEncoder
を参照してください。
修飾子と型 | クラス | 説明 |
---|---|---|
static class |
UIManager.LookAndFeelInfo |
メニューの設定またはアプリケーションの初期設定のための、インストール済み
LookAndFeel に関する概要を説明します。 |
コンストラクタ | 説明 |
---|---|
UIManager() |
修飾子と型 | メソッド | 説明 |
---|---|---|
static void |
addAuxiliaryLookAndFeel(LookAndFeel laf) |
LookAndFeel を補助的なルック・アンド・フィールのリストに追加します。 |
static void |
addPropertyChangeListener(PropertyChangeListener listener) |
リスナー・リストに
PropertyChangeListener を追加します。 |
static Object |
get(Object key) |
デフォルトからオブジェクトを返します。
|
static Object |
get(Object key, Locale l) |
デフォルトから、指定されたロケールに適したオブジェクトを返します。
|
static LookAndFeel[] |
getAuxiliaryLookAndFeels() |
補助的なルック・アンド・フィールのリストを返します。ただし、
null の場合もあります。 |
static boolean |
getBoolean(Object key) |
デフォルトから、キーの値に関連付けられたboolean値を返します。
|
static boolean |
getBoolean(Object key, Locale l) |
デフォルトから、キーの値および指定された
Locale に関連付けられたboolean値を返します。 |
static Border |
getBorder(Object key) |
デフォルトからボーダーを返します。
|
static Border |
getBorder(Object key, Locale l) |
デフォルトから、指定されたロケールに適したボーダーを返します。
|
static Color |
getColor(Object key) |
デフォルトから色を返します。
|
static Color |
getColor(Object key, Locale l) |
デフォルトから、指定されたロケールに適した色を返します。
|
static String |
getCrossPlatformLookAndFeelClassName() |
デフォルト・クロス・プラットフォームのルック・アンド・フィール、つまりJava ルック・アンド・フィール (JLF)を実装する
LookAndFeel クラスの名前を返します。 |
static UIDefaults |
getDefaults() |
デフォルトを返します。
|
static Dimension |
getDimension(Object key) |
デフォルトから寸法を返します。
|
static Dimension |
getDimension(Object key, Locale l) |
デフォルトから、指定されたロケールに適した寸法を返します。
|
static Font |
getFont(Object key) |
デフォルトからフォントを返します。
|
static Font |
getFont(Object key, Locale l) |
デフォルトから、指定されたロケールに適したフォントを返します。
|
static Icon |
getIcon(Object key) |
デフォルトから
Icon を返します。 |
static Icon |
getIcon(Object key, Locale l) |
デフォルトから、指定されたロケールに適した
Icon を返します。 |
static Insets |
getInsets(Object key) |
デフォルトから
Insets オブジェクトを返します。 |
static Insets |
getInsets(Object key, Locale l) |
デフォルトから、指定されたロケールに適した
Insets オブジェクトを返します。 |
static UIManager.LookAndFeelInfo[] |
getInstalledLookAndFeels() |
現在使用可能な
LookAndFeel の実装を表すLookAndFeelInfo の配列を返します。 |
static int |
getInt(Object key) |
デフォルトからint値を返します。
|
static int |
getInt(Object key, Locale l) |
デフォルトから、指定されたロケールに適したint値を返します。
|
static LookAndFeel |
getLookAndFeel() |
現在のルック・アンド・フィール、または
null を返します。 |
static UIDefaults |
getLookAndFeelDefaults() |
現在のルック・アンド・フィールがインストールされたとき取得された、このルック・アンド・フィールの
UIDefaults を返します。 |
static PropertyChangeListener[] |
getPropertyChangeListeners() |
addPropertyChangeListener()を使用してこのUIManagerに追加されているすべての
PropertyChangeListener の配列を返します。 |
static String |
getString(Object key) |
デフォルトから文字列を返します。
|
static String |
getString(Object key, Locale l) |
デフォルトから、指定されたロケールに適した文字列を返します。
|
static String |
getSystemLookAndFeelClassName() |
ネイティブ・システムのルック・アンド・フィールを実装する
LookAndFeel クラスの名前があればそれを返し、そうでない場合はデフォルトのクロス・プラットフォームのLookAndFeel クラスの名前を返します。 |
static ComponentUI |
getUI(JComponent target) |
target に適したComponentUI 実装を返します。 |
static void |
installLookAndFeel(String name, String className) |
使用可能なルック・アンド・フィールのセットに、指定されたルック・アンド・フィールを追加します。
|
static void |
installLookAndFeel(UIManager.LookAndFeelInfo info) |
使用可能なルック・アンド・フィールのセットに、指定されたルック・アンド・フィールを追加します。
|
static Object |
put(Object key, Object value) |
開発者のデフォルトにオブジェクトを格納します。
|
static boolean |
removeAuxiliaryLookAndFeel(LookAndFeel laf) |
LookAndFeel を補助的なルック・アンド・フィールのリストから削除します。 |
static void |
removePropertyChangeListener(PropertyChangeListener listener) |
PropertyChangeListener をリスナー・リストから削除します。 |
static void |
setInstalledLookAndFeels(UIManager.LookAndFeelInfo[] infos) |
使用可能なルック・アンド・フィールのセットを設定します。
|
static void |
setLookAndFeel(LookAndFeel newLookAndFeel) |
newLookAndFeel を現在のルック・アンド・フィールとして設定します。 |
static void |
setLookAndFeel(String className) |
現在のスレッドのコンテキスト・クラス・ローダーを使って指定のクラス名で示される
LookAndFeel をロードし、setLookAndFeel(LookAndFeel) に渡します。 |
public static UIManager.LookAndFeelInfo[] getInstalledLookAndFeels()
LookAndFeel
の実装を表すLookAndFeelInfo
の配列を返します。 アプリケーションはLookAndFeelInfo
オブジェクトを使用して、ユーザー用ルック・アンド・フィールオプションのメニューを構築したり、起動時に設定するルック・アンド・フィールを決定したりできます。 大量のLookAndFeel
オブジェクトの生成による負荷を避けるため、LookAndFeelInfo
は、実際のLookAndFeel
インスタンスではなく、LookAndFeel
クラスのクラス名を管理します。
次に、LookAndFeelInfo
のインスタンスから現在のルック・アンド・フィールを設定する例を示します。
UIManager.setLookAndFeel(info.getClassName());
LookAndFeelInfo
オブジェクトの配列setLookAndFeel(javax.swing.LookAndFeel)
public static void setInstalledLookAndFeels(UIManager.LookAndFeelInfo[] infos) throws SecurityException
LookAndFeelInfos
がnon-null
であるかどうかをチェックするわけではありませんが、infos
配列にはnon-null
の値だけを指定することを強くお勧めします。 infos
- 使用可能なルック・アンド・フィールを指定するLookAndFeelInfo
オブジェクトのセットNullPointerException
- infos
がnull
である場合SecurityException
getInstalledLookAndFeels()
public static void installLookAndFeel(UIManager.LookAndFeelInfo info)
null
info
を許容しますが、non-null
の値を使用することを強くお勧めします。 info
- ルック・アンド・フィールを指定し、そのルック・アンド・フィールを実装するクラスを識別するLookAndFeelInfo
オブジェクトsetInstalledLookAndFeels(javax.swing.UIManager.LookAndFeelInfo[])
public static void installLookAndFeel(String name, String className)
non-null
の値を使用することを強くお勧めします。 name
- ルック・アンド・フィールの説明的な名前className
- このルック・アンド・フィールを実装するクラスの名前setInstalledLookAndFeels(javax.swing.UIManager.LookAndFeelInfo[])
public static LookAndFeel getLookAndFeel()
null
を返します。null
setLookAndFeel(javax.swing.LookAndFeel)
public static void setLookAndFeel(LookAndFeel newLookAndFeel) throws UnsupportedLookAndFeelException
newLookAndFeel
を現在のルック・アンド・フィールとして設定します。 現在のルック・アンド・フィールがnon-null
である場合、その上でuninitialize
が呼び出されます。 newLookAndFeel
がnon-null
である場合、その上でinitialize
が呼び出され、続いてgetDefaults
が呼び出されます。 それまでのルック・アンド・フィールのデフォルトは、newLookAndFeel.getDefaults()
が返すデフォルトに置き換えられます。 newLookAndFeel
がnull
の場合、ルック・アンド・フィールのデフォルトはnull
に設定されます。
値null
は、ルック・アンド・フィールをnull
に設定する場合に使用できます。 ほとんどの場合、Swingを機能させるためにはLookAndFeel
が必要です。したがって、LookAndFeel
をnull
に設定することはまったくお薦めしません。
これはJavaBeansバウンド・プロパティです。
newLookAndFeel
- インストールするLookAndFeel
UnsupportedLookAndFeelException
- newLookAndFeel
がnon-null
で、newLookAndFeel.isSupportedLookAndFeel()
がfalse
を返す場合getLookAndFeel()
public static void setLookAndFeel(String className) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException
LookAndFeel
をロードし、setLookAndFeel(LookAndFeel)
に渡します。className
- ルック・アンド・フィールを実装するクラスの名前を指定する文字列ClassNotFoundException
- LookAndFeel
クラスが見つからなかった場合InstantiationException
- クラスの新しいインスタンスを生成できなかった場合IllegalAccessException
- クラスまたは初期化子にアクセスできない場合UnsupportedLookAndFeelException
- lnf.isSupportedLookAndFeel()
がfalseの場合ClassCastException
- LookAndFeel
を拡張するクラスを、className
で識別できない場合public static String getSystemLookAndFeelClassName()
LookAndFeel
クラスの名前があればそれを返し、そうでない場合はデフォルトのクロス・プラットフォームのLookAndFeel
クラスの名前を返します。 この値は、swing.systemlaf
システム・プロパティを設定することによりオーバーライドできます。 LookAndFeel
クラスのString
setLookAndFeel(javax.swing.LookAndFeel)
, getCrossPlatformLookAndFeelClassName()
public static String getCrossPlatformLookAndFeelClassName()
LookAndFeel
クラスの名前を返します。 この値は、swing.crossplatformlaf
システム・プロパティを設定することによりオーバーライドできます。 setLookAndFeel(javax.swing.LookAndFeel)
, getSystemLookAndFeelClassName()
public static UIDefaults getDefaults()
UIDefaults
オブジェクトpublic static Font getFont(Object key)
key
の値がFont
でない場合、null
が返されます。 key
- フォントを指定するObject
Font
オブジェクトNullPointerException
- key
がnull
である場合public static Font getFont(Object key, Locale l)
key
の値がFont
でない場合、null
が返されます。 key
- フォントを指定するObject
l
- そのフォントが適しているLocale
。Locale
がnull
の場合の処理方法については、UIDefaults
を参照Font
オブジェクトNullPointerException
- key
がnull
である場合public static Color getColor(Object key)
key
の値がColor
でない場合、null
が返されます。 key
- 色を指定するObject
Color
オブジェクトNullPointerException
- key
がnull
である場合public static Color getColor(Object key, Locale l)
key
の値がColor
でない場合、null
が返されます。 key
- 色を指定するObject
l
- その色が適しているLocale
。Locale
がnull
の場合の処理方法については、UIDefaults
を参照Color
オブジェクトNullPointerException
- key
がnull
である場合public static Icon getIcon(Object key)
Icon
を返します。 key
の値がIcon
でない場合、null
が返されます。 key
- アイコンを指定するObject
Icon
オブジェクトNullPointerException
- key
がnull
である場合public static Icon getIcon(Object key, Locale l)
Icon
を返します。 key
の値がIcon
でない場合、null
が返されます。 key
- アイコンを指定するObject
l
- そのアイコンが適しているLocale
。Locale
がnull
の場合の処理方法については、UIDefaults
を参照Icon
オブジェクトNullPointerException
- key
がnull
である場合public static Border getBorder(Object key)
key
の値がBorder
でない場合、null
が返されます。 key
- ボーダーを指定するObject
Border
オブジェクトNullPointerException
- key
がnull
である場合public static Border getBorder(Object key, Locale l)
key
の値がBorder
でない場合、null
が返されます。 key
- ボーダーを指定するObject
l
- そのボーダーが適しているLocale
。Locale
がnull
の場合の処理方法については、UIDefaults
を参照Border
オブジェクトNullPointerException
- key
がnull
である場合public static String getString(Object key)
key
の値がString
でない場合、null
が返されます。 key
- 文字列を指定するObject
String
NullPointerException
- key
がnull
である場合public static String getString(Object key, Locale l)
key
の値がString
でない場合、null
が返されます。 key
- 文字列を指定するObject
l
- その文字列が適しているLocale
。Locale
がnull
の場合の処理方法については、UIDefaults
を参照String
NullPointerException
- key
がnull
である場合public static int getInt(Object key)
key
の値がInteger
でない場合や存在しない場合は、0
が返されます。 key
- int値を指定するObject
NullPointerException
- key
がnull
である場合public static int getInt(Object key, Locale l)
key
の値がInteger
でない場合や存在しない場合は、0
が返されます。 key
- int値を指定するObject
l
- そのint値が適しているLocale
。Locale
がnull
の場合の処理方法については、UIDefaults
を参照NullPointerException
- key
がnull
である場合public static boolean getBoolean(Object key)
false
が返されます。 key
- 目的のboolean値のキーを指定するObject
NullPointerException
- key
がnull
である場合public static boolean getBoolean(Object key, Locale l)
Locale
に関連付けられたboolean値を返します。 キーが見つからない場合、またはキーがboolean値で表されていない場合、false
が返されます。 key
- 目的のboolean値のキーを指定するObject
l
- そのboolean値が適しているLocale
。Locale
がnull
の場合の処理方法については、UIDefaults
を参照NullPointerException
- key
がnull
である場合public static Insets getInsets(Object key)
Insets
オブジェクトを返します。 key
の値がInsets
でない場合、null
が返されます。 key
- Insets
オブジェクトを指定するObject
Insets
オブジェクトNullPointerException
- key
がnull
である場合public static Insets getInsets(Object key, Locale l)
Insets
オブジェクトを返します。 key
の値がInsets
でない場合、null
が返されます。 key
- Insets
オブジェクトを指定するObject
l
- そのオブジェクトが適しているLocale
。Locale
がnull
の場合の処理方法については、UIDefaults
を参照Insets
オブジェクトNullPointerException
- key
がnull
である場合public static Dimension getDimension(Object key)
key
の値がDimension
でない場合、null
が返されます。 key
- 寸法オブジェクトを指定するObject
Dimension
オブジェクトNullPointerException
- key
がnull
である場合public static Dimension getDimension(Object key, Locale l)
key
の値がDimension
でない場合、null
が返されます。 key
- 寸法オブジェクトを指定するObject
l
- そのオブジェクトが適しているLocale
。Locale
がnull
の場合の処理方法については、UIDefaults
を参照Dimension
オブジェクトNullPointerException
- key
がnull
である場合public static Object get(Object key)
key
- 目的のオブジェクトを指定するObject
Object
NullPointerException
- key
がnull
である場合public static Object get(Object key, Locale l)
key
- 目的のオブジェクトを指定するObject
l
- そのオブジェクトが適しているLocale
。Locale
がnull
の場合の処理方法については、UIDefaults
を参照Object
NullPointerException
- key
がnull
である場合public static Object put(Object key, Object value)
getDefaults().put(key, value)
のカバー・メソッドです。 このメソッドは、開発者のデフォルトのみに影響を及ぼします。システムのデフォルトやルック・アンド・フィールのデフォルトに影響はありません。 key
- 検索キーを指定するObject
value
- 格納するObject
。null
の場合の処理方法についてはUIDefaults
を参照UIDefaults.put(java.lang.Object, java.lang.Object)
によって返されたObject
NullPointerException
- key
がnull
である場合UIDefaults.put(java.lang.Object, java.lang.Object)
public static ComponentUI getUI(JComponent target)
target
に適したComponentUI
実装を返します。 通常これは、getDefaults().getUI(target)
のカバー・メソッドです。 しかし、補助的なルック・アンド・フィールがインストールされている場合、このメソッドは、まず多重化したルック・アンド・フィールのデフォルト上でgetUI(target)
を呼び出し、non-null
の値だった場合はその値を返します。 target
- ComponentUI
を返されるJComponent
target
のComponentUI
オブジェクトNullPointerException
- target
がnull
である場合UIDefaults.getUI(javax.swing.JComponent)
public static UIDefaults getLookAndFeelDefaults()
UIDefaults
を返します。
通常、開発者は、getDefaults()
から返されるUIDefaults
を使用してください。 現在のルック・アンド・フィールは、特定の値の存在を求める可能性があります。このため、このメソッドから返されるUIDefaults
を変更すると、予期しない結果になる可能性があります。
UIDefaults
getDefaults()
, setLookAndFeel(LookAndFeel)
, LookAndFeel.getDefaults()
public static void addAuxiliaryLookAndFeel(LookAndFeel laf)
LookAndFeel
を補助的なルック・アンド・フィールのリストに追加します。 補助的なルック・アンド・フィールは、多重化UIの作成時にデフォルトのLookAndFeel
クラスに加えて使用するコンポーネント・インスタンスのLookAndFeel
クラスを、多重化したルック・アンド・フィールに通知します。 変更が有効になるのは、新しいUIクラスが作成されるときと、デフォルトのルック・アンド・フィールがコンポーネント・インスタンスで変更されるときだけです。
これらはインストール済みのルック・アンド・フィールとは異なります。
laf
- LookAndFeel
オブジェクトremoveAuxiliaryLookAndFeel(javax.swing.LookAndFeel)
, setLookAndFeel(javax.swing.LookAndFeel)
, getAuxiliaryLookAndFeels()
, getInstalledLookAndFeels()
public static boolean removeAuxiliaryLookAndFeel(LookAndFeel laf)
LookAndFeel
を補助的なルック・アンド・フィールのリストから削除します。 補助的なルック・アンド・フィールは、多重化UIの作成時にデフォルトのLookAndFeel
クラスに加えて使用するコンポーネント・インスタンスのLookAndFeel
クラスを、多重化したルック・アンド・フィールに通知します。 変更が有効になるのは、新しいUIクラスが作成されるときと、デフォルトのルック・アンド・フィールがコンポーネント・インスタンスで変更されるときだけです。
これらはインストール済みのルック・アンド・フィールとは異なります。
LookAndFeel
がリストから削除された場合はtrueremoveAuxiliaryLookAndFeel(javax.swing.LookAndFeel)
, getAuxiliaryLookAndFeels()
, setLookAndFeel(javax.swing.LookAndFeel)
, getInstalledLookAndFeels()
public static LookAndFeel[] getAuxiliaryLookAndFeels()
null
の場合もあります。 補助的なルック・アンド・フィールは、多重化UIの作成時にデフォルトのLookAndFeelクラスに加えて使用するコンポーネント・インスタンスのLookAndFeel
クラスを、多重化したルック・アンド・フィールに通知します。
これらはインストール済みのルック・アンド・フィールとは異なります。
LookAndFeel
のリストまたはnull
addAuxiliaryLookAndFeel(javax.swing.LookAndFeel)
, removeAuxiliaryLookAndFeel(javax.swing.LookAndFeel)
, setLookAndFeel(javax.swing.LookAndFeel)
, getInstalledLookAndFeels()
public static void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener
を追加します。 リスナーは、すべてのプロパティに対して登録されます。 listener
- 追加されるPropertyChangeListener
PropertyChangeSupport
public static void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListener
をリスナー・リストから削除します。 すべてのプロパティに登録されたPropertyChangeListener
を削除します。 listener
- 削除するPropertyChangeListener
PropertyChangeSupport
public static PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener
の配列を返します。PropertyChangeListener
。リスナーが追加されていない場合は空の配列 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。