prefs.get的问题并设置ImageJ宏

时间:2014-09-05 15:22:07

标签: macros preferences imagej

我正在尝试编写一个宏来保存首选项,并在关闭并重新打开ImageJ后读取它们。

保存有效,但宏没有读取文件。此外,当我尝试使用这两行中的一行时,发生变量“Prefs”未知的错误。

int myNumber = Prefs.get("my.persistent.number", 0);

Prefs.savePreferences();

我做错了什么?请帮帮我: - )

1 个答案:

答案 0 :(得分:3)

ImageJ宏语言本身不支持存储自定义首选项。 (只有一组内置选项(可通过菜单中的编辑>选项访问)可以是savedrestoredadjusted。)您需要试图通过call("ij.Prefs.get", "my.persistent.number", "0");调用Java类。

  • 以下ImageJ宏适用于最新的斐济/ ImageJ安装:
myNumber = call("ij.Prefs.get", "my.persistent.number", "0");
print(myNumber);
call("ij.Prefs.set", "my.persistent.number", 3);

在第一次运行中,它会打印0;以下每次运行都会打印3;重新启动斐济后,它将再次打印3。如果在更新到最新版本后它对您不起作用,请通过帮助>报告错误。报告错误,它还会向开发人员提交有关您的安装的基本信息,以帮助他们解决问题。

  • 然而,使用众多scripting languages中的一个,您可以直接访问ij.Prefs java类,就像您尝试这样做一样。在使用之前,不要忘记导入类。这是一个示例Javascript:
importClass(Packages.ij.Prefs);

myNumber = Prefs.get("my.persistent.number", 0);
Prefs.set("my.persistent.number", myNumber);

希望有所帮助。