scala/ScalaBook/chapter-06/dialog4.scala

import scala.swing._
import scala.swing.event._
object dialog extends SimpleGUIApplication {
  def top = new MainFrame {
    title = "Greetings"
    preferredSize = (300,180)
    val label = new Label {
      text = "Connect to the Net!"
      font = new java.awt.Font("Verdana",
                                java.awt.Font.BOLD, 22)
    }
    contents = new GridBagPanel { mypanel =>
      var c = new Constraints
      c.gridwidth = java.awt.GridBagConstraints.REMAINDER
      add(label,c)
      add(Swing.VStrut(20), c)
      layout(new Button(Action("Required Connection?") {
        import Dialog._
        val entries = Array("Analog", "ISDN",
                            "B-ISDN", "ADSL",
                            "SDSL", "VDSL",
                            "Cable", "Wireless",
                            "T-1 Lines", "T-3 Lines",
                            "Satellite")        
        var s = showInput(mypanel, "Type of Internet Connection", 
                          "Internet Connection", Message.Question, 
                          new javax.swing.ImageIcon("question.png"), 
                          entries, "ADSL")  
        s match {
          case Some(x) => println("You have a "+x+" Internet connection.")
          case None    => println("You have no Internet connection.")
        }  
      }){ font = new java.awt.Font("Verdana",
                                    java.awt.Font.PLAIN, 14)}) = c
      background = java.awt.Color.yellow
      border = Swing.EmptyBorder(50, 50, 50, 50)
    }
  }
}