解答編9
「イベント処理」
 
← 前  :  次 →

問1の解答.
継承した場合で解答しておきます.

「MyFrame2.java」

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

public class MyFrame2 extends MyFrame implements ActionListener {
	public MyFrame2() {
		super();

		// イベント・リスナ登録
		countButton.addActionListener(this);
	}

	private void changeButtonLabel() {
		int num;

		num=getCountNumber()+1;
		// ボタンのラベルを設定
		countButton.setText(""+num);
		setCountNumber(num);
	}

	/**
	 * @param ae アクション・イベント
	 * 
	 * アクション・イベントが発生すると呼び出されるメソッドです.
	 */
	public void actionPerformed(ActionEvent ae) {
		changeButtonLabel();
	}

	public static void main(String[] args) {
		MyFrame2 f;

		f=new MyFrame2();
		f.setVisible(true);
	}
}

継承すると,親の持っている機能を使いまわせます. なのでクラス構造が非常にスッキリするのが わかると思います.


表紙へ戻る