Javaプログラミング/Javaプログラミング関連情報

JFrameでウインドウを表示する(2ページ目)

今回から、JavaのGUIフレームワーク「Swing」の使い方を解説していきます。まずは、JFrameを使ってウインドウを表示する基本から説明しましょう。

執筆者:掌田 津耶乃

JFrameを使った基本コード


それでは、実際にSwingを使ってみることにしましょう。SwingはAWTとは別のGUIフレームワークですが、しかし基本的な部分はAWTとかなり似ています。AWTでは、一般的なウインドウを使ったアプリケーションを作成する場合、Frameクラスを継承してクラスを定義しました。

Swingでもこれは同様です。ただし、用意されているクラス名はFrameではなく「JFrame」となります。では、ごく初歩的なウインドウ表示プログラムを作成してみましょう。ここでは、jp.allabout.javaというパッケージに「SampleApp」という名前でクラスを作成してみます。

package jp.allabout.java;

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

public class SampleApp extends JFrame {
  private static final long serialVersionUID = 1L;

  public SampleApp(){
    this.setSize(new Dimension(300,200));
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
  
  public static void main(String[] args) {
    new SampleApp().setVisible(true);
  }
}

ウインドウが1枚だけ表示される。これが、Swingのウインドウだ。


ごく単純なものですね。単に、何もないウインドウを1枚画面に表示しているだけです。そのままウインドウのクローズボックスをクリックすればプログラムは終了します。なんていうこともないサンプルですが、この短いサンプルの中からSwingのもっとも基本となる知識がいくつか見て取れます。

・Swingのコンポーネントは、javax.swingパッケージ!
AWTの場合、コンポーネント類はjava.awtパッケージにまとめられていました。Swingの場合には、javax.swingというパッケージになります。

・コンポーネント名は「J」がつく!
ここでは、「JFrame」というコンポーネントを利用しました。これは、AWTでウインドウを表示するのに使う「Frame」のSwing版といってよいでしょう。Swingにも、AWTに用意されていたコンポーネント類とほぼ同じものが用意されています。ただし、同じクラス名だと混乱してしまうので、Swing側ではクラス名の冒頭に「J」がつきます。FrameならばJFrame、ButtonならばJButtonといった具合です。

・JFrameにはクローズボックスの処理が標準である
ここでは、Swing特有の処理が1行だけ書かれています。「setDefaultCloseOperation」というメソッドです。これはJFrameに用意されているもので、クローズボックスをクリックしてウインドウを閉じようとしたときの処理方法を指定するものです。これは、JFrameに用意されているクラスフィールドを指定します

ここでは、JFrame.EXIT_ON_CLOSEというものを設定していますね。これは、ウインドウを閉じてそのままプログラムを終了する、という処理方法を示すものです。これを設定することで、クローズボックスをクリックしたらプログラムが終了するようになっていたのです。AWTのように、いちいちWindowListenerを組み込まなければいけないのと比べるとずいぶんと簡単ですね。


  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます