jrubyの不思議なとこ
これを通してjrubyのなんでそうなるんだ的なことが出て来たのでメモ。
まずひとつめ。
#OK def mouseClicked puts "agagaga" end #ダメ #def mouse_clicked # puts "eaeaeaea" #end
↑のソースのSketchクラスにこんなメソッドを書いてみる。もちろんSketchクラスにはmouseClickedメソッドとmouse_clickedがオーバーライドした形になって定義されている。この状態だとmouseClickedは動作するがmouse_clickedは動作しない。たぶん↑のbuttonやらsliderメソッドが動かなかったのもイベントリスナーぽい関数が呼ばれるときにこういうメソッド名の問題がひょっとしたらあるのかもなと。
ふたつめ。
javax.swingを呼ぶのにもっとかっこいいほうがいいと思って
JFrame.new(applet.class.to_s).instance_eval do content_pane.add applet default_close_operation = JFrame::EXIT_ON_CLOSE pack visible = true end
としたらpackあたりで怒られた。なんでだよー↑とかわんねーじゃんよーと思ったけどまともにswingを使ったことがないので、これはjrubyというよりもswingの使い方なのかも。けどpack呼ぶとこまでは大丈夫っぽいんだよなー