我通过从磁盘上读取一个目录并为该目录中的每个文件创建一个 menuItem 来创建一个菜单。
每次单击该菜单时,我都希望它重新读取磁盘。
SwingBuilder 似乎不想这样做——至少不容易。
我是否必须向使用老式摇摆创建 MenuItems 的“菜单”添加一个闭包(我什至不知道这是否可行,因为您已经单击了菜单),或者是否有一些技巧来获得 SwingBuilder每当输入一个部分时重新评估它?
这是我现在拥有的:
File scriptDir = new File("C:/myBatchFiles")
menu(text:"External tools", visible:scriptDir.isDirectory()) {
scriptDirlistFiles().each{
File oneItem ->
String name = oneItem.name
String command = '"' + scriptDir.path + '/' + name + '"'
menuItem(action(name:name){MyUtils.cmd(command)}
}
}