Your SlideShare is downloading. ×
0
GriffonGroovy-er desktop applications                    © 2011 Eric Wendelin
GriffonBuilding desktop apps for the JVM just             got Groovy
import   java.awt.GridLayout;import   java.awt.event.ActionListener;import   java.awt.event.ActionEvent;import   javax.swi...
import groovy.swing.SwingBuilderimport static javax.swing.JFrame.EXIT_ON_CLOSEnew SwingBuilder().edt {    frame(title: "Gr...
Based on
Ow! Pointy!Convention             >              Configuration
MVCgriffon create-mvc Login
@Bindable
BOOM! Built in!        griffon test-app
Lots of deployment      options     griffon package jar
application(title: ‘GroovyTitle’, pack: true) {    gridLayout(cols: 1, rows: 3)    textField(id: "input", columns: 20)    ...
Plugins and Addons!   griffon install-plugin easyb
Polyglotgriffon install-plugin jython
Multi-UI Toolkit   Support
You shouldprobably buy me!
Thanks!          also go heregriffon.codehaus.org                 @eriwen
Groovy-er desktop applications with Griffon
Groovy-er desktop applications with Griffon
Groovy-er desktop applications with Griffon
Groovy-er desktop applications with Griffon
Groovy-er desktop applications with Griffon
Groovy-er desktop applications with Griffon
Upcoming SlideShare
Loading in...5
×

Groovy-er desktop applications with Griffon

2,348

Published on

Ignite-style introduction to Griffon

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,348
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Groovy-er desktop applications with Griffon"

  1. 1. GriffonGroovy-er desktop applications © 2011 Eric Wendelin
  2. 2. GriffonBuilding desktop apps for the JVM just got Groovy
  3. 3. import java.awt.GridLayout;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import javax.swing.JFrame;import javax.swing.JTextField;import javax.swing.JButton;import javax.swing.SwingUtilities;public class JavaFrame { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable(){ public void run() { JFrame frame = buildUI(); } frame.setVisible(true); }); } private static JFrame buildUI() { JFrame frame = new Jframe("JavaFrame"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(new GridLayout(3,1)); final JTextField input = new JTextField(20); final JTextField output = new JTextField(20); output.setEditable(false); JButton button = new JButton("Click me!"); button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event) { output.setText(input.getText()); } }); frame.getContentPane().add(input); frame.getContentPane().add(button); frame.getContentPane().add(output); frame.pack(); return frame; } }
  4. 4. import groovy.swing.SwingBuilderimport static javax.swing.JFrame.EXIT_ON_CLOSEnew SwingBuilder().edt { frame(title: "GroovyFrame", pack: true, visible: true, defaultCloseOperation: EXIT_ON_CLOSE) { gridLayout(cols: 1, rows: 3) textField(id: "input", columns: 20) button("Click me!", actionPerformed: { output.text = input.text }) textField(id: "output", columns: 20, editable: false) }}
  5. 5. Based on
  6. 6. Ow! Pointy!Convention > Configuration
  7. 7. MVCgriffon create-mvc Login
  8. 8. @Bindable
  9. 9. BOOM! Built in! griffon test-app
  10. 10. Lots of deployment options griffon package jar
  11. 11. application(title: ‘GroovyTitle’, pack: true) { gridLayout(cols: 1, rows: 3) textField(id: "input", columns: 20) button("Click me!", actionPerformed: { output.text = input.text }) textField(id: "output", columns: 20, editable: false)}
  12. 12. Plugins and Addons! griffon install-plugin easyb
  13. 13. Polyglotgriffon install-plugin jython
  14. 14. Multi-UI Toolkit Support
  15. 15. You shouldprobably buy me!
  16. 16. Thanks! also go heregriffon.codehaus.org @eriwen
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×