public abstract class MetalTheme extends Object
MetalTheme
提供Java Look and Feel使用的调色板和字体。
MetalTheme
是抽象的,看到DefaultMetalTheme
和OceanTheme
的具体实现。
MetalLookAndFeel
保持当前的主题,在该ComponentUI
实现了金属的使用。 有关更改当前主题的详细信息,请参阅MetalLookAndFeel.setCurrentTheme(MetalTheme)
。
MetalTheme
提供了一些获取颜色的公共方法。 这些方法是通过一些受保护的抽象方法实现的。 子类只需要重写保护的抽象方法( getPrimary1
, getPrimary2
, getPrimary3
, getSecondary1
, getSecondary2
和getSecondary3
); 虽然子类可以覆盖其他公共方法,以便更好地控制所使用的一组颜色。
MetalTheme的MetalTheme
必须从所有方法返回non-null
值。 在返回的行为null
没有指定,返回null
会导致不正确的行为。
强烈建议子类返回完全不透明的颜色。 否则可能会导致渲染问题,如可视化垃圾。
Constructor and Description |
---|
MetalTheme() |
public abstract String getName()
protected abstract ColorUIResource getPrimary1()
protected abstract ColorUIResource getPrimary2()
protected abstract ColorUIResource getPrimary3()
protected abstract ColorUIResource getSecondary1()
protected abstract ColorUIResource getSecondary2()
protected abstract ColorUIResource getSecondary3()
public abstract FontUIResource getControlTextFont()
public abstract FontUIResource getSystemTextFont()
public abstract FontUIResource getUserTextFont()
public abstract FontUIResource getMenuTextFont()
public abstract FontUIResource getWindowTitleFont()
public abstract FontUIResource getSubTextFont()
protected ColorUIResource getWhite()
0xFFFFFFFF
)。
protected ColorUIResource getBlack()
0xFF000000
)。
public ColorUIResource getFocusColor()
getPrimary2()
。
public ColorUIResource getDesktopColor()
getPrimary2()
。
public ColorUIResource getControl()
getSecondary3()
。
public ColorUIResource getControlShadow()
getSecondary2()
。
public ColorUIResource getControlDarkShadow()
getSecondary1()
。
public ColorUIResource getControlInfo()
getBlack()
。
public ColorUIResource getControlHighlight()
getWhite()
。
public ColorUIResource getControlDisabled()
getSecondary2()
。
public ColorUIResource getPrimaryControl()
getPrimary3()
。
public ColorUIResource getPrimaryControlShadow()
getPrimary2()
。
public ColorUIResource getPrimaryControlDarkShadow()
getPrimary1()
。
public ColorUIResource getPrimaryControlInfo()
getBlack()
。
public ColorUIResource getPrimaryControlHighlight()
getWhite()
。
public ColorUIResource getSystemTextColor()
getBlack()
。
public ColorUIResource getControlTextColor()
getControlInfo()
。
public ColorUIResource getInactiveControlTextColor()
getControlDisabled()
。
public ColorUIResource getInactiveSystemTextColor()
getSecondary2()
。
public ColorUIResource getUserTextColor()
getBlack()
。
public ColorUIResource getTextHighlightColor()
getPrimary3()
。
public ColorUIResource getHighlightedTextColor()
getControlTextColor()
。
public ColorUIResource getWindowBackground()
getWhite()
。
public ColorUIResource getWindowTitleBackground()
getPrimary3()
。
public ColorUIResource getWindowTitleForeground()
getBlack()
。
public ColorUIResource getWindowTitleInactiveBackground()
getSecondary3()
。
public ColorUIResource getWindowTitleInactiveForeground()
getBlack()
。
public ColorUIResource getMenuBackground()
getSecondary3()
。
public ColorUIResource getMenuForeground()
getBlack()
。
public ColorUIResource getMenuSelectedBackground()
getPrimary2()
。
public ColorUIResource getMenuSelectedForeground()
getBlack()
。
public ColorUIResource getMenuDisabledForeground()
getSecondary2()
。
public ColorUIResource getSeparatorBackground()
getWhite()
。
public ColorUIResource getSeparatorForeground()
getPrimary1()
。
public ColorUIResource getAcceleratorForeground()
getPrimary1()
。
public ColorUIResource getAcceleratorSelectedForeground()
getBlack()
。
public void addCustomEntriesToTable(UIDefaults table)
MetalLookAndFeel
获取外观和默认值时,将调用此方法。
这个实现什么都不做; 它为希望自定义默认表的子类提供。
table
- 要添加值的
UIDefaults
MetalLookAndFeel.getDefaults()