from pawt import swing data = { 'PyObject': { 'PyInteger':None, 'PyFloat':None, 'PyComplex':None, 'PySequence': { 'PyArray':None, 'PyList':None, 'PyTuple':None, 'PyString':None, }, 'PyClass': { 'PyJavaClass':None, }, }, 'sys':None, 'Py':None, 'PyException':None, '__builtin__':None, 'ThreadState':None, } Node = swing.tree.DefaultMutableTreeNode def addNode(tree, key, value): node = Node(key) tree.add(node) if value: addLeaves(node, value.items()) def addLeaves(node, items): items.sort() for key, value in items: addNode(node, key, value) def makeTree(name, data): tree = Node('Einige der Jython-Klassen') addLeaves(tree, data.items()) return tree if __name__ == '__main__': tree = makeTree('Einige der Jython Klassen', data) swing.test(swing.JScrollPane(swing.JTree(tree)))