1

から継承するルック アンド フィールを作成していますNimbusLookAndFeel。カスタム Painter を使用するために独自のコンポーネントを登録する方法を教えてください。

たとえば、JButtonこのButtonPainterクラスのようなものがペイントされていました。また、さまざまな状態を登録する方法を知りたいです(例BACKGROUND_ENABLEDBACKGROUND_FOCUSED...)

これを行う方法を教えてもらえますか?実際に私がやりたいのは、カスタムのタブ付きペインであり、これは独自のペインターを使用することです。

編集:うーん、よく説明していないと思います。

たとえば、カスタム コンポーネントを作成したいのですがMyCustomTabbedPane、これは Nimbus から継承したルック アンド フィールからスタイル設定します。MyCustomTabbedPaneUI作成など、独自の UI クラスを登録できますuiDefault.put("MyCustomTabbedPaneUI", new MyCustomTabbedPaneUI())か?

独自の UI クラスを作成するには、どのロジックにこのクラスを持たせる必要がありますか?

もう 1 つの質問は、このクラス Painter をどのように割り当てるかです。たとえばMyCustomTabbedPanePainter、独自のコンポーネントの状態を定義する方法BACKGROUND_ENABLEDです。

よろしくお願いします!

4

1 に答える 1

3
  1. Nimbus に基づくルック アンド フィールがいくつかあります。

  2. 別のオプションとして、customize にはいくつかのカスタム回避策があります。Nimbus Look and Feel最も複雑なものの 1 つは、@aephyr による NimbusThemeCreator (Java6 のインポート???) です。

  3. 最も困難な方法は、作成own xml file (see point 2nd.)してオーバーライドする必要がありall keys for UIManager、1 つの場所にあるすべてが@camickr による UIManager Defaults です。

  4. 最も簡単な方法は、 Primary Colors と Secondary Colorsのみをオーバーライドし、ほとんどの場合Colorsに適用されて有効になることです。JComponents

  5. Renderersとは別の問題であり、標準を使用するか、このキーもオーバーライドするHighlighterかを決定する必要がありXxxRendererます。Nimbus UIDefaultsRendererJComponentColorsRendererUIDefaults

于 2013-01-24T14:09:43.197 に答える