JRubyでSwingしてみる
最近JRubyをよく使っています。(仕事でも)
何かと複数ファイルの文字列操作とかデータ操作とかの単純作業でRubyを使うんですが、
JRubyってJavaで動くからWindowsでも使えるので気に入っています。
プラスしてJRubyはJavaのクラスが簡単に呼べるのでJavaをRuby風に書けるところがいいですね。
そんなわけでJRubyでswingを使ってみます。
単純なラベル表示をしてみました。Javaと対して変わらないので入りやすいです。
require 'java' label = Java::javax.swing.JLabel.new label.setText("sample message.") frame = javax.swing.JFrame.new("sample window") frame.setDefaultCloseOperation(Java::javax.swing.JFrame::EXIT_ON_CLOSE) frame.add(label) frame.pack frame.setVisible(true)
今度は、ruby記述風に仕上げてみました。
require 'java' JLabel = javax.swing.JLabel JFrame = javax.swing.JFrame label = JLabel.new label.text = "sample message." frame = JFrame.new "window" frame.default_close_operation = JFrame::EXIT_ON_CLOSE frame.add label frame.pack frame.visible = true
JRubyなかなか興味深いです。
仕事で小技に使いこなせると、なかなか便利そうです。
あとGUIなので、同僚に対してちょっと優越感にひたれるかもしれません。
こういうのってモチベーションを保つために大事だと思ってたりします。