scala/ScalaBook/chapter-06/dialog1.scala

import scala.swing._
import scala.swing.event._
object dialog extends SimpleGUIApplication {
  def top = new MainFrame {
    title = "Greetings"
    preferredSize = (250,180)
    val label = new Label {
      text = "Hello World!"
      font = new java.awt.Font("Verdana",
                                java.awt.Font.BOLD, 22)
    }
    val close_button = new Button {
      text = "Close Window"
      font = new java.awt.Font("Verdana",
                                java.awt.Font.PLAIN, 14)
    }
    contents = new GridBagPanel {
      var c = new Constraints
      c.gridwidth = java.awt.GridBagConstraints.REMAINDER
      add(label,c)
      add(Swing.VStrut(20), c)
      add(close_button, c)
      background = java.awt.Color.yellow
      border = Swing.EmptyBorder(50, 50, 50, 50)
    }
    listenTo(close_button)
    reactions += {
      case ButtonClicked(b2) => {
        import Dialog._
        var s = showConfirmation(close_button, "I feel something is wrong!", 
                                "Warning", Options.Default, 
                                 Message.Warning, null)
        if ( s == Result.Yes )
          exit(0)
      }
    }
  }
}