Last updated: 2010-Oct-05
This is a complete rewrite of JUICe in Scala.
Please see this talk, these slides, this paper and the GUI-Libs API (scaladoc) documentation for further details.
The following demonstrates all features, and displays the corresponding source:
application (using Java Web Start)
The following allows an array of MonFields to be configured, and includes a database of alert sounds:
application (using Java Web Start)
The following instructions are for creating an instant Maven project that builds a sample GUI-App app.
It will be assumed that you already have (at least version 5 of) the Java runtime environment (JRE) installed, together with an up-to-date version of Maven. This may be ascertained as follows:
$ mvn -version Apache Maven 2.2.1 (r801777; 2009-08-06 20:16:01+0100) Java version: 1.6.0_15 Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home Default locale: en_US, platform encoding: MacRoman OS name: "mac os x" version: "10.6" arch: "i386" Family: "mac"Note that all resources required for compiling Scala code using Maven will be downloaded on demand.
<interactiveMode>true</interactiveMode>
<?xml version="1.0" encoding="UTF-8"?> <archetype-catalog> <archetypes> ... <archetype> <groupId>com.lafros.maven.archetypes</groupId> <artifactId>gui-archetype</artifactId> <version>1.1</version> <repository>http://lafros.com/m2arts</repository> <description>Lafros GUI-App archetype</description> </archetype> </archetypes> </archetype-catalog>
$ mvn archetype:generate -DarchetypeCatalog=localSupply the following or appropriate values when prompted:
Choose archetype: 1: local -> gui-archetype (Lafros GUI-App archetype) Choose a number: (1): 1 Define value for groupId: : org.myorg.myapp Define value for artifactId: : myorg-myapp Define value for version: 1.0-SNAPSHOT: : Define value for package: org.myorg.myapp: :
$ cd myorg-myapp $ mvn test
To stay up to date and share your experiences, please join the lafros-gui Google group.
This is an open-source project, hosted at GitHub, complete with issue tracker.
These libraries are released under the GNU General Public Licence (version 3), which requires that any app which links to them (and which is not for your own private use) must be released under the same licence. If you do not wish to be bound by these terms, exceptions may be purchased on a per-app basis. If doing so, please give details identifying the app for which the exception is required.
2010-Oct -05: | missing <repository> element added in step 2. of 'How to generate ...' instructions! |
2010-May-25: | 1.0r1=>1.0r2: GUI-App 1.0r1=>1.0r2: fixed problem which caused 'Using Lafros GUI-App ...' to be printed twice in the applet case; archetype 1.0=>1.1 |
2010-May-09: | Tabs Demo now with syntax-highlighting! |
2010-May-01: | purchasing exceptions now possible |
2010-Apr-30: | link to Scala Days talk added |
2010-Apr-27: | links to Google group, GitHub and Assembla space added |
2010-Apr-22: | links to slides and paper enabled |
2010-Apr-16: | first created |