我创建了五个宏,它们一步一步地有效地满足了我的研究需求。我想在一个有效的插件中加入这些宏。所有路径导致java编程。但我想知道,如果有一种方法,我可以创建“用户界面”这样的:imagej中的宏“用户界面”
通过点击一个按钮,宏将运行。我会指定一个或两个变量(插入最后一个环的年份...)。
我创建了五个宏,它们一步一步地有效地满足了我的研究需求。我想在一个有效的插件中加入这些宏。所有路径导致java编程。但我想知道,如果有一种方法,我可以创建“用户界面”这样的:imagej中的宏“用户界面”
通过点击一个按钮,宏将运行。我会指定一个或两个变量(插入最后一个环的年份...)。
您可以使用Dialog.*
宏功能。示例请参阅DialogDemo macro。
Dialog.create("Program");
Dialog.addChoice("Type:", newArray("A", "B","C"));
Dialog.show();
type = Dialog.getChoice();
if (type=="A"){
runMacro("A");
} else {
if(type=="B"){
runMacro("B");
} else {
if (type=="C"){
runMacro("C")
}
}
}
////to start from the beginning
runMacro("Program")
所以,正如你所看到的,我的小程序非常简单。通过选择操作,特定的宏运行。
在我的“宏A”中,必须定义特定的变量;如:哪一年砍掉一棵树
p = getNumber("The year of outmost ring?", 2020)
我想定义这些变量,在选择动作之前(使用对话框)。它只是更友好...
我同意Java编程;如果我想要认真接触一些限制较少的软件创建选项...
您的解决方案非常有用,但我正在努力: 1)我无法定义将自动识别的“全局”变量由宏... 2)没有»按钮«选项(Dialog.addButton);我必须使用对话框(Dialog.addChoices),然后运行Macros ... 建议? – JerryTheForester
我不确定我是否理解了您所遇到的问题,而没有更多细节,并且/或者您在某处发布了代码。从你原来的问题,加入宏,考虑使每个“宏”成为一个可以从多个宏重用的函数。为了在对话框中添加按钮,我知道你不想听到这个,但是应该考虑编写一个Java插件。 ImageJ 1.x的宏语言不是用来构建非常漂亮的对话框(并且在对话框中添加一个额外的按钮属于该类别)。 – ctrueden