package com.larry.jruby;
import org.jruby.embed.PathType;
import org.jruby.embed.ScriptingContainer;
/**
* @author 吕桂强
* @email larry.lv.word@gmail.com
* @version 创建时间:2012-5-22 上午11:21:45
*/
public class App {
static String jrubyhome = App.class.getClassLoader().getResource("").getPath().concat("com/larry/");
public static void main(String[] args) {
String jruby = jrubyhome.concat("jruby/jruby.rb");
ScriptingContainer container = new ScriptingContainer();
container.runScriptlet(PathType.ABSOLUTE, jruby);
}
}
include Java
import java.lang.Boolean
import java.lang.System
import javax.swing.JFrame
import javax.swing.JButton
import java.awt.Dimension
frame=JFrame.new
frame.set_default_close_operation JFrame::EXIT_ON_CLOSE
button = JButton.new("button")
button.add_action_listener do |evt|
javax.swing.JOptionPane.show_message_dialog(nil, <<EOF)
you click me #{System.identity_hash_code evt}
EOF
end
frame.get_content_pane.add button
frame.set_minimum_size Dimension.new(200, 200)
frame.set_location_relative_to nil
frame.set_visible true