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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
package examples.swing
import java.awt.{Color, Font, Dimension}
import swing._
import event._
import Swing._
import BorderPanel._
/**
* Demo for ColorChooser.
* Based on http://download.oracle.com/javase/tutorial/uiswing/components/colorchooser.html
*
* @author andy@hicks.net
*/
object ColorChooserDemo extends SimpleSwingApplication {
def top = new MainFrame {
title = "ColorChooser Demo"
size = new Dimension(400, 400)
contents = ui
}
def ui = new BorderPanel {
val colorChooser = new ColorChooser {
reactions += {
case ColorChanged(_, c) =>
banner.foreground = c
}
}
colorChooser.border = TitledBorder(EtchedBorder, "Choose Text Color")
val banner = new Label("Welcome to Scala Swing") {
horizontalAlignment = Alignment.Center
foreground = Color.yellow
background = Color.blue
opaque = true
font = new Font("SansSerif", Font.BOLD, 24)
}
val bannerArea = new BorderPanel {
layout(banner) = Position.Center
border = TitledBorder(EtchedBorder, "Banner")
}
// Display a color selection dialog when button pressed
val selectColor = new Button("Choose Background Color") {
reactions += {
case ButtonClicked(_) =>
ColorChooser.showDialog(this, "Test", Color.red) match {
case Some(c) => banner.background = c
case None =>
}
}
}
layout(bannerArea) = Position.North
layout(colorChooser) = Position.Center
layout(selectColor) = Position.South
}
}
|