背景色を指定するぞ

Digit Maniaに登録されてる画像には透過GIFのものがあります。これをいままでのアプレットで表示すると
現在の時刻は です。
となって見た目が全然よくないですね。やはり
現在の時刻は です。
と表示されて欲しいものです。ソースはDigitalClock04.javaになります。

アプレットのパラメータで背景色も指定できるようにしました。背景色を指定する場合は呼び出すHTMLの中で
    <APPLET code="DigitalClock04.class" width="208" height="39">
      <PARAM name="imagedir" value="images/lumnous/">
      <PARAM name="bgcolor" value="000000">
    </APPLET>
のようにbgcolorパラメータを指定します。値はHTMLのカラー指定でお馴染みの16進数を用います。“0000FF”が青、“FF0000”が赤といったアレですね。

ここで渡されたパラメータをinitメソッドで処理します。処理は簡単で
    try {
        setBackground(new Color(Integer.parseInt(getParameter("bgcolor"), 16)));
    } catch (NumberFormatException e) {
    }
で終わりです。一行にまとめてますがやってるのは
    try {
        String param = getParameter("bgcolor"); // パラメータに指定された文字列を取得
        int hex = Integer.parseInt(param, 16);  // 16進数で記述された文字列を整数に変換
        Color bgColor = new Color(hex);         // 得られた整数でColorオブジェクトを作成
        setBackground(bgColor);                 // Colorオブジェクトが保持する色に背景色指定
    } catch (NumberFormatException e) {         // Integer.parseInt()のときの例外をキャッチ
    }
ということです。
まずgetParameterで16進数の文字列を取得します。それをInteger.parseIntで整数に変換します。parseIntの二番目の引数に1 を指定して、変換しようとしている文字列が16進数であることを指定してます。得られた整数を引数にnew ColorでColorオブジェクトを作成し、それを引数にsetBackgroundを呼びます。

前の項目へ次の項目へ
「メイキング・オブ・DigitalClock」へ

最終更新日 : 1999年3月14日(日)

カメ飼ってます Valid HTML 4.0! Made with CSS midosabu@postpet.so-net.ne.jp