API 参考 / 事件系统
SettingsChangedEvent
想先跑起来?
这一页是签名与行为参考。设置保存后的通知,键集合不是精确 diff。直接做一遍:教程 · 设置项与快捷键。
宿主保存设置后投递的纯通知。
方法速览
| 方法 | 用途 |
|---|---|
changedKeys() | 本次保存涉及的设置键集合(不可变副本) |
changedKeys()
java
public Set<String> changedKeys();行为:返回本次保存涉及的设置键集合的不可变副本;构造参数为 null 时是空集(表示宿主未提供明细)。它不是精确 diff:应以「键在集合里我才刷新」的方式使用,不要假设集合内容等于真实变化项。
示例:
java
ctx.eventBus().subscribe(SettingsChangedEvent.class, event -> {
if (event.changedKeys().contains("musicVolume")) {
refreshCachedVolume();
}
});完整签名
java
public final class SettingsChangedEvent extends Event {
public SettingsChangedEvent(Set<String> changedKeys);
public Set<String> changedKeys();
}稳定性:2.0 起冻结,2.x 内只增不破。