YKLook説明書 GUIオブジェクト利用の手引き カウンタ自動表示更新タイマー 前へ   次へ
   

カウンタ自動表示更新タイマー


カウンタ自動表示更新タイマーの使い方を説明します。
時・分・秒の任意のカウンタを表示・操作できます。
詳細は クラス解説 YKLookTimerWatch をご覧ください。




表示

カウンタ自動表示更新タイマーのプログラム例です。
ボタンを押すと60秒のカウントダウンタイマーの自動表示更新を開始します。
タイムアウトすると自動表示更新を停止します。

require '/opt/yklook/swing'
require '/opt/yklook/swingtimer'
def yki_make_display()
    lab = YKLookLabel.new( '60' )
    btn = YKLookButton.new( 'ボタン' )
    pan = YKLookPanelFlow.new()
    pan.yk_add( lab )
    pan.yk_add( btn )
    yk_add( pan )
    btn.yk_set_listener( 'fn_callback' )
    @ti = YKLookTimerWatch.new()
    @ti.yk_set_label_sec( [lab] )
    @ti.yk_set_total( 60 )
    yk_var( '@ti' )
end
def fn_callback( prm_event )
    @ti.yk_start()
end

この例では秒のみですが、分表示や時表示を組み合わせることができ、時分の繰り上がり表示は自動的におこないます。
また、この例ではひとつのラベルに2桁まとめて表示していますが、一桁ごとにラベルを指定することもできます。

カウント表示に使う文字列やその大きさ色を指定したり、画像イメージ・アイコンを指定できます。
タイマーを一時停止したり再開することもできます。
経過秒数や残り時間を調べることもできます。
カウントダウンタイマーか、カウントアップタイマーかを指定することもできます。

注意: カウンタ自動表示更新タイマーを使うときは、上の例にもあるように swing に加えて swingtimer も必ずロードしてください。


イベント(タイムアウト時に発生)

カウンタ自動表示更新タイマーのプログラム例です。
ボタンを押すと60秒のカウントダウンタイマーの自動表示更新を開始します。
タイムアウトするとメッセージを表示します。

require '/opt/yklook/swing'
require '/opt/yklook/swingtimer'
def yki_make_display()
    lab = YKLookLabel.new( '60' )
    btn = YKLookButton.new( 'ボタン' )
    pan = YKLookPanelFlow.new()
    pan.yk_add( lab )
    pan.yk_add( btn )
    yk_add( pan )
    btn.yk_set_listener( 'fn_cb_button' )
    @ti = YKLookTimerWatch.new()
    @ti.yk_set_label_sec( [lab] )
    @ti.yk_set_total( 60 )
    @ti.yk_set_listener( 'fn_cb_timer' )
    yk_var( '@ti' )
end
def fn_cb_button( prm_event )
    @ti.yk_start()
end
def fn_cb_timer( prm_event )
    yk_show_dialog_message( nil, '時間です' )
end

タイムアウト時のイベントは YKLookEventTimer クラスのオブジェクトです。
詳細については クラス解説 YKLookEventTimer をご覧ください。

イベント処理の基本は YKLook用アプリの製作 > イベント処理 をご覧ください。

注意: カウンタ自動表示更新タイマーを使うときは、上の例にもあるように swing に加えて swingtimer も必ずロードしてください。


イベント(任意時間に発生)

カウンタ自動表示更新タイマーのプログラム例です。
ボタンを押すと60秒のカウントダウンタイマーの自動表示更新を開始します。
残り10秒になったらカウンタの数字の色を赤にします。
タイムアウトするとメッセージを表示します。

require '/opt/yklook/swing'
require '/opt/yklook/swingtimer'
def yki_make_display()
    @la = YKLookLabel.new( '60' )
    btn = YKLookButton.new( 'ボタン' )
    pan = YKLookPanelFlow.new()
    pan.yk_add( @la )
    pan.yk_add( btn )
    yk_add( pan )
    btn.yk_set_listener( 'fn_cb_button' )
    @ti = YKLookTimerWatch.new()
    @ti.yk_set_label_sec( [@la] )
    @ti.yk_set_total( 60 )
    @ti.yk_set_trigger( [10] )
    @ti.yk_set_listener( 'fn_cb_timer' )
    yk_var( '@la' )
    yk_var( '@ti' )
end
def fn_cb_button( prm_event )
    @ti.yk_start()
end
def fn_cb_timer( prm_event )
    if @ti.yk_fire() == 10
        @la.yk_set_fore( 'red' )
    else
        @la.yk_set_fore( 'black' )
        yk_show_dialog_message( nil, '時間です' )
    end
end

タイムアウト時のイベントは YKLookEventTimer クラスのオブジェクトです。
詳細については クラス解説 YKLookEventTimer をご覧ください。

イベント処理の基本は YKLook用アプリの製作 > イベント処理 をご覧ください。

注意: カウンタ自動表示更新タイマーを使うときは、上の例にもあるように swing に加えて swingtimer も必ずロードしてください。




   
YKLook説明書 GUIオブジェクト利用の手引き カウンタ自動表示更新タイマー 前へ   次へ


Copyright (c) 2003-2010 YorozuKotowariYa Ltd.