Scala Swing Ken Scambler
Origins of Swing  Java’s main desktop programming environment
Single Threaded, MVC framework
Developed from Abstract Windowing Toolkit (AWT) in the late 90s
Sun has focused on the web rather than desktop
Has faded from the limelight
However still has many users and devotees
Swing’s Advantages Cross-platform (mostly!)
Extremely powerful
Flexible
Extensible
Uses hardware acceleration
Comparable to native performance (nowadays!)
Swing’s Disadvantages Huge, complex API
Requires very verbose code
Events require anonymous inner class gymnastics!
Doesn’t integrate with Collection API
Models aren’t typesafe
Introducing Scala Swing Thin wrapper framework
Far less code
Dramatically simpler API
Full integration with Scala Collections
Introducing Scala Swing Scala getter/setter properties
Events use pattern-matching and partial functions
Performance is just as good
Panels & Layouts Layouts are built into the panel

Scala+swing