Size: 1811
Comment:
|
← Revision 9 as of 2023-05-26 14:43:08 ⇥
Size: 1983
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
* http://groovy-lang.org/groovy-dev-kit.html * http://groovy-lang.org/objectorientation.html |
|
Line 4: | Line 6: |
* https://dl.bintray.com/groovy/maven/apache-groovy-binary-3.0.3.zip | |
Line 8: | Line 9: |
wget https://dl.bintray.com/groovy/maven/apache-groovy-binary-3.0.3.zip | |
Line 24: | Line 26: |
{{{ | {{{#!highlight groovy |
Line 33: | Line 35: |
* groovyc MyClass.groovy * java -cp . -jar $GROOVY_HOME/lib/groovy-3.0.3.jar MyClass * java -jar $GROOVY_HOME/lib/groovy-3.0.3.jar MyClass |
{{{#!highlight sh groovyc MyClass.groovy java -cp . -jar $GROOVY_HOME/lib/groovy-3.0.3.jar MyClass java -jar $GROOVY_HOME/lib/groovy-3.0.3.jar MyClass }}} |
Line 38: | Line 43: |
{{{ | {{{#!highlight groovy |
Line 63: | Line 68: |
* groovyc swing.groovy * java -cp .:$GROOVY_HOME/lib/groovy-3.0.3.jar:$GROOVY_HOME/lib/groovy-swing-3.0.3.jar swing |
{{{#!highlight sh groovyc swing.groovy java -cp .:$GROOVY_HOME/lib/groovy-3.0.3.jar:$GROOVY_HOME/lib/groovy-swing-3.0.3.jar swing }}} |
Groovy
Apache Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax
Install
1 wget https://dl.bintray.com/groovy/maven/apache-groovy-binary-3.0.3.zip
2 cp apache-groovy-binary-3.0.3.zip ~/
3 cd ~/
4 unzip apache-groovy-binary-3.0.3.zip
5 nano ~/.bashrc
6 # export GROOVY_HOME=$HOME/groovy-3.0.3
7 # PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/user/jdk-11.0.2/bin:/home/user/scripts
8 # PATH=$PATH:/opt/mssql-tools/bin/:$GROOVY_HOME/bin
9 # export PATH
10 . ~/.bashrc
11 groovysh
12 # print("aaa")
13 groovyConsole
groovyc - compiler
nano MyClass.groovy
swing - groovy
1 import groovy.swing.SwingBuilder
2 import java.awt.BorderLayout as BL
3
4 count = 0
5
6 def actionPerformedFn(){
7 count++;
8 textlabel.text = "Clicked ${count} time(s)."
9 println "clicked"
10 }
11
12 def quitFn(){
13 System.exit(0)
14 }
15
16 new SwingBuilder().edt {
17 frame(title: 'Frame', size: [300, 300], show: true) {
18 borderLayout()
19 textlabel = label(text: 'Click the button!', constraints: BL.NORTH)
20 button(text:'Click Me', actionPerformed: {actionPerformedFn()}, constraints:BL.WEST)
21 button(text:'Quit', actionPerformed: {quitFn()}, constraints:BL.EAST)
22 }
23 }