scala/ScalaBook/chapter-06/hello5.scala

import scala.swing._
import java.awt.image._
import javax.imageio.ImageIO._

object fruit extends SimpleGUIApplication {
  def top = new MainFrame {
    title = "Image loader"
    preferredSize = (350,250)
    val label = new Label {
      text = "A delicious strawberry…"
      font = new java.awt.Font("Verdana",
                                java.awt.Font.BOLD +
                                java.awt.Font.ITALIC,22)
    }
    var image = new Panel {
      var img:BufferedImage = null 
      try {
        img = javax.imageio.ImageIO.read(
                new java.io.File("strawberry.jpg"));
       } catch{
         case e : java.io.IOException => println("Unable to read image file")
       }
       override def paintComponent(g: java.awt.Graphics) {
         g.drawImage(img, 0, 0, null)
       }
    }
    contents = new GridBagPanel {
      //contents = new GridPanel(2,1) {
      var c = new Constraints
      c.gridwidth = java.awt.GridBagConstraints.REMAINDER 
      add(label, c)
      //contents += label 
      c.ipady = 90; c.ipadx = 90; c.weighty = 1.0
      add(image, c)
      //contents += image
      background = java.awt.Color.pink
      border = Swing.EmptyBorder(15, 15, 15, 15)
    }
  }
}