Java 入門

ホーム > Swing による GUI > 最も単純なフレーム - Swing

最も単純なフレーム - Swing

ここでは Swing を利用して、最も単純なフレーム (Frame) を表示します。

Swing によるフレームの表示

フレームというのは、Java ではトップレベルウィンドウ (top-level window) のことを指します。 AWT ではフレームは Frame というクラスであり、Swing では JFrame といいます。そして、これは Frame の派生クラスです。

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


public class SwingTestApp1 {

     public static void main(String[] args) {

          EventQueue.invokeLater( new Runnable() {
          
               public void run() {
                    
                    JFrame frame = new JFrame();
                    frame.setSize( 300, 200 );
                    frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
                    frame.setVisible(true);
                    
               }
          } );
          
     }
     
}

コードをみてみましょう。

まず Swing のクラス群は javax.swing.* に含まれています。javax というのは、 Swing が AWT の拡張 (eXtension) という位置付けだからです。

JFrame のインスタンスを作成した後は、サイズを指定し (setSize メソッド)、 フレームを閉じた時の動作を指定し (setDefaultCloseOperation メソッド)、 そして最後にフレームを表示しています (setVisible メソッド)。

最低でもこれだけはやらないと、ウィンドウが見えてきません。

イベント・ディスパッチ・スレッドで処理を行う

注意する点としては、Swing の UI コンポーネントは全てイベント・ディスパッチ・スレッド (event dispatch thread) で行う ということです。

これを実現するために、上記のように EventQueue の invokeLater メソッドを利用しています。

EventQueue.invokeLater( new Runnable() {
     public void run() {
         ...
     }
} );
ホーム > Swing による GUI > 最も単純なフレーム - Swing