Cのライブラリが使えるpython。
とりあえず読もう
http://www.f7.ems.okayama-u.ac.jp/~yan/python/
javaのクラスがつかえるpython。
GrxUIのプラグインを実行するための
スクリプトはJythonで書かれている。
その上、プロジェクトファイル(~.xml)は
jythonスクリプトを呼び出す。
int('0')== 0 float('0.0') == 0.0 str(0) == '0' str(0.0) == '0.0' str(1/40) == '0.0' str(1.0/40.0) == '0.025'
例,HOMEディレクトリのパスをstringで取得する
from java.lang import System HOME = System.getenv("HOME")
(注意:jdk1.5以降ならこれで良いが、java1.4ではgetenv(string name)は非推奨メソッドなので
getenv(string name)の代わりにgetProperty(string name)を使う)
from java.awt import * from java.awt.event import * from javax.swing import * def punch(evt): print "punch" def kick(evt): print "kick" f = JFrame("SwingTest") # jythonごと落ちる f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); c = f.getContentPane() b = [JButton("Punch", actionPerformed=punch), JButton("Kick", actionPerformed=kick)] b[0].setSize(20,20) b[1].setSize(20,20) c.setLayout(FlowLayout()) c.add(b[0]) c.add(b[1]) f.setSize(200,200) f.setVisible(1)
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SwingTest{ public static void main(String[] args){ SwingFrame sf = new SwingFrame("SwingTest"); } } class SwingFrame extends JFrame implements ActionListener { public SwingFrame(String str) { this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.getContentPane().setLayout(new FlowLayout()); this.setTitle(str); JButton[] b = new JButton[2]; b[0] = new JButton("Punch"); b[1] = new JButton("Kick"); b[0].setSize(20,20); b[1].setSize(20,20); b[0].addActionListener(this); b[1].addActionListener(this); this.getContentPane().add(b[0]); this.getContentPane().add(b[1]); this.setSize(200, 200); this.setVisible(true); } public void actionPerformed(ActionEvent e) { JButton source = (JButton)e.getSource(); if(source.getText().equals("Punch")){ System.out.println("Punch"); } else if(source.getText().equals("Kick")){ System.out.println("Kick"); } } }
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SwingTest2 extends JFrame implements ActionListener { public static void main(String[] args){ new SwingTest2("SwingTest2"); } public SwingTest2(String str) { this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.getContentPane().setLayout(new FlowLayout()); this.setTitle(str); JButton[] b = {new JButton("Punch"), new JButton("Kick")}; for(int i=0; i<b.length; i++){ b[i].setSize(20,20); b[i].addActionListener(this); this.getContentPane().add(b[i]); } this.setSize(200, 200); this.setVisible(true); } public void actionPerformed(ActionEvent e) { JButton source = (JButton)e.getSource(); System.out.println(source.getText()); } }