javax.swing.Timerの拡張を作ってみました

18 views
Skip to first unread message

taka_2

unread,
Aug 21, 2008, 8:43:45 AM8/21/08
to rubeus
重元です。

表題の通り、javax.swing.Timerの拡張を作ってみました。
Timerは一定間隔ごとにある処理を行うというものなのですが、
これを使って、擬似プッシュを実現できると思います。
(例えば、株価を100ミリ秒ごとに取ってきて、Swingの画面に反映するとか。)

とりあえず、時計アプリのようなものを作ってみました。

JFrame.new do |frame|
label = JLabel.new

t = Timer.new(500) do
label.text = Time.now.to_s
end
t.start
...

こんなコードで、500ミリ秒ごとに現在時刻を取得して、
JLabelのテキストに反映するということができます。

素のJavaだと、例のActionListenerに、actionPerformedが出てきて、
メソッド名覚えてないよ。。っていうオチなのですが、
rubeusだと、ほんとすっきり書けます。素晴らしい!

サンプルの詳細については、
examples/rubeus_swing_example02.rb
をご覧ください。

Eihiro Saishu

unread,
Aug 21, 2008, 8:06:45 PM8/21/08
to rub...@googlegroups.com
重元さん

おー。素晴らしい。
重元さんのTimerのおかげで、RubeusPresenが、なんと「たった5行追加しただけで」スライドショーになってしまいます。

なんか、誰かが頑張ると、誰かがハッピーになるっていうのはいいですね。

ありがとうございます。


最首


taka_2 さんは書きました:

taka_2

unread,
Aug 23, 2008, 11:32:07 AM8/23/08
to rubeus
スライドショー確かにできますね。
しかもたったの五行で!すごいです。

私も何かTimerを使ってできないかと、
色々考えてたのですが、
Unixのtailコマンド風RSSリーダを作ってみました。

ソース: http://gist.github.com/6910

単に更新間隔が短くて、サーバやネットワークに負荷をかけるだけの
RSSリーダとも言えますが。

しばらく(5分くらい)動かしていたら、
EXCEPTION_ACCESS_VIOLATIONとかで、
jvmがダウンしてしまいました。
どこかにメモリリークのバグがあるような気がします。
Reply all
Reply to author
Forward
0 new messages