楼主: NewOccidental
2494 11

Swing for Jython [推广有奖]

11
ReneeBK(未真实交易用户) 发表于 2017-2-12 08:34:23
  1. Listing 4-9. classInfo.py

  2. 1|def classInfo( Class, meth = None, attr = None, pad = '' ) :
  3. 2|    print pad + str( Class )
  4. 3|    prefix = pad + '  '
  5. 4|    if type( meth ) == type( '' ) :
  6. 5|        comma, line = '', '' + prefix
  7. 6|        methods = [
  8. 7|            n for n, v in vars( Class ).items()
  9. 8|            if n.lower().find( meth.lower() ) > -1 and callable( v )
  10. 9|        ]
  11. 10|        methods.sort()
  12. 11|        for m in methods :
  13. 12|            if len( line + comma + m ) > 65 :
  14. 13|                print line.replace( '|', '>' )
  15. 14|                comma, line = '', '' + prefix
  16. 15|            line += comma + m
  17. 16|            comma = ', '
  18. 17|        if not line.endswith( '  ' ) :
  19. 18|            print line.replace( '|', '>' )
  20. 19|    if type( attr ) == type( '' ) :
  21. 20|        comma, line = '', '' + prefix
  22. 21|        attribs = [
  23. 22|            n for n, v in vars( Class ).items()
  24. 23|            if n.lower().find( attr.lower() ) > -1 and not callable( v )
  25. 24|        ]
  26. 25|        attribs.sort()
  27. 26|        for a in attribs :
  28. 27|            if len( line + comma + a ) > 65 :
  29. 28|                print line.replace( '|', '*' )
  30. 29|                comma, line = '', '' + prefix
  31. 30|            line += comma + a
  32. 31|            comma = ', '
  33. 32|        if not line.endswith( '  ' ) :
  34. 33|            print line.replace( '|', '*' )
  35. 34|    for b in Class.__bases__ :
  36. 35|        classInfo( b, meth, attr, pad + '| ' )
复制代码

12
ReneeBK(未真实交易用户) 发表于 2017-2-12 08:34:48
  1. Listing 4-10. JFrame class hierarchy showing the “layout” methods.

  2. 1 wsadmin>from javax.swing import JFrame
  3. 2 wsadmin>
  4. 3 wsadmin>classInfo( JFrame, meth = 'layout' )
  5. 4 javax.swing.JFrame
  6. 5 | java.awt.Frame
  7. 6 | | java.awt.Window
  8. 7 | | | java.awt.Container
  9. 8 > > >   getLayout, setLayout
  10. 9 | | | | java.awt.Component
  11. 10 > > > >   doLayout
  12. 11 | | | | | java.lang.Object
  13. 12 | | | | | java.awt.image.ImageObserver
  14. 13 | | | | | java.awt.MenuContainer
  15. 14 | | | | | java.io.Serializable
  16. 15 | | | javax.accessibility.Accessible
  17. 16 | | java.awt.MenuContainer
  18. 17 | javax.swing.WindowConstants
  19. 18 | javax.accessibility.Accessible
  20. 19 | javax.swing.RootPaneContainer
复制代码

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-22 13:40