アプリケーションの大枠となるウィンドウです。SWTでは、このウィンドウをシェルと呼びます。
コンポーネント | 説明 | Swingへの対応 | |
---|---|---|---|
Shell | タイトルバーや最小化/最大化/閉じるボタンを持たせるウィンドウ。ウィジットは、このウィンドウ内に配置する | JFrame | |
文字列の入出力や、イベントの発生などを行うことができます。
コンポーネント | 説明 | Swingへの対応 | |
---|---|---|---|
Button | 通常のボタン、チェックボタン、ラジオボタン、トグルボタンとして使用 | JButton JCheckBox JRadioButton JToggleButton |
|
Text | テキスト入力が可能なボックス。単一行/複数行、スクロールバーの有無などを指定できる | JTextField JTextArea |
|
Combo | テキストボックスとドロップダウンが組み合わさった、コンボボックス。テキストボックスは手入力を禁止(Read Only)することもできる | JComboBox | |
Slider | 数値を調節するため、ほかのウィジェットと同期してスクロールするバー | JSlider | |
文字列や画像の表示、一覧やツリーなど、さまざまなものを表示できます。
コンポーネント | 説明 | Swingへの対応 | |
---|---|---|---|
Label | 文字や画像を表示 | JLabel | |
Canvas | 任意のグラフィックスを描画 | JPanel | |
List | 一覧を表示することができる 一覧の中から、単一行または複数行を選択するように指定できる | JList | |
Table | 2次元の表を表示することができる 列にはヘッダを付けることもできる | JTable | |
Tree | ディレクトリ階層など、親子関係を持つ要素を表示することができる | JTree | |
ProgressBar | 進ちょくを表すバーを表示することができる | JProgressBar | |
ウィンドウの上部に、メニューやツールバーを配置できます。
コンポーネント | 説明 | Swingへの対応 | |
---|---|---|---|
Menu | 「ファイル」や「ヘルプ」といったメニューをメニューバー上に表示 | JMenu | |
ToolBar | アイコンや文字を持つボタンから構成されるツールバーを表示 | JToolBar | |
CoolBar | マウスでドラッグすることにより配置を変更することのできるツールバー | なし | |
ほかのウィジェットを中に含めることができます。
コンポーネント | 説明 | Swingへの対応 | |
---|---|---|---|
Composite | ほかのウィジェットを中に含めることができる | JPanel | |
Group | Compositeと同様にほかのウィジェットを中に含めることができ、さらに枠で囲むことができる | JPanel + Border | |
TabFolder | タブによりページを切り替えることができる | JTabbedPane | |
SashForm | エリアを2つに区切る。区切りをマウスで移動することができる | JSplitPane | |
次の6種類のダイアログが使用できます。
コンポーネント | 説明 | Swingへの対応 | |
---|---|---|---|
MessageBox | メッセージの表示ができる | JOptionPane | |
FileDialog | ファイルの指定が行える | JFileChooser | |
DirectoryDialog | ディレクトリの指定が行える | JFileChooser | |
ColorDialog | 色の指定が行える | JFileChooser | |
FontDialog | フォントの指定が行える | なし | |
PrintDialog | プリンタの指定が行える | Java Print APIのPrinterJob | |
以下は目に見えるウィジェットではありませんが、アプリケーションを構築するうえで必要なものです。
レイアウトを指定し、コンテナ系ウィジェット内の配置を調整できます。
コンポーネント | 説明 | Swingへの対応 | |
---|---|---|---|
FillLayout | すき間を詰めて水平または垂直にウィジェットを配置する | BoxLayout | |
FormLayout | 他のウィジェットのレイアウトを参照して配置することができる。例えば「ウィジェットAの下端からnピクセル離れてウィジェットBを置く」といった指定ができる | SpringLayout | |
RowLayout | 水平または垂直にウィジェットを配置します。マージンやウィジェット間のスペースを指定できる | BoxLayout FlowLayout |
|
GridLayout | HTMLのtableタグに似た形式で配置できるowspanやcolspanを指定できる | GridBagLayout | |
StackLayout | トップにあるウィジェットだけを表示するレイアウト | CardLayout | |
注:SwingではJava AWTのレイアウトマネージャを使用するため、java.awt配下のクラスも「Swingへの対応」として列挙しています。 |
キー入力やウィジェットの選択などのさまざまなイベントにより、起動されるインターフェイスです。アプリケーションのロジックは、リスナーを実装したクラスをウィジェットに登録することで、イベント発生時に呼び出されます。
コンポーネント | 説明 | Swingへの対応 | |
---|---|---|---|
SelectionListener | ウィジェットが選択されたときに起動され多くのウィジェットに設定することができる | ActionListener | |
KeyListener | キーボードからキー入力されたときに起動される | KeyListener | |
FocusListener | ウィジェットがフォーカスを得たり失ったときに起動される | FocusListener | |
MouseListener | ウィジェット上でマウスを押したり、放したり、ダブルクリックしたときに起動される | MouseListener | |
注:SwingではJava AWTのリスナーを使用するため、java.awt.event配下のインターフェイスも「Swingへの対応」として列挙しています。 |
また、SWTでは各リスナーを空の処理で実装するアダプタークラス(SelectionAdapterなど)を提供しています。リスナーで規定されているすべてのメソッドを実装する必要がなく、必要なメソッドのみ実装すればよいため便利です。
コンポーネント | 説明 | Swingへの対応 | |
---|---|---|---|
Display | SWTとプラットフォームとの間の接続を表します。アプリケーションの最初に作成され、最後に削除される | なし | |
Program | ファイルの拡張子によって関連付けられている外部のプログラムを起動できる | なし | |
SWT | ウィジェットを生成するときに指定するスタイルを、定数として定義している | なし | |
金子 崇之(かねこ たかゆき)
現在、株式会社NTTデータ ビジネス開発事業本部に所属。技術支援グループとして、J2EEをベースにしたWebシステム開発プロジェクトを対象に、技術サポートを行っている。特に、性能・信頼性といった方式技術を中心に活動中。
岡本 隆史(おかもと たかし)
NTTデータ 技術開発本部 所属。Debian GNU/Linuxの優れたメンテナンス性と他のディストリビューションを圧倒するパッケージ数に引かれDebianを使い始めたのをきっかけに、Debian プロジェクトの開発者となりJavaサポートの強化を行う。『Jakartaプロジェクト徹底攻略』(技術評論社)、『WEB+DB PRESS』(技術評論社)、『Java World』(IDGジャパン)、『JAVA Developer』(ソフトバンクパブリッシング)などで執筆活動を行っている。
Copyright © ITmedia, Inc. All Rights Reserved.