import sys
from jpype import *

__JMenuBar = javax.swing.JMenuBar
__JMenu = javax.swing.JMenu

def buildMenuBar(menuDef) :
    mb = __JMenuBar()

    for i in menuDef :
        jm = buildMenu(i[0], i[1]) 
        mb.add( JObject(jm, __JMenu) )
        
    return mb
        
def buildMenu(name, menuDef) :
    jm = __JMenu(name)
    
    for i in menuDef :
        if i is None :
            jm.addSeparator()
        elif isinstance(i, list) or isinstance(i, tuple) :
            jm2 = buildMenu(i[0], i[1])
            jm.add(jm2)
        else:
            jm.add(i.proxy)
                 
    return jm