1

我正在创建一种继承自的外观,NimbusLookAndFeel并让我知道如何注册自己的组件以使用他们的自定义 Painter。

例如,曾经画过一个JButton像这样的类。ButtonPainter还想知道如何注册不同的状态(例如BACKGROUND_ENABLEDBACKGROUND_FOCUSED...)

你能指导我如何做到这一点吗?实际上我想做的是一个自定义的选项卡式窗格,并且使用他们自己的 Painter。

编辑:嗯,我想我没有解释清楚。

例如,我想制作一个自定义组件,MyCustomTabbedPane并且这个样式来自从 Nimbus 继承的外观。我可以注册自己的 UI 类,例如MyCustomTabbedPaneUI制作uiDefault.put("MyCustomTabbedPaneUI", new MyCustomTabbedPaneUI())吗?

我怎样才能让我自己的 UI 类有什么逻辑应该有这个类?

还有一个问题,我如何分配这个类 Painter,例如MyCustomTabbedPanePainter定义我自己的组件状态,就像 Nimbus 一样,例如BACKGROUND_ENABLED.

谢谢并恭祝安康!

4

1 回答 1

3
  1. 首选方式,有一些基于 Nimbus 的外观和感觉

  2. 另一种选择,有一些自定义解决方法 custom Nimbus Look and Feel,其中最复杂的是@aephyr 的 NimbusThemeCreator(Java6 的导入???)

  3. 最难的方法,必须创建own xml file (see point 2nd.)和覆盖all keys for UIManager,所有东西都在一个地方是@camickr 的 UIManager 默认值

  4. 最简单的方法是仅覆盖Primary Colors 和 Secondary Colors,然后Colors应用并适用于大多数JComponents

  5. Renderers并且Highlighter是单独的问题,必须决定是否使用标准或覆盖这个键,例如XxxRenderer,如果你覆盖Nimbus UIDefaultsRenderer具体的情况下是首选的JComponent,那么Colors取自Renderer不取自UIDefaults

于 2013-01-24T14:09:43.197 回答