Groovy Swingbuilder: How do I create dynamic menus -


i'm creating menu reading directory off disk , creating menuitem each file in directory.

i'd have re-read disk every time menu clicked.

swingbuilder doesn't seem want this-- @ least not easily.

do have add closure "menu" creates menuitems using old-school swing (i don't know if work since you've clicked menu), or there trick swingbuilder re-evaluate section whenever entered?

here's have now:

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)}     } } 

you should able adapt following:

import groovy.swing.* import javax.swing.event.*  new swingbuilder().edt {     def fillmenu = { ->         scripts.removeall()         new file('/tmp').listfiles().each {             scripts.add(menuitem(text: it.name))         }     }     frame(title: 'testing', size: [800, 600], visible:true) {         menubar {             menu(id:'scripts', text: 'external scripts')         }       }     scripts.addmenulistener([ menucanceled: { e -> },                               menudeselected: { e -> },                               menuselected: { e -> fillmenu() } ] menulistener) } 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -

How to provide Authorization & Authentication using Asp.net, C#? -