summaryrefslogtreecommitdiff
path: root/src/swing/doc/README
blob: cdfee01f8235d8ed2c58e00332a13ce2e70f5685 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
scala.swing BETA

This is a UI library that will wrap most of Java Swing for Scala in a straightforward manner. 
The widget class hierarchy loosely resembles that of Java Swing. The main differences are:

  In Java Swing all components are containers per default. This doesn't make much sense for 
  a number of components, like TextField, CheckBox, RadioButton, and so on. Our guess is that 
  this architecture was chosen because Java lacks multiple inheritance. 
  In scala.swing, components that can have child components extend the Container trait.
  
  Layout managers and panels are coupled. There is no way to exchange the layout manager 
  of a panel. As a result, the layout constraints for widgets can be typed. 
  (Note that you gain more type-safety and don't loose much flexibility here. Besides 
  being not a common operation, exchanging the layout manager of a panel in Java 
  Swing almost always leads to exchanging the layout constraints for every of the panel's 
  child component. In the end, it is not more work to move all children to a newly created 
  panel.)
   
  The event system. TODO
  

The library comprises three main packages:

  scala.swing
    All widget classes and traits.
    
  scala.swing.event
    The event hierarchy.

  scala.swing.test
    A set of demos.
    

Notes:

Visual appearance of combo boxes using the GTK LaF is broken on JDKs < 1.7b30. 
This is a Java Swing problem.

To download the latest version, go to http://lamp.epfl.ch/~imaier or use sbaz.