TestClass.java
import org.python.util.PythonInterpreter;
import org.python.core.*;
public class TestClass {
public static void main(String[] args) {
try {
PythonInterpreter py = new PythonInterpreter();
py.execfile(args[0]);
} catch(Exception e) {
e.printStackTrace();
}
}
}
mypy.py
Terminal
[greg:py] javac -cp .:${HOME}/dev/bin/jython2.5.2/jython.jar TestClass.java
[greg:py] java -cp .:/${HOME}/dev/bin/jython2.5.2/jython.jar TestClass mypy.py
Hello, World
[greg:py]
Interactive Swing
Create a Swing UI Without Compiling
[greg:local] jython
Jython 2.5.1 (Release_2_5_1:6813, Sep 26 2009, 13:47:54)
[Java HotSpot(TM) 64-Bit Server VM (Apple Inc.)] on java1.6.0_22
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'Hello, World'
Hello, World
>>> from javax.swing import JButton, JFrame
>>> frame = JFrame('Hello Jython', defaultCloseOperation = JFrame.EXIT_ON_CLOSE, size=(300,300))
>>> def change_text(event):
... print 'Clicked!'
...
>>> button = JButton('Click Me', actionPerformed = change_text)
>>> frame.add(button)
javax.swing.JButton[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.5,border=com.apple.laf.AquaButtonBorder$Dynamic@32a6faa9,
flags=288,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,
margin=javax.swing.plaf.InsetsUIResource[top=0,left=2,bottom=0,right=2],paintBorder=true,paintFocus=true,
pressedIcon=,rolloverEnabled=false,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Click Me,
defaultCapable=true]
>>> frame.visible = True
>>> [greg:local]