////////////////////////////////////////////////////////////////////////////////
// << ja129a.java >>
//
//  JApplet(2):部品(パネル、文字の描画)
//
//  文字や図形の描画は、パネルというコンポーネントに行う。
//  パネルは、コンテンツペインに追加される。
//  パネルはコンテナであり、文字や図形を描画できるコンポーネントでもある。
//
//  ●JPanelクラス
//    部品をグループ分けして、各グループごとに異なるレイアウトマネージャーを
//  指定するとき、JPanelクラスが使われる。
//    ディフォルトレイアウトマネージャーは、FlowLayoutである。
//
// ●JComponentクラスのメソッド
//  void paintComponent(Graphics g)
//     機能:このメソッドをオーバーライドして、描画処理を書く。
//            親クラスに対して、super.paintComponent() を実行する必要がある。
//
////////////////////////////////////////////////////////////////////////////////

import java.awt.*; 
import javax.swing.*;

public class ja129a extends JApplet {

  public void init() {
    // アプレットからコンテンツペインを取得。
    Container c = this.getContentPane();

    // コンテンツペインのレイアウトマネージャをBorderLayoutに設定。
    c.setLayout(new BorderLayout());

    // パネルの作成。
    ja129ap p = new ja129ap();
    p.setBackground(Color.yellow);
 
    // パネルをコンテンツペイン内に追加。
    c.add(p,BorderLayout.CENTER);
  }

  // パネルの定義(内部クラス)。
  class ja129ap extends JPanel {
    public void paintComponent(Graphics g) {
      super.paintComponent(g);
      g.drawString("こんにちは",50,50);
    }
  }
}
HTMLファイル
<html>
<head>
  <title>アプレット</title>
</head>
<body bgcolor=white text=black>
<applet code="ja129a.class" width="300" height="200">
</applet>
</body>
</html>
実行結果