This sample comes from an IBM developerWorks article at http://www-106.ibm.com/developerworks/library/l-wxpy/index.html