koboriakira.com

はじめに

ボタンを押したら、テキストが変わるプログラム。こちらからの操作に対して反応してくれる初めてのサンプル。

これを応用すれば、ボタンを押すと音が鳴ったりするプログラムが作れるわけか。ちょっと楽しくなってきた。

サンプルコード

import javax.swing.;import java.awt.;import java.awt.event.*;public class Sample extends JApplet {private JButton bt;private JLabel lb;public void init() {bt = new JButton(“購入”);lb = new JLabel(“いらっしゃいませ”);add(bt, BorderLayout.NORTH);add(lb, BorderLayout.SOUTH);bt.addActionListener(new SampleActionListener());}class SampleActionListener implements ActionListener {public void actionPerformed(ActionEvent e) {lb.setText(“ご購入ありがとうございます。”);}}}

分かったこと

  • イベント、ソース(イベントソース)、リスナ

[…]ユーザーの操作を、イベント(event)という概念で扱うことになっています。[…]
イベントの発生元となるコンポーネントは、イベントソース(event source)、またはソース(source)と呼ばれています。[…]
発生したイベントは、リスナ(listener)と呼ばれる部分で処理することになります。
(『やさしいJava活用編(第4版)』、ソフトバンククリエイティブ、2013年、40-41頁。)

  • ActionListenerインターフェイス

  • addActionListener()メソッドで、アクションリスナーを追加することができ、actionPerformed()メソッドで、アクションが発生したときの処理を始めることができる。addActionListener()メソッドは、ボタン以外でも使えるものがある。

  • リスナは、インターフェイスとメソッドの両方が無いといけないんだろうな。

疑問点

  • 「actionPerformed(ActionEvent e)」の「ActionEvent e」は、とりあえず書いておけばいいのかな。

    Kobori Akira

    IT業界の社会人。最近はプロレスと音楽の話題が多め。
    読む価値のある記事は Qiitanote に投稿します。
    過去人気だったブログ記事はこちらから。