I believe that VisualWorks uses emulated widgets for historical reasons. The product started in the late 1980's when windowing systems were just starting and in fact ran on DOS. In that kind of environment it made a huge amount of sense to write their own emulated widgets. Once they started down that path it was hard to change. However, in 1996 there was absolutely no good reason to reinvent the wheel with Swing and write emulated widgets.