Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import groovy.swing.SwingBuilder
- import javax.swing.BoxLayout
- import javax.swing.JFrame
- import javax.swing.JOptionPane
- import java.awt.BorderLayout
- import java.awt.FlowLayout
- import java.awt.GridLayout
- import static javax.swing.WindowConstants.*
- import static javax.swing.JOptionPane.showInputDialog
- final layoutsList = ['FlowLayout', 'BorderLayout', 'GridLayout', 'BoxLayout']
- final buttonList = ['Button1', 'Button2', 'Button3', 'Button4', 'Button5']
- swing = new SwingBuilder()
- JFrame f = new JFrame()
- def answer = showInputDialog(f,"Choose layout",
- "Layouts",
- JOptionPane.QUESTION_MESSAGE, null, layoutsList as Object[], 'FlowLayout'
- )
- def borderLayoutConstraints = [ 'West', 'North', 'East', 'South', 'Center']
- Integer i = 0
- swing.edt {
- lookAndFeel('nimbus')
- frame(title: answer, pack: true, visible: true,
- defaultCloseOperation: EXIT_ON_CLOSE) {
- switch (answer){
- case 'BorderLayout':
- vbox() {
- panel(layout: new FlowLayout()) {
- label(text: answer)
- }
- panel(layout: new BorderLayout()) {
- buttonList.each {
- button(it, constraints: borderLayoutConstraints[i])
- i++
- }
- }
- }
- break
- case 'FlowLayout':
- panel(layout: new FlowLayout()){
- label(text: answer)
- buttonList.each {
- button(text: it)
- }
- }
- break
- case 'GridLayout':
- vbox() {
- panel(layout: new FlowLayout()){
- label(text: answer)
- }
- panel(layout: new GridLayout(2, 3)) {
- buttonList.each {
- button(text: it)
- }
- }
- }
- break
- case 'BoxLayout':
- vbox() {
- panel(layout: new FlowLayout()){
- label(text: answer)
- }
- panel() {
- boxLayout(axis: BoxLayout.Y_AXIS)
- buttonList.each {
- button(text: it)
- }
- }
- }
- break
- default: break
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement