クラスState<T extends JComponent>
- 型パラメータ:
T- 状態を照会するコンポーネントのタイプ
Nimbus内の組み込みまたはカスタムの状態を表します。
Synthでは、次のようないくつかの組込み状態が提供されています。
- 有効
- マウス・オーバー
- 押下
- 無効
- フォーカス
- 選択済
- デフォルト
ただし、LookAndFeelで記述できる状態がさらに多数あるため、これらの異なる状態に基づいてコンポーネントのスタイルを別々に設定することをお勧めします。 たとえば、進捗バーを「不確定」にできます。 これを「状態」として定義できると非常に便利です。
このStateクラスは、このような状況で使用することを目的としています。 #isInState抽象メソッドを実装するだけです。 指定されたJComponentが「この状態にある」場合はtrueを返し、それ以外の場合はfalseを返します。 このメソッドはパフォーマンスが重要なループで何度も呼び出されます。 そのため、非常に高速に実行する必要があります。
たとえば、JProgressBarのカスタムの「Indeterminate」状態を次のように実装できます。
public final class IndeterminateState extends State<JProgressBar> {
public IndeterminateState() {
super("Indeterminate");
}
@Override
protected boolean isInState(JProgressBar c) {
return c.isIndeterminate();
}
}
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
クラスオブジェクトで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait修飾子と型メソッド説明protected Objectclone()このオブジェクトのコピーを作成して、返します。booleanこのオブジェクトと他のオブジェクトが等しいかどうかを示します。protected voidfinalize()削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。最終決定は非推奨であり、将来のリリースで削除される可能性があります。final Class<?> getClass()このObjectの実行時クラスを返します。inthashCode()このオブジェクトに対するハッシュ・コード値を返します。final voidnotify()このオブジェクトのモニターで待機中のスレッドを1つ再開します。final voidこのオブジェクトのモニターで待機中のすべてのスレッドを再開します。toString()オブジェクトの文字列表現を返します。final voidwait()現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。final voidwait(long timeoutMillis) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。final voidwait(long timeoutMillis, int nanos) 現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
-
コンストラクタの詳細
-
State
protected State(String name) 新しいカスタムStateを作成します。 状態の名前を指定します。 この名前は、任意の特定コンポーネントの状態セット内で一意になるようにしてください。 状態の名前は、UIDefaultsで使用される名前と一致するようにしてください。
たとえば、次は正しいです。
defaults.put("Button.States", "Enabled, Foo, Disabled"); defaults.put("Button.Foo", new FooState("Foo"));- パラメータ:
name- 状態用の単純でユーザー・フレンドリな名前。「Indeterminate」、「EmbeddedPanel」、「Blurred」など。 最初の文字を大文字するキャメル記法を使用するのが慣例です。
-
-
メソッドの詳細
-
isInState
protected abstract boolean isInState(T c) 指定されたJComponentがこのクラスによって表されたカスタム状態にあるかどうかを取得します。 これは、非常にパフォーマンスが重要なループです。 適切な予防措置を講じて、高速に実行されるようにしてください。
Nimbusは、このメソッドを使用してJComponentがどの状態にあるかを判断できます。 たとえば、JProgressBarが不確定の場合に
trueを返すようなカスタムのStateがJProgressBar用に存在できます。 このメソッドのそのような実装は単純に次のようになります。return c.isIndeterminate();- パラメータ:
c- テストするJComponent。 nullは不可。- 戻り値:
cの状態がこのStateインスタンスで表されるカスタム状態である場合はtrue
-