JavaでHello World
Google
  HOME  |  基礎  |  掲示板  |  ツール |  書籍  |  デザインパターン  |  リンク  |  フィードバック
JavaでHello World > Swing(イベント)編  
メニュー
Home
情報交換掲示板
ツールの部屋
Java関連の書籍
アプリケーション編
Swing編
Swing(イベント)編
Swing(Look&Feel)編
アプレット編
iアプリ編
サーブレット編
サーブレット(Linux)編
サーブレット(web.xml)編
サーブレット(セッション)編
サーブレット(クッキー)編
サーブレット(フィルタ)編
JSP編
JSP(ディレクティブ)編
JSP(アクション)編
JSP(スクリプト)編
JSP(オブジェクト)編
JSP(カスタムタグ)編
JSP(データベース)編
Apache + Tomcat編
Struts編
JDBC編
JDBC(データソース)編
JDBC(MySQL)編
JDBC(PostgreSQL)編
JDBC(トランザクション)編
JavaMail(SMTP)編
JavaMail(POP)編
JNI編
RMI編
RMI(アプレット)編
CORBA編
JNDI編
EJB編
EJB(Entity Bean)編
JMS(PTP)編
JMS(Pub/Sub)編
XML(SAX)編
XML(DOM)編
XSLT編
SOAP編
国際化編
国際化(タイムゾーン)編
国際化(通貨)編
リフレクション編
コレクション編
コレクション(Set)編
コレクション(List)編
コレクション(Map)編
スレッド編
正規表現編
アサーション編
ログ機能編
サウンド編
ファイル入出力編
URL編
ソケット編
データグラム編
HTTP
FTP編
jar編
javadoc編
Ant編
外部コマンド編
プロパティファイル編
システムプロパティ編
Eclipse編
  2003/01/16  田中宏和
Swing(イベント)編
◆Swingとは?
SwingとはJavaでGUIアプリケーションを作成するためのパッケージです。Swingを使用することによって、実行環境によらない統一されたGUI(グラフィカル・ユーザー・インターフェース)を作成できます。
◆イベントとは?
イベントとは「ボタンが押された」、「ウインドウが閉じられた」などの出来事のことです。
◆Javaでのイベントの処理
Javaの場合、イベントが発生したときに実際に処理するクラス(イベントハンドラクラス)を作成します。イベントハンドラクラスを実際にイベントが発生するオブジェクトに登録することによってイベントが発生したときにイベントハンドラクラスのメソッドが呼び出されるようになります。
◆ここでの環境
OS Windows XP
J2SE SDK 1.4.1_01
◆実行環境の構築
実行環境の構築についてはアプリケーション編を参考にしてください。
◆ソースコード
ここではボタンが押されたときに「Hello World」と表示するアプリケーションを作成します。ボタンなどが押されるなどのユーザーが実行するイベントをアクションと呼びます。
イベントハンドラクラスの作成
イベントを受け取けとって処理するクラスを作成するにはリスナインターフェースを実装(implements))します。ここではボタンを押すというアクションを受け取って処理するのでActionListenerインターフェースを実装します。
implements ActionListener
そして実際にイベントが置きた時に呼び出されるメソッドを記述します。
public void actionPerformed(ActionEvent ae)
イベントハンドラクラスの登録
実際にイベントが発生する場所(オブジェクト)に上で作ったイベントハンドラクラスを登録します。そうすることでイベント発生時にイベントハンドラクラスのメソッドが呼び出されます。
button.addActionListener(this);
HelloWorldSwingEvent.java(ここからダウンロード)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class HelloWorldSwingEvent extends JFrame implements ActionListener {
  JButton button;
  JLabel label;
  // コンストラクタ
  public HelloWorldSwingEvent() {
    // コンテントペインを取得
    Container contentPane = getContentPane();
    // レイアウトマネージャーを設定
    contentPane.setLayout(new GridLayout(2,1));
    // ラベルを生成
    label = new JLabel("");
    // 文字を真ん中に表示
    label.setHorizontalAlignment(JLabel.CENTER);
    // ラベルを追加
    contentPane.add(label);
    // ボタンを作成
    button = new JButton("表示");
    // アクションリスナーを登録
    button.addActionListener(this);
    // ボタンを追加
    contentPane.add(button);
    // ウインドウが閉じられたときにアプリケーションを終了するように設定
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    // サブコンポーネントの推奨サイズおよびレイアウトに合わせて
    // この Window をサイズ変更するように設定
    pack();
    // 表示します
    setVisible(true);
  }
  public static void main(String[] args) {
    // フレームを作成
    HelloWorldSwingEvent frame = new HelloWorldSwingEvent();
  }
  /**
   * アクションが発生すると呼び出されます。
   */
  public void actionPerformed(ActionEvent ae){
    // イベントが指定されたボタンで発生した場合
    if (ae.getSource().equals(button)) {
      label.setText("Hello World");
    }
  }
}
 
 
◆コンパイルと実行
コマンドプロンプト

C:\JavaHello\Swing>javac HelloWorldSwingEvent.java

C:\JavaHello\Swing>java HelloWorldSwingEvent

ボタンを押してみます。
おおおお!表示されましたね!
 
■関連
Swing編

 
  ネットで買えば断然お得!お買い物なら楽天市場
ツールの部屋 - Java関連の書籍 - デザインパターン - 情報交換掲示板 - HOME