目次

アプレットなJavaの基礎講座

GUI部品2(テキストフィールド)

◆ はじめに

ボタン、ラベル等のGUI部品は、カンタンにできました。
さて、つぎはテキストフィールドをお勉強いたしましょう。

◆ テキストフィールドのサンプル

以下は、テキストフィールドに文字を入力して、ボタンをクリックすると、メッセージをラベルに表示するアプレットです。
まずは、サンプルソースを見てください。

尚、このサンプルソースは、「初体験 Java 」(著者 丸の内とら 技術評論社)をかなり参考にさせてもらいました。
著作権等の問題がありましたら、ご連絡ください。いつもお世話になっています!

jlearn08.javaの内容

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class jlearn08 extends Applet{
	Button myBtn;
	Label myLbl;
	TextField myTxt;
	Panel myPnl;
	public void init(){
		//パネルを作成
		myPnl = new Panel();
		//パネルにレイアウトを設定
		myPnl.setLayout(new GridLayout(2, 1));
		//ボタンを作成
		myBtn = new Button("名前を入力してクリックしてください。");
		//テキストフィールドを作成
		myTxt = new TextField();
		//パネルに部品を追加
		myPnl.add(myTxt);
		myPnl.add(myBtn);
		//全体をボーダーレイアウトに設定
		setLayout(new BorderLayout());
		//ラベルを作成
		myLbl = new Label("", Label.CENTER);
		//ボタンを配置
		add ("North", myPnl);
		add("Center", myLbl);
		//ボタンのイベント処理メソッドを定義
		myBtn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e){
				repaint();
			}
		});
	}
	public void paint(Graphics g){
		myLbl.setText(myTxt.getText() + "さん、お元気ですか!");
	}
}

コメントを見れば大体理解できると思いますが...、そう、コメント通りです。

ただ、テキストフィールド作成処理のところが目新しいので説明します。

        TextField myTxt;   --------------(1)
        myTxt = new TextField();---------(2)
        myPnl.add(myTxt);----------------(3)

        myLbl.setText(myTxt.getText() + "さん、お元気ですか!"); -------(4)

◆ MS-DOSプロンプトからそのソースをコンパイルします。

ソースファイルが完成したら、MS-DOSプロンプトからそのソースをコンパイルします

D:\javalean>javac jlearn08.java
D:\javalean>dir /B
jlearn08.java
jlearn08.class

◆ APPLETタグで本クラスを指定したHTMLファイル(jleran08.htm)作成します。

jlearn08.htmの内容

<HTML>
<BODY>
<APPLET CODEBASE="../applet/" CODE="jlearn08.class" WIDTH="300" HEIGHT="300">
</APPLET>
</BODY>
</HTML>

        CODEBASE属性は、jlearn08.classとjlearn08.htmが同じフォルダーにあれば不要です。
        また、CODEBASE属性を指定しない場合、セキュリティ上の理由で参照可能なフォルダーは、
        現在の文書が含まれているフォルダーのサブフォルダーのみです。

さぁ! 8回目のAです。クリックしてアプレットを体験してください。

目次