summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authoringoem <ingoem@gmail.com>2012-09-26 11:35:27 +0200
committeringoem <ingoem@gmail.com>2012-09-26 11:41:57 +0200
commit08ab007c5c97f153902c4ac58f87e30fbf7cf99f (patch)
treea185174cbbf5aa36e5665602d8e70ddd361efbe3 /docs
parentbdff881f8a15d4de0c0ff2aa2427f0d8244d2d42 (diff)
downloadscala-08ab007c5c97f153902c4ac58f87e30fbf7cf99f.tar.gz
scala-08ab007c5c97f153902c4ac58f87e30fbf7cf99f.tar.bz2
scala-08ab007c5c97f153902c4ac58f87e30fbf7cf99f.zip
Added a Swing ColorChooser wrapper
Diffstat (limited to 'docs')
-rw-r--r--docs/examples/swing/ColorChooserDemo.scala61
1 files changed, 61 insertions, 0 deletions
diff --git a/docs/examples/swing/ColorChooserDemo.scala b/docs/examples/swing/ColorChooserDemo.scala
new file mode 100644
index 0000000000..1cb2bdefa2
--- /dev/null
+++ b/docs/examples/swing/ColorChooserDemo.scala
@@ -0,0 +1,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
+ }
+} \ No newline at end of file