2010年6月27日日曜日

JavaScript on Java で Swing してみた

コードを書きまくって指が痛くなり、
もっとサボらなくちゃいけないと思い、
Javaの代わりにスクリプト言語で書くという選択肢にたどり着く。

「Javaの代わりにスクリプト」 == 「Groovy」 かなぁ?

「Javaの代わりにスクリプト」 == 「JRuby」 かなぁ?

そうこうしているうちに、Scripting for Java Platform。こんな機能、知りませんでした。


JS.java
import java.io.FileReader;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

public class JS {
    public static void main(String[] args) throws Exception {
        ScriptEngineManager m = new ScriptEngineManager();
        ScriptEngine e = m.getEngineByName("js");
        FileReader source = new FileReader("swing.js");
        try {
            e.eval(source);
        } finally {
            source.close();
        }
    }
}

swing.js
importPackage(java.awt);
importPackage(java.awt.event);
importPackage(javax.swing);

var frame = new JFrame("Sample");
frame.setLayout(new FlowLayout());

var button = new JButton("OK");

button.addActionListener(new ActionListener({
  actionPerformed: function(event) {
    JOptionPane.showMessageDialog(frame, "JavaScript on Java で Swing");
  }
}));

frame.add(button);

frame.setSize(100, 100);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setVisible(true);


参考
言語の中の言語 - Scripting
スクリプティング機能

ところで、スクリプト言語に換えたところで指の痛みは軽減できないことに気がついた。
「スクリプト使う→打鍵数が減る→プログラムが早くできあがる」だけだった
別ののサボり方を探そう。

0 件のコメント:

コメントを投稿