ディスクからディレクトリを読み取り、そのディレクトリ内の各ファイルの 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)}
}
}