summaryrefslogtreecommitdiff
path: root/docs/examples/swing/GridBagDemo.scala
diff options
context:
space:
mode:
Diffstat (limited to 'docs/examples/swing/GridBagDemo.scala')
-rw-r--r--docs/examples/swing/GridBagDemo.scala64
1 files changed, 64 insertions, 0 deletions
diff --git a/docs/examples/swing/GridBagDemo.scala b/docs/examples/swing/GridBagDemo.scala
new file mode 100644
index 0000000000..60cfc13acb
--- /dev/null
+++ b/docs/examples/swing/GridBagDemo.scala
@@ -0,0 +1,64 @@
+package examples.swing
+
+import swing._
+import swing.event._
+import GridBagPanel._
+import java.awt.Insets
+
+object GridBagDemo extends SimpleSwingApplication {
+ lazy val ui = new GridBagPanel {
+ val c = new Constraints
+ val shouldFill = true
+ if (shouldFill) {
+ c.fill = Fill.Horizontal
+ }
+
+ val button1 = new Button("Button 1")
+
+ c.weightx = 0.5
+
+ c.fill = Fill.Horizontal
+ c.gridx = 0;
+ c.gridy = 0;
+ layout(button1) = c
+
+ val button2 = new Button("Button 2")
+ c.fill = Fill.Horizontal
+ c.weightx = 0.5;
+ c.gridx = 1;
+ c.gridy = 0;
+ layout(button2) = c
+
+ val button3 = new Button("Button 3")
+ c.fill = Fill.Horizontal
+ c.weightx = 0.5;
+ c.gridx = 2;
+ c.gridy = 0;
+ layout(button3) = c
+
+ val button4 = new Button("Long-Named Button 4")
+ c.fill = Fill.Horizontal
+ c.ipady = 40; //make this component tall
+ c.weightx = 0.0;
+ c.gridwidth = 3;
+ c.gridx = 0;
+ c.gridy = 1;
+ layout(button4) = c
+
+ val button5 = new Button("5")
+ c.fill = Fill.Horizontal
+ c.ipady = 0; //reset to default
+ c.weighty = 1.0; //request any extra vertical space
+ c.anchor = Anchor.PageEnd
+ c.insets = new Insets(10,0,0,0); //top padding
+ c.gridx = 1; //aligned with button 2
+ c.gridwidth = 2; //2 columns wide
+ c.gridy = 2; //third row
+ layout(button5) = c
+ }
+
+ def top = new MainFrame {
+ title = "GridBag Demo"
+ contents = ui
+ }
+}