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