初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
イベントサンプル集
今回のイベントプログラムではアプレットの背景色をすべて白に設定しています。
それはjavaのバージョンやブラウザの環境によりデフォルトではグレーになったり白になったりしますので
ここでは、すべて白に統一させています。
もし他の色を指定したい場合は
setBackground(new Color(0, 0, 0));の数字を0〜255の間で指定してやることでいろいろな色に変更できます。テキストフィールドに入力した文字列をラベルに表示する
今回のイベントの概要
テキストフィールドに何か文字を入力した後にEnterでラベルに表示させます。今回使用するイベントリスナーはActionListenerです。
addActionListenerでイベントを受け取れるよう登録します。またActionListenerではイベント処理メソッドを必ずactionPerformedメソッドをオーバーライドしなければいけません。
テキストフィールドではEnter-キーを押したときにイベントが発生します。
では、サンプルプログラムで確認していきます。
サンプルプログラム(EventSample34.java)
//java.appletパッケージをimport宣言 //java.awtパッケージもimport宣言 //java.awt.eventパッケージもimport宣言
import java.applet.*; import java.awt.*; import java.awt.event.*; public class EventSample34 extends Applet implements ActionListener{ //テキストフィールドとラベルの作成 TextField tf = new TextField(30); Label la = new Label(); public void init(){ //アプレットの背景色を指定 setBackground(new Color(255, 255, 255)); //レイアウトの指定 setLayout(null); add(tf); add(la); //テキストフィールドとラベルの位置を指定 tf.setBounds(20,10,150,20); la.setBounds(20,40,200,20); //テキストフィールドにActionListenerを登録します。
tf.addActionListener(this); } //イベント処理メソッドをオーバーライドします。 public void actionPerformed(ActionEvent e){ if(e.getSource() == tf){ la.setText(tf.getText()); tf.setText(" "); } } }
プログラムをコピーする場合すべて選択をクリックしてください。
HTMLの作成(EventSample34.html)
<html> <head> <title>テキストフィールドに文字を入力しラベルに表示させる</title> </head> <body>
<h1>文字を入力後Enterを押してください!</h1> <applet code="EventSample34.class" width="250" height="150"></applet> </body> </html>
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
解説
テキストフィールドに何らかの文字を入力させEnterキーでアクションをさせます。
イベント処理をおこないますのでActionListenerを実装します。
今回使用するテキストフィールドとラベルを作成しています。
public void init()メソッド内ではまずテキストフィールドとラベルの位置を設定しています。テキストフィールドにイベントをおこなえる様に登録をしています。
それが
tf.addActionListener(this);です。
イベント処理を記述するイベント処理メソッドをオーバーライドしています。
今回ActionListenerを実装しているのでオーバーライドするメソッドは
actionPerformedメソッドだけです。
actionPerformedメソッド内の記述ですがそこに実際イベントの処理内容を記述します。
if文内ですが今回はsetTextメソッドの引数にgetText()メソッドを指定しています。このメソッドも良く使うのですが このメソッドはテキストフィールドに入力された文字列を取り出すときに使います。
つまりla.setText(tf.getText());とすることで、テキストフィールドに入力された文字列を取得しています。
実際にイベントの処理を確認しましょう
ページのトップへ戻る