next up previous contents
Next: ClockDemo Up: ClockDemo Previous: ClockDemo   目次

ClockPanel

  1. ラベルの作成

    ClockPanelのデザインブラウザを開き, 表示されるパネル内の適当な位置にラベル(jLabel1)を配置する.

  2. 使用ライブラリの指定

    ClockPanelのソースブラウザを開き, このクラス内で使用するライブラリを指定する.

    ソースプログラムの先頭に

          import java.util.*;
          import java.awt.*;
    
    とライブラリ java.util.*, java.awt.* を指定する.

  3. 変数など

    時間の取得には java.util.Calendar を使用する.

    このクラス内で使用する変数として以下を宣言する:

          Font font;          // パネルの任意の位置に文字を表示するためのフォントを格納する
          Calendar clock;     // 現在の時刻を格納する
          int hour, min, sec; // 現在時刻の時、分、秒を記憶させる
          String now;         // 現在時刻を文字列として記憶させる
    
  4. 現在の時刻を取得し,関連する変数などに代入するメソッドとして setClockを定義する
          public void setClock() {
             clock = Calendar.getInstance();      // 現在の時刻を取得
             hour = clock.get(clock.HOUR_OF_DAY); // 現在時刻から「時」を取り出す
             min = clock.get(clock.MINUTE);       // 「分」を取り出して代入する
             sec = clock.get(clock.SECOND);       // 「秒」の値を代入する
             now = "現在 "+hour+"時"+min+"分"+sec+"秒"; // 時分秒を文字列として保存する
             jLabel1.setText(now);                // jLabel1に現在の時刻を表示
             repaint();                           // 変更を反映したもので再描画する
          }
    

  5. パネルの描画メソッド paint
          public void paint(Graphics g) {
              super.paint(g);
              if(font == null) {
                 font = new Font("Sherif", Font.PLAIN, 12);
                 g.setFont(font);
              }
              if(now != null) g.drawString(now, 4*sec, getHeight()/2);
                           // 座標を指定して文字列を表示する
          }
    

  6. 以上の記述が終了したところで,このファイル ClockPanel.java をコンパイルする



TKinoshita 2016-07-13