JavaTM 2 Platform
Std. Ed. v1.3

パッケージ javax.swing

すべてのプラットフォームで可能な限り同じように機能する、「軽量」(Java 共通言語) コンポーネントのセットを提供します。

参照:
          説明

インタフェースの概要
Action Action インタフェースは、同じ機能が複数のコントロールによってアクセスされる場合に、ActionListener インタフェースに対する便利な拡張機能を提供します。
BoundedRangeModel スライダや進捗バーなどのコンポーネントが使用するデータモデルを定義します。
ButtonModel ボタンの状態モデルです。
CellEditor すべての汎用エディタが実装可能であるべきメソッドを定義します。
ComboBoxEditor JComboBox コンポーネントに使われるエディタコンポーネントです。
ComboBoxModel ComboBoxDataModel は、選択項目を持つ ListDataModel です。
DesktopManager DesktopManager オブジェクトは、JDesktopPane オブジェクトによって所有されます。
Icon 通常はコンポーネントを装飾するために使う、固定サイズの小型イメージです。
JComboBox.KeySelectionManager KeySelectionManager を定義するインタフェースです。
ListCellRenderer JList 内のセルをペイントする「ゴム印」として使用できるコンポーネントを識別します。
ListModel JList などのコンポーネントがリスト内の各セルの値およびリストの長さを取得するために使用するメソッドを定義します。
ListSelectionModel 固定のインデックスを持つ値のリストを表示するコンポーネントの、現在の選択状態を表します。
MenuElement メニューに配置できるコンポーネントはすべて、このインタフェースを実装する必要があります。
MutableComboBoxModel ComboBoxModel の可変バージョンです。
Renderer 値の描画 (表示) を行うオブジェクトの必要条件を定義します。
RootPaneContainer このインタフェースは、JRootPane の子を 1 つ持つ JDialog、JFrame、JWindow、JApplet、JInternalFrame などのコンポーネントによって実装されます。
Scrollable JScrollPane などのスクロールコンテナに情報を提供するインタフェースです。
ScrollPaneConstants JScrollPane コンポーネントとともに使われる定数です。
SingleSelectionModel インデックス付き選択範囲を 1 つだけサポートするモデルです。
SwingConstants 一般的には画面上でコンポーネントの配置および方向指定を行うために使う、定数のコレクションです。
UIDefaults.ActiveValue このクラスを使うと、getXXX(key) メソッドでルックアップされるたびに構築されるデフォルトのテーブルにエントリを格納できます。
UIDefaults.LazyValue このクラスを使うと、getXXX(key) メソッドで初めてルックアップされるまで構築されないデフォルトのテーブルにエントリを格納できます。
WindowConstants ウィンドウのクローズ操作を制御する定数です。
 

クラスの概要
AbstractAction JFC の Action インタフェースのデフォルトの実装を提供します。
AbstractButton ボタンおよびメニュー項目の共通動作を定義します。
AbstractCellEditor  
AbstractListModel List にその内容を提供するデータモデルのための、抽象定義です。
ActionMap ActionMap は、Object (キーまたは Actionと呼ばれる) から Action へのマップを提供します。
BorderFactory 標準的な Border オブジェクトを提供するためのファクトリクラスです。
Box BoxLayout オブジェクトをレイアウトマネージャとして使用する、軽量なコンテナです。
Box.Filler レイアウトに関連し、ビューを持たない軽量コンポーネントの実装です。
BoxLayout 複数のコンポーネントを、垂直方向にも水平方向にも配置できるようにする、レイアウトマネージャです。
ButtonGroup 複数のボタンのセットに多重排他のスコープを設定するために使用します。
CellRendererPane セルレンダリングとそれを使うコンポーネントの間に挿入されます。
ComponentInputMap ComponentInputMap は、特定の JComponent に関連した InputMap です。
DebugGraphics グラフィックスのデバッグをサポートする Graphics のサブクラスです。
DefaultBoundedRangeModel BoundedRangeModel の汎用実装です。
DefaultButtonModel Button コンポーネントのデータモデルのデフォルト実装です。
DefaultCellEditor テーブルとツリーセルのデフォルトエディタです。
DefaultComboBoxModel コンボボックスのデフォルトモデルです。
DefaultDesktopManager DesktopManager の実装です。
DefaultFocusManager デフォルトの Swing フォーカスマネージャの実装です。
DefaultListCellRenderer リストの項目を描画します。
DefaultListCellRenderer.UIResource UIResource を実装する DefaultListCellRenderer のサブクラスです。
DefaultListModel java.util.Vector API を実装して、ListDataListener に変更が生じるときを通知します。
DefaultListSelectionModel リスト選択のデフォルトデータモデルです。
DefaultSingleSelectionModel SingleSelectionModel の汎用実装です。
FocusManager Swing フォーカスマネージャです。
GrayFilter イメージをグレースケールに変換し、イメージ内のピクセルにブライトネスを加えることによって、イメージを「無効にする」イメージフィルタです。
ImageIcon アイコンをイメージから描画する Icon インタフェースの実装です。
InputMap InputMap は、入力イベント (現在は KeyStroke のみ使用) と Object の間のバインディングを提供します。
InputVerifier このクラスの目的は、クライアントがテキストフィールドと GUI を使って、スムーズなフォーカスナビゲーションを行えるようにサポートすることです。
JApplet JFC/Swing コンポーネントアーキテクチャのサポートを追加する java.applet.Applet の拡張バージョンです。
JButton 「プッシュ」ボタンの実装です。
JCheckBox チェックボックス、つまり選択あるいは選択解除できる項目の実装で、その状態を表示します。
JCheckBoxMenuItem 選択または選択解除できるメニュー項目です。
JColorChooser JColorChooser は、ユーザが色を選択および操作できるよう設計されたコントロールの区画を提供します。
JComboBox ボタンまたはテキストフィールドと、ドロップダウンリストとを結び付けるコンポーネントです。
JComponent トップレベルのコンテナを除く Swing コンポーネントすべてのための基底クラスです。
JDesktopPane マルチドキュメントインタフェースまたは仮想デスクトップの作成に使用するコンテナです。
JDialog ダイアログウィンドウを作成するためのメインクラスです。
JEditorPane さまざまな種類のコンテンツを編集するためのテキストコンポーネントです。
JFileChooser JFileChooser はユーザがファイルを選択する単純な機構を提供します。
JFrame JFC/Swing コンポーネントアーキテクチャのサポートを強化する java.awt.Frame の拡張バージョンです。
JInternalFrame ネイティブなフレームに、ドラッグ、クローズ、アイコン化、サイズ変更、タイトル表示、およびメニューバーのサポートなど、多くの機能を提供する軽量オブジェクトです。
JInternalFrame.JDesktopIcon このコンポーネントは JinternalFrame のアイコン化したバージョンを表します。
JLabel 短いテキスト文字列やイメージの表示領域です。
JLayeredPane JLayeredPane は、JFC/Swing コンテナに深さを追加し、必要であればコンポーネントどうしが互いにオーバーラップできるようにします。
JList ユーザがリストから 1 つまたは複数のオブジェクトを選択するためのコンポーネントです。
JMenu メニューの実装であり、ユーザが JMenuBar で項目を選択すると表示される JMenuItem を保持するポップアップウィンドウです。
JMenuBar メニューバーの実装です。
JMenuItem メニューの項目の実装です。
JOptionPane JOptionPane によって、ユーザに値の入力を求めたり情報を提示したりする標準のダイアログボックスを簡単に表示することができます。
JPanel JPanel は、汎用の軽量コンテナです。
JPasswordField JPasswordField は、1 行のテキストの編集を可能にする、軽量コンポーネントです。
JPopupMenu ポップアップメニューの実装です。
JPopupMenu.Separator ポップアップメニュー固有のセパレータです。
JProgressBar ある区間内 (最小値、および最大値で区切られた区間内) で、整数値を表示するコンポーネントです。
JRadioButton ラジオボタンの実装です。
JRadioButtonMenuItem ラジオボタンメニュー項目の実装です。
JRootPane JFrame、JDialog、JWindow、JApplet、および JInternalFrame が内部で使用する軽量コンテナです。
JScrollBar スクロールバーの実装です。
JScrollPane コンポーネントのスクロール可能なビューを提供します。
JSeparator メニュー項目を論理的グループに分割する区切り線となるメニューセパレータの実装です。
JSlider ユーザが指定された区間内でノブをスライドすることによりグラフィカルに値を選択できるようにするコンポーネントです。
JSplitPane JSplitPane は 2 つの Component を分割するのに使います (2 つだけに分割)。
JTabbedPane 指定されたタイトルやアイコンを持つタブをクリックすることにより、ユーザがコンポーネントのグループを切り替えられるようにするコンポーネントです。
JTable JTable は、2 次元テーブル形式でデータを提示するユーザインタフェースコンポーネントです。
JTextArea TextArea は、プレーンテキストを表示する複数行の領域です。
JTextField JTextField は、1 行テキストの編集を可能にする軽量コンポーネントです。
JTextPane グラフィックで表現される属性でマークアップできるテキストコンポーネントです。
JToggleButton 二状態ボタンの実装です。
JToggleButton.ToggleButtonModel ToggleButton モデルです。
JToolBar JToolBar は、一般的に使用されるAction またはコントロールを表示するのに役立つコンポーネントを提供します。
JToolBar.Separator ツールバー独自のセパレータです。
JToolTip Component の「ヒント」を表示するために使います。
JTree 階層データのセットをアウトラインで表示するコントロールです。
JTree.DynamicUtilTreeNode DynamicUtilTreeNode は、ベクタ、ハッシュテーブル、配列、および文字列をラップし、必要に応じて適切な子ツリーノードを作成できます。
JTree.EmptySelectionModel EmptySelectionModel は、何の選択も許可しない TreeSelectionModel です。
JViewport 基本となる情報を見るために使用する「ビューポート (窓)」です。
JWindow JWindow は、ユーザのデスクトップ上のどこにでも表示できるコンテナです。
KeyStroke KeyStroke のインスタンスは、キーボードで打たれるキーを表します。
LookAndFeel プラグイン可能な Look & Feel コンポーネントについて、Look & Feel の特性を完全に定義します。
MenuSelectionManager MenuSelectionManager は、メニュー階層での選択を所有します。
OverlayLayout コンポーネントを互いの上に重なり合うように配置するレイアウトマネージャです。
ProgressMonitor 処理の進捗を監視するクラスです。
ProgressMonitorInputStream InputStream からの読み込みの進捗を監視します。
RepaintManager このクラスは再描画要求を管理し、コンポーネントツリーのメンバに対する複数の要求を 1 回の再描画にまとめることなどにより、再描画の回数を最小限に押さえます。
ScrollPaneLayout JScrollPane が使用するレイアウトマネージャです。
ScrollPaneLayout.UIResource ScrollPaneLayout の UI リソースバージョンです。
SizeRequirements レイアウトマネージャの便宜のために、コンポーネントのサイズと位置についての情報を計算します。
SizeSequence SizeSequence オブジェクトは、サイズおよび対応する位置の、順序付けされたリストを効果的に維持します。
SwingUtilities Swing のユーティリティメソッドのコレクションです。
Timer 定義済みの頻度でアクションを発生させます。
ToolTipManager システム内のすべてのツールヒントを管理します。
UIDefaults Swing コンポーネントのデフォルトのテーブルです。
UIDefaults.LazyInputMap LazyInputMap は、createValue メソッドに InputMap を生成します。
UIDefaults.ProxyLazyValue このクラスは、生成されるインスタンスに Class のロードを遅延させる LazyValue の実装を提供します。
UIManager このクラスは、現在の Look & Feel とそのデフォルトを追跡します。
UIManager.LookAndFeelInfo メニューの設定またはアプリケーションの初期設定のために、インストール済みの Look & Feel の簡単な情報を提供します。
ViewportLayout JViewport のデフォルトのレイアウトマネージャです。
 

例外の概要
UnsupportedLookAndFeelException Look & Feel の管理クラスがユーザのシステムにないことを示す例外です。
 

パッケージ javax.swing の説明

すべてのプラットフォームで可能な限り同じように機能する、「軽量」(Java 共通言語) コンポーネントのセットを提供します。これらのコンポーネントの使用についてのプログラマ用ガイドとしては、「The Java Tutorial」 のトレール「Creating a GUI with JFC/Swing」を参照してください。他のリソースとしては、「関連項目」を参照してください。

Swing アーキテクチャを使うと、以下の領域でさまざまな利点があります。

「さまざまなコンポーネント」

一般に、「J」で始まるクラス名は、アプリケーションに追加するコンポーネントです。たとえば、JButton、JLabel、JList、JPanel、JTable、JTree などがあります。swing パッケージのその他のファイルには、コンポーネントが機能するためのユーティリティクラスやインタフェースが含まれています。

「プラグイン可能な Look & Feel」

1 つの「Look & Feel」に限定されずに、Look & Feel を選択して、「プラグイン」として利用できます。Swing コンポーネントで生成したインタフェースは、Win32 アプリケーション、Motif アプリケーション、または Mac アプリケーションと同じ外観にできます。また、新しい「Metal」Look & Feel を利用できます。開発者は、標準 Swing コンポーネントを使って、独自の Look & Feel (L&F) を設計でき、ユーザに希望の Look & Feel を選択してもらうこともできます。plaf パッケージには、「プラグイン可能な Look & Feel」クラスが標準で用意されています。

「MVC アーキテクチャ」

Model View Controller (MVC) アーキテクチャは、Swing コンポーネントセット全体で一貫して使用されます。アーキテクチャの View 部と Controller 部は、コンポーネント内で組み合わされます。各コンポーネントには、関連した Model クラスおよび使用するインタフェースがあります。Model クラスをサブクラス化するか、適切なインタフェースを実装すると、コンポーネントに独自のデータモデルを提供できます。たとえば、DefaultListModel をサブクラス化するか、ListModel インタフェースを実装し、JList の setModel メソッドを使用すると、コンポーネントに独自のデータモデルを接続できます。

「キーストロークの処理」

JComponent アーキテクチャでは、入れ子のコンポーネントでキーボードイベントを簡単に処理できます。KeyStroke オブジェクトを生成し、それをコンポーネントに登録することで、特定のキーストロークの組み合わせを登録します。キーストロークの組み合わせとそれに関連したアクションを登録するときには、以下のどれかの条件を指定して、いつアクションを開始するかを決定します。

標準の Look & Feel の各実装における Swing コンポーネントのデフォルトキーストローク動作のインデックスについては、「Swing コンポーネントのキーストロークの割り当て」を参照してください。

「Action オブジェクト」

Action インタフェースオブジェクトは、プログラムアクションの 1 つのポイントにおける制御を提供します。たとえば、ツールバーアイコンとメニュー項目は、同じ Action オブジェクトを参照できます。Action オブジェクトが無効になると、それを参照する GUI 項目も自動的に無効になります。Action インタフェースは ActionListener を拡張し、有効なプロパティのほか、テキストの説明とグラフィックアイコンのプロパティを指定します。

「入れ子のコンテナ」

キーストロークの処理でわかるように、Swing は入れ子のコンテナを容易に管理するために設計されたアーキテクチャです。主な「重量」コンテナ (JWindow、JFrame、JDialog、および JApplet) だけでなく、主な「軽量」コンテナ (JInternalFrame および JComponent) も、すべて JRootPane に操作を委譲します。この共通の特性によって、コンテナの入れ子に高度な規則性が実現されます。特に、基本コンポーネントクラス (JComponent) には JRootPane が含まれるので、実質的には、どのコンポーネントも別のコンポーネントの入れ子にできます。これは、たとえばグラフィックをリストの入れ子にしたり、コンボボックスをツールバーの入れ子にしたりできることを意味します。 JRootPane クラスは JLayeredPane を使って、開発者にほぼ透過的な方法でコンテンツ区画とオプションのメニューバーを管理します。また、ガラス区画も提供します。この区画は単一の区画で、複数のコンテナにオーバーラップでき、描画やマウスアクションの遮断に使用できます。

「仮想デスクトップ」

JDesktopPane および JInternalFrame クラスを使用すると、仮想デスクトップ、つまり「マルチドキュメントインタフェース」を生成できます。JInternalFrame は、アイコン化可能、拡張可能、またはクローズ可能なコンテナとして指定でき、JDesktopPane は、そうしたコンテナが実際に動作する場所を提供します。

「複合ボーダ」

インセット (コンポーネントの端と描画領域との間の空間) は、空白のボーダで指定できます。また、多くのボーダスタイルが用意されており、それらを組み合わせると複合ボーダを生成できます。

「カスタムダイアログ」

JOptionPane は、いろいろな static メソッドを提供するクラスで、それらのメソッドを呼び出すと、さまざまな形式でメッセージダイアログとユーザ選択ダイアログの両方を生成および表示できます。ダイアログに表示する「メッセージ」は、文字列、文字列生成オブジェクト、または任意のコンポーネントのどれでもかまいません。また、選択ボタンを、ユーザ選択用に指定したコンポーネントに置き換えることもできます。

たとえば、次のように記述すると、ユーザに確認を求める単純なメッセージダイアログが生成されます。

JOptionPane.showMessageDialog(null, "The file will be deleted.");

カスタムダイアログの追加オプションは、JOptionPane クラス内に記述します。

「標準ダイアログクラス」

現在、使用可能な標準ダイアログは次のとおりです。

さらに多くの標準ダイアログを提供する予定です。

「構造化テーブルおよびツリーコンポーネント」

JTable クラスは、データベース対応のマトリックスを提供します。JTree クラスは、データ要素の階層構造を提供します。

「強力なテキスト操作」

Swing は、単一フォントのテキストフィールドとテキスト領域のほかに、隠し入力のための JPassword フィールドと、マルチフォントのテキストを表示するための JTextPane クラスを提供します。また、JEditorPane クラスはマルチフォントテキストの編集機能を提供し、text.html および text.rtf パッケージは、HyperText Markup Language (HTML) または Rich Text Format (RTF) でコード化されたテキストを処理します。

「汎用取り消し機能」

undo パッケージは、さまざまな状況で使用できる汎用取り消し機能を提供します。

「ユーザ補助機能のサポート」

Swing には、点字などの代替インタフェースの補助機能 (Assistive Technology) と互換性のある製品を生成するためのサポートが組み込まれています。すべての Swing コンポーネントは、Accessible インタフェースを実装します。

「関連項目」

概要、チュートリアル、例、ガイド、その他のマニュアルについては、以下を参照してください。


JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.