API 参考 / 能力接口(capability 包)
TrackStyle
不可变轨道样式覆盖值对象,由 TrackStyleProvider 返回。null 字段 = 保持引擎默认;颜色为 ARGB(java.awt.Color#getRGB() 语义)。
方法速览
| 方法 / 字段 | 用途 |
|---|---|
| 构造器 | 一次性给出 7 个可选覆盖字段 |
bgColor / bgVisible | 背景填充色 / 背景可见性 |
lineColor / lineVisible | 分隔线颜色 / 可见性 |
keyText / keyColor / keyVisible | 快捷键框文本 / 文本色 / 可见性 |
isUnset() | 是否所有字段都未设置 |
完整签名
java
public final class TrackStyle { // UiCustomization 的嵌套值类型
public final Integer bgColor;
public final Boolean bgVisible;
public final Integer lineColor;
public final Boolean lineVisible;
public final String keyText;
public final Integer keyColor;
public final Boolean keyVisible;
public TrackStyle(Integer bgColor, Boolean bgVisible,
Integer lineColor, Boolean lineVisible,
String keyText, Integer keyColor, Boolean keyVisible) {
// 字段逐一赋值
}
public boolean isUnset() {
return bgColor == null && bgVisible == null && lineColor == null && lineVisible == null
&& keyText == null && keyColor == null && keyVisible == null;
}
}TrackStyle(...)
签名:
java
public TrackStyle(Integer bgColor, Boolean bgVisible,
Integer lineColor, Boolean lineVisible,
String keyText, Integer keyColor, Boolean keyVisible);行为:按顺序接收 7 个可选覆盖值,null 表示该项保持引擎默认。构造函数本身不做校验,也不会复制可变对象(String 不可变,其余为装箱基元)。字段全部 public final,对象不可变,可安全跨帧缓存复用。
keyText为null时,真轨道显示默认按键名、假轨道显示"?"。- 颜色取 ARGB 整数(含 alpha),如
0xFFFF4040。
示例:
java
UiCustomization.TrackStyle style = new UiCustomization.TrackStyle(
null, null, // 背景不改
0xFFFF4040, true, // 分隔线红色、可见
null, null, null); // 快捷键框保持默认isUnset()
签名:
java
boolean isUnset();行为:7 个字段全为 null 时返回 true。注意它不是"放弃覆盖"——宿主仍把该对象视为已生效,从而不再询问后续提供器。因此 isUnset() 是"占位"而非"放弃":想跳过某条轨道请让 styleFor 返回 null。
示例:
java
if (style.isUnset()) {
return null; // 真正放弃:让后续提供器有机会生效
}线程:不可变值对象,任意线程读取安全;通常在渲染线程构造 / 读取。
稳定性:2.0 起冻结:2.x 内只增不破。