JRubyFXでボタンを押してラベルに表示するのを試してみた
jrubyfxのsampleをいろいろあさって、ボタンを押したらラベル表示を更新する簡単な実装を試してみました。
- hello2.rb
require 'jrubyfx' class Hello < JRubyFX::Application def start(stage) with(stage, title: "sample", width: 200, height: 100) do layout_scene do vbox do label("hello", id: 'view') button("push") do set_on_action do stage["#view"].text = "pushed!!!" end end end end show end end end Hello.launch
「ボタンを押した」というアクションはset_on_actionで取得。
動作はそのブロック内に記述します。
ハッシュが使えるので、labelにidを振っておいて、ハッシュでラベルのテキストを更新します。
実行してみる
% jruby hello2.rb
swingよりもいい感じに書けます。とくにハッシュが使えるところが。
swingの知識がちょっとあればとりあえずなんとなく作れちゃいますね。
だんだん惚れてきました。