The following makes it simple to start a griffon project.
Once you have installed Griffon you can use the built-in target for creating new projects:
The target will prompt you for the name of your project and create the project structure below:
Make sure you are in the root directory of your project (for argument sake "DemoConsole", a simple script evaluator) by typing
The "create-app" target created a Griffon MVC Triad for you in the models, views, and controllers directory named after the application. hence you already have a model class DemoConsoleModel in the models directory.
The application model for the quick start is simple: the script to be evaluated and the results of the evaluation.
The controller for our quick start app is simple: throw the contents of the script from the model at a groovy shell.
The Griffon framework will inject references to the other portions of the MVC triad if fields named model, view, and controller are present in the model or controller. This allows us to access the view widgets and the model data if needed
The executeScript method will be used in the view for the button action. Hence the ActionEvent parameter, and the default value so it can be called without an action event.
Finally, the Griffon framework can be configured to inject portions of the builders it uses. By default, the Threading classes are injected into the controller, allowing the use of the
doLater methods from the SwingBuilder.
Also, the threading may look a bit obsessive. But good thread management is essential to a well functioning Swing application.
The view classes contain the visual components for your application.
The view script is a fairly straightforward SwingBuilder script. Griffon will execute these groovy scripts in context of it's UberBuilder (a composite of the SwingBuilder and whatever else is thrown in).
To start your Griffon app run the following target
This will run the application as a Java application. You can also use the
run-webstart target to run the application from a WebStart/JNLP file.
The run-app script implies the execution of the package script. The package script creates file artifacts suitable for a Java application, a WebStart application, and an Applet, with code signed by a self-signed certificate. All from the same source tree. By default they go in the 'target' directory.
Try out the applet by bringing up the applet.html file in a browser.
This is just the first pass at the framework. The sky's the limit!