API 参考 / 只读视图、场景、音频与文本
ClipboardAccess
系统剪贴板访问(宿主安装,进程内唯一)。TextField 的复制/剪切/粘贴统一经本入口转发;模组自制输入逻辑也可直接调用它读写剪贴板。
方法速览
| 方法 | 用途 |
|---|---|
install(Provider) | 宿主安装平台实现 |
getText() | 读剪贴板文本 |
setText(String) | 写剪贴板文本 |
install(Provider)
java
public static void install(Provider p);行为:宿主安装点(进程内唯一,后装覆盖先装)。mod-api 自身不绑定任何平台实现;未安装时读取返回 null、写入无操作,且都不抛异常。
示例:
java
ClipboardAccess.install(new MyPlatformClipboard());getText()
java
public static String getText();行为:读取剪贴板文本;未安装、无文本或实现抛出 Throwable 时返回 null(异常被吞掉,不影响输入组件)。
示例:
java
String clip = ClipboardAccess.getText();
if (clip != null) field.typeString(clip);setText(String)
java
public static void setText(String text);行为:写入剪贴板文本;未安装时为无操作,实现抛出的 Throwable 被吞掉。text 为 null 时按实现约定视为清空。
示例:
java
ClipboardAccess.setText(field.selectedText());完整签名
java
public final class ClipboardAccess {
public interface Provider {
String getText();
void setText(String text);
}
public static void install(Provider p);
public static String getText();
public static void setText(String text);
}关键契约:Provider#getText() 在无文本 / 非文本 / 不可读时返回 null;Provider#setText(String) 的 text 为 null 时视为清空。与 ImeAnchor 同为「宿主实现的静态挂载点」:组件层(可能被模组复用)只依赖本接口,不依赖 java.awt;该类为 final 且构造器私有。
线程:源码未声明额外线程约束(已安装实现字段为 volatile)。
性能:源码未标注额外性能约束。
稳定性:2.0 起冻结:2.x 内只增不破。