JRubyFX
JRuby(JRubyFX)とWebView上のHTMLの連携を試してみる。JRuby側のボタンを押したらHTML上のspanにメッセージを表示して、 HTML上のボタンを押したらJRuby側のラベルにメッセージを表示するプログラムは、RubyコードとHTMLコードの2つを用意します。 require…
重い処理をTimeline上に書いてしまうと、処理中はGUIが止まってしまうことになります。 それを回避するためにServiceとTaskを用いる方法があります。 重い処理をTaskに書いて、バックグラウンド実行し、GUIで定期的にモニタリングするようなプログラムを作っ…
JRubyFXでアニメーションをやりたくて、まずは簡単なところから始めてみた。 はじめに、サークルを描画して、大きさを150、色をgreen、位置を縦方向に200の場所においた。 そのあと、play関数を呼んで、 そこで、idが"c"となっているサークルのX方向をtimeli…
JRubyFXによるアニメーションを調べていて、まずは簡単なところから始めてみようと思う。 テキスト(ラベル)を1秒ごとに更新するプログラムを作成してみた。 Timelineに登録されたハンドラを1000msごとに呼ぶという単純なプログラムになっている。 require …
JavaFxになってSwingと比べてWebViewのエンジンが強化されているようです。 SwingでJavascriptとかHTML5とかがうまく動かなかったのがJavaFXではちゃんと動くっぽいです。 まずは簡単なWeb表示 require 'jrubyfx' class App < JRubyFX::Application def star…
JRubyFXはJavaFxをRubyっぽく書けますが、 そこにプラスしてfxmlを使うとよりGUI開発が簡単になります。 ここではJRubyFXでfxmlを使う方法をメモとして残します。 まずはJRubyでfxmlをロードする Scene Builderを使って、適当にhello.fxmlというファイルを作…
jrubyfxのsampleをいろいろあさって、ボタンを押したらラベル表示を更新する簡単な実装を試してみました。実装イメージはこんな感じ。 hello2.rb require 'jrubyfx' class Hello < JRubyFX::Application def start(stage) with(stage, title: "sample", widt…
まだ、JavaFXもよく理解していないですが、適当に実装してみます。 とりあえず、ラベルを使って文字列を表示するところから。 stage上に、まずはsceneを作って、その上にlabelとか貼っていけばよさそうです。イメージはたぶんこんな感じ。 hello.rb require …
今日試した限りでは、JRubyFXがrubygemsに登録されているものは動かなくて、直接githubから持ってきて、ようやく動きました。 2003/05/20にjrubyfxのバージョン1.0.0なるものがrubygemsにアップされたようです。 おそらく、FXMLローダあたりのバグが解消され…
準備 # jruby -S gem install jrubyfx Hello.rb require 'jrubyfx' class HelloWorldApp < JRubyFX::Application def start(stage) stage.title = "Hello World!" stage.width = 200 stage.height = 100 stage.show() end end HelloWorldApp.launch