クライアントアプリケーションを開発するときは、GUIツールキットのライブラリを利用することでOSのウィンドウシステム(GUI)に従ったデザインのアプリケーションを開発することができる。

GUIツールキット

・Abstract Window Toolkit (AWT)
・Swing
・Standard Widget Toolkit (SWT)

Abstract Window Toolkit (AWT)

 AWTはJavaが公開され始めた当初に使われていたが、現在はJFC(Java Foundation Classes)の一部として提供されている。ブタンやテキスト入力、チェックボックスなどのパーツ(部品)をコンポーネントと呼び、このコンポーネントは標準的な役割を実装した状態で汎用的に再利用できるようになっている。

 java.awt (Java Platform SE 6)

サンプルコード

import java.awt.*;
 
public class Sample extends Frame {
    public Sample() {
        super();
    }
    public static void main (String args []) {
        Sample newWindow = new Sample();
        newWindow.setVisible(true);
    }
}

 

Swing

 サン・マイクロシステムズ(オラクルが買収する前)が AWT を改良したライブラリ。Javaのプログラムの中でコンポーネントの描画設計ができるのでデザインの自由度が高くなっている。

サンプルコード

import javax.swing.JFrame;
import javax.swing.JLabel;
 
public class Sample {
  public static void main (String [] args){
    JFrame frame = new JFrame() ;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
    frame.getContentPane().add(new JLabel("Samples")) ;
    frame.pack(); 
    frame.setLocationRelativeTo (null) ;
    frame.setVisible (true) ;
  }
}

Standard Widget Toolkit (SWT)

 SWTの開発元はJavaなどのプログラミング言語が使用できる統合開発環境Eclipseを開発したIBMである。AWTやSwingの代替品として開発された。システムリソースの消費量が少ないため、Swingよりもベンチマークが高い。

サンプルコード

import org.eclipse.swt.widgets.*;

public class Sample {
  public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell(display);
    shell.setText("Sample");
    shell.setSize(200,200);
    shell.open();
    while (!shell.isDisposed ()){
      if (!display.readAndDispatch ()){
        display.sleep ();
      }
    }
    display.dispose ();
  }
}

参考

 ウィジェット・ツールキット – Wikipedia