Changeset 6915 for lang/scala/sandbox

Show
Ignore:
Timestamp:
02/19/08 15:24:19 (9 months ago)
Author:
kmizu
Message:
 
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/scala/sandbox/src/jp/gr/java_conf/mizu/gui/GUIBuilder.scala

    r6914 r6915  
    44import java.awt.Container 
    55import java.awt.Dimension 
     6import java.awt.LayoutManager 
    67import java.awt.event.ActionEvent 
    78import javax.swing.JFrame 
     
    910import javax.swing.Action 
    1011import javax.swing.AbstractAction 
    11 import jp.gr.java_conf.mizu.util.ReflectionWrapper._ 
     12import jp.gr.java_conf.mizu.util.ReflectionWrapper.invoke 
    1213 
    1314class GUIBuilder { 
     
    1920          invoke(context, "set" + property.name.capitalize, value) 
    2021        } 
     22        def asContainer :Container = { 
     23                context.value match { 
     24                case frame:JFrame => frame.getContentPane 
     25                case container:Container => container 
     26                } 
     27  } 
    2128  def frame(params :Any*)(thunk : => Unit) : JFrame = { 
    2229    val frame = new JFrame 
     
    3037        def button(params :Any*) :JButton = { 
    3138          val button = new JButton 
    32                 context.value match { 
    33                 case frame:JFrame => frame.getContentPane.add(button) 
    34                 case container:Container => container.add(button) 
    35                 } 
     39                asContainer.add(button) 
    3640                params.foreach { 
    3741                case text:String => button.setText(text) 
     
    4852          new Dimension(width, height) 
    4953        } 
     54        def layout(layoutManager :LayoutManager) { 
     55          asContainer.setLayout(layoutManager) 
     56        } 
    5057}