• 課題
  • 講義資料のJavaアプレットを参考に、簡単なディスプレイ出力Javaアプレットを作成せよ。

  • アプレットのソースコード
  • import java.awt.*;
    public class TextApplet extends java.applet.Applet {
        TextArea  ta;                       // テキスト領域
        TextField tf;                       // テキスト枠
    
        public void init() {
            setLayout(new BorderLayout());  // レイアウト指定の仕方を変える
            ta = new TextArea(5, 30);       // 5行×30字のテキスト領域
            ta.setEditable(false);          // テキスト枠は編集不可
            tf = new TextField(30);         // 30字のテキスト枠
            add("Center", ta);              // 中央にテキスト領域を貼る
            Panel pa = new Panel();         // 新しいパネルを作る
            add("South", pa);               // それを南側(下側)に貼る
            pa.add(new Label("入力:"));     // パネルにラベルを貼る
            pa.add(tf);                     // パネルにテキスト枠を貼る
            ta.setText("*** 下に入れたことがここに表示されます ***\n");
                                            // テキスト領域に表示
        }
    
        public boolean action(Event e, Object o) {  // 何か起これば
            if (e.target == tf) {           // テキスト枠で起こったなら
                String s = tf.getText();    // テキスト枠の内容を得る
                ta.appendText("\n" + s);    // テキスト領域に追加
                tf.setText("");             // テキスト枠を空にする
                return true;                // 処理終了
            }
            return false;                   // 処理未了
        }
    }
    


  • 実行結果

  • TextApplet 

  • 考察
  • テキスト入力ができるアプレットプログラムを作成した。

  • アプレット内の文字化けは、直接エンコードできない。アプリケーションと違って自動変換されないのか。
  • ちなみに、文字化けした所には、"下に入れたことがここに表示されます"というメッセージが書かれている。
  • チャットなどに応用できそうだが、実際にはこれだけではおもしろくないので、 下のテキスト枠に入れたことに何らかの処理をしてから上の領域に表示するようにできないか考えてみた。調べてみると、つぎのような文法があり、以下のように記述することで、文字のサイズをかえることができることが分かった。

    全体の文字サイズを変えるには init() の頭のところでたとえば
    setFont(new Font("Serif", Font.PLAIN, 20));
    のようにします。これは Serif フォントで20ポイントにします。 フォント名がわからない場合は,もともとのフォントという意味で, 次のように指定することもできます。
    String fontname = getFont().getName(); // フォント名を取得
    setFont(new Font(fontname, Font.PLAIN, 20));
    なお,部分的に文字サイズを変えるには,paint(Graphics g) の中で g.setFont(...) のようにします。 この g. を忘れるとうまく働きません。



  • 参考資料
  • ジョゼフ=オニール著 独習Java第3版 (翔永社)

    最初のアプレット(参考ページ)

  • 感想
  • 今回一番苦労した所はHPにアプレットを載せることです。コンパイルからアプレットの実行、さらにそれをサイトに貼付けるのがてこずりました。また、アプレットの文字化けについての考察がまだまだ不足しているという感じですが、時間の都合上とりあえず今はここまでにしておきます。来週までには考察し直して更新しておきます。