public final class NimbusStyle extends SynthStyle
一个synthstyle实现用灵气。每个地区,已与nimbuslookandfeel注册将有关联的nimbusstyle。是与nimbuslookandfeel注册第三方组件,因此将手从看nimbusstyle感觉从# getstyle(JComponent,地区)的方法。
这类正确读取和检索的值放在uidefaults根据标准灵气的命名约定。它将创建和检索画家,字体,颜色和其他存储在那里的数据。
nimbusstyle也支持覆盖设置每一个组件的基础上的能力。nimbusstyle检查组件的客户端属性映射为“灵气。重写”。如果该键所关联的值是uidefaults实例,然后在默认表将覆盖默认值”标准的灵气,但对于组件实例。
或者,你可以指定客户的财产”inheritdefaults灵气。重写。”。如果是真的,这个客户属性表示默认位于”应该先读,然后更换位于组件的客户端属性默认值。如果是错误的,那么只有位于组件客户端属性Map中的默认值将被使用。如果没有指定,它被假定为是真的。
您必须指定“灵气。重写”为“灵气。重写。inheritdefaults”有任何影响。”灵气。覆盖”指示是否有任何覆盖,而“灵气。重写。inheritdefaults”表示是否重写首先应该从”默认值初始化。
的nimbusstyle加载当属性改变事件是一个“光轮组件发射。覆盖”或“灵气。重写。inheritdefaults”。例如,在一个新的uidefaults组件会导致风格被重载。
价值观是只看了一个,然后缓存。如果你需要再次读值(例如,如果用户正在加载),然后抛弃这nimbusstyle从nimbuslookandfeel使用nimbuslookandfeel.getstyle读一个新的。
对这类第三方组件作者的主要API三种检索画家:# getbackgroundpainter,# getforegroundpainter,和# getborderpainter。
nimbusstyle允许您指定的自定义状态,或修改国家秩序。合成器(因此灵气)有“状态”的概念。例如,一个JButton可能在“mouse_over”状态,或“已启用”状态,或“禁用”状态。这些都是“标准”的状态,定义在合成器,并适用于所有的合成器的地区。
然而,有时,你需要有一个自定义状态。例如,你想让JButton呈现不同的如果它的母公司是一家jtoolbar。在Nimbus,你指定这些自定义状态包括在UIDefaults一个特殊的关键。以下uidefaults条目定义三态按钮:
JButton.States = Enabled, Disabled, Toolbar
JButton[Enabled].backgroundPainter = somePainter
JButton[Disabled].background = BLUE
JButton[Toolbar].backgroundPainter = someOtherPaint
你可以看到,这JButton.States
条目列出JButton风格将支持美国。然后为每个状态指定设置。如果你不指定JButton.States
条目,然后标准合成的国家将承担。如果您指定的入口但状态列表为空或零,那么标准的合成状态将被假定。
Modifier and Type | Field and Description |
---|---|
static String |
LARGE_KEY |
static double |
LARGE_SCALE |
static String |
MINI_KEY |
static double |
MINI_SCALE |
static String |
SMALL_KEY |
static double |
SMALL_SCALE |
Modifier and Type | Method and Description |
---|---|
Object |
get(SynthContext ctx, Object key)
对于一个特定区域的样式属性的getter。
|
Painter |
getBackgroundPainter(SynthContext ctx)
获取适当的背景的画家,如果有一个,在给定的synthcontext指定的状态。
|
Painter |
getBorderPainter(SynthContext ctx)
获取适当的边界的画家,如果有一个,在给定的synthcontext指定的状态。
|
protected Color |
getColorForState(SynthContext ctx, ColorType type)
返回指定状态的颜色。
|
protected Font |
getFontForState(SynthContext ctx)
返回指定状态的字体。
|
Painter |
getForegroundPainter(SynthContext ctx)
获取适当的前景的画家,如果有一个,在给定的synthcontext指定的状态。
|
Insets |
getInsets(SynthContext ctx, Insets in)
返回用于计算尺寸信息的插图。
|
SynthPainter |
getPainter(SynthContext ctx)
返回
SynthPainter 将用于绘画。
|
void |
installDefaults(SynthContext ctx)
安装必要的状态从这种风格上的
JComponent
context 。
|
boolean |
isOpaque(SynthContext ctx)
如果区域是不透明的,则返回真。
|
getBoolean, getColor, getFont, getGraphicsUtils, getIcon, getInt, getString, uninstallDefaults
public static final String LARGE_KEY
public static final String SMALL_KEY
public static final String MINI_KEY
public static final double LARGE_SCALE
public static final double SMALL_SCALE
public static final double MINI_SCALE
public void installDefaults(SynthContext ctx)
JComponent
context
。重写造成这种风格与数据从uidefaults填充自己,如果必要的话。
installDefaults
方法重写,继承类
SynthStyle
ctx
- synthcontext识别组件安装特性。
public Insets getInsets(SynthContext ctx, Insets in)
getInsets
方法重写,继承类
SynthStyle
ctx
- synthcontext识别请求者
in
-昆虫的地方返回值。
protected Color getColorForState(SynthContext ctx, ColorType type)
JComponent
任何方法。
导致这种风格重写数据从uidefaults繁殖自己,如果必要的话。
此外,nimbusstyle处理colortypes略有不同的合成器。
getColorForState
方法重写,继承类
SynthStyle
ctx
- synthcontext识别请求者
type
-颜色被请求的类型。
protected Font getFontForState(SynthContext ctx)
JComponent
任何方法。导致这种风格重写数据从uidefaults繁殖自己,如果必要的话。如果一个值为“字体”不在UIDefaults,那么“DefaultFont中“字体uidefaults将返回。
getFontForState
方法重写,继承类
SynthStyle
ctx
- synthcontext识别请求者
public SynthPainter getPainter(SynthContext ctx)
SynthPainter
将用于绘画。这可能返回空。返回此风格的方式,最终将安装在这种风格的画家。
getPainter
方法重写,继承类
SynthStyle
ctx
- synthcontext识别请求者
public boolean isOpaque(SynthContext ctx)
isOpaque
方法重写,继承类
SynthStyle
ctx
- synthcontext识别请求者
public Object get(SynthContext ctx, Object key)
导致这种风格重写数据从uidefaults繁殖自己,如果必要的话。
性能uidefaults可以在链接方式指定。例如:
背景button.opacitybutton.enabled.foregroundselected.background启用+按钮。
在这个示例中,假设您处于“启用+选择”状态,并搜索“前台”。在这种情况下,我们首先检查按钮。启用+ selected.foreground,但没有这种颜色的存在。然后我们回到下一个有效的状态,在这种情况下,button.enabled.foreground,与比赛。因此,我们返回它。
再次,如果我们在启用状态并寻找“背景”,我们就不会在按钮找到它。启用,或按钮,但会在UIManager的最高水平。因此,我们返回该值。
一个特别说明:“钥匙”,通过这种方法可以形成“背景”或“按钮背景”,“按钮”为前缀的nimbusstyle传递给构造函数。在这两种情况下,它看起来“背景”。
get
方法重写,继承类
SynthStyle
ctx
—
key
-必须不为空
public Painter getBackgroundPainter(SynthContext ctx)
ctx
- synthcontext。不能为空。
public Painter getForegroundPainter(SynthContext ctx)
ctx
- synthcontext。不能为空。
public Painter getBorderPainter(SynthContext ctx)
ctx
- synthcontext。不能为空。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.