モジュール java.desktop
パッケージ javax.swing

クラスJComponent

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
すべての実装されたインタフェース:
ImageObserver, MenuContainer, Serializable
直系の既知のサブクラス:
AbstractButton, BasicInternalFrameTitlePane, Box, Box.Filler, JColorChooser, JComboBox, JFileChooser, JInternalFrame, JInternalFrame.JDesktopIcon, JLabel, JLayer, JLayeredPane, JList, JMenuBar, JOptionPane, JPanel, JPopupMenu, JProgressBar, JRootPane, JScrollBar, JScrollPane, JSeparator, JSlider, JSpinner, JSplitPane, JTabbedPane, JTable, JTableHeader, JTextComponent, JToolBar, JToolTip, JTree, JViewport

@JavaBean(defaultProperty="UIClassID") public abstract class JComponent extends Container implements Serializable
トップ・レベルのコンテナを除くすべてのSwingコンポーネントの基底クラスです。 JComponentから継承するコンポーネントを使用するには、ルートがトップ・レベルのSwingコンテナである包含関係の階層にコンポーネントを位置付ける必要があります。 JFrameJDialogJAppletなどのトップ・レベルのSwingコンテナは、ほかのSwingコンポーネントがそれ自身を描画するための場所を提供する特殊なコンポーネントです。 包含関係の階層については、「The Java Tutorial」の「Swing Components and the Containment Hierarchy」を参照してください。

JComponentクラスは次の機能を提供します。

  • Swingアーキテクチャを使用する、標準コンポーネントおよびカスタム・コンポーネント両方の基底クラス。
  • プログラマが指定、またはオプションでユーザーが実行時に選択できる「プラガブルルック・アンド・フィール (L&F)」。 各コンポーネントのルック・アンド・フィールはUI委譲、つまりComponentUIから派生するオブジェクトで提供されます。 詳細については、「The Java Tutorial」の「How to Set the Look and Feel」を参照してください。
  • 包括的なキー・ストローク処理。 詳細は、「The Java Tutorial」の「How to Use Key Bindings」を参照してください。
  • ツールヒントのサポート。ツールヒントは、カーソルがコンポーネント上にあるときに表示される短い説明です。 詳細は、「The Java Tutorial」の「How to Use Tool Tips」を参照してください。
  • アクセシビリティ・サポート。 JComponentはインタフェースAccessibleにすべてのメソッドを格納しますが、インタフェースを実際には実装しません。 実装はJComponentを拡張する個々のクラスに依存します。
  • コンポーネント固有のプロパティのサポート。 putClientProperty(java.lang.Object, java.lang.Object)getClientProperty(java.lang.Object)のメソッドの場合、名前とオブジェクトのペアをJComponentから派生するどのオブジェクトにも関連付けることができます。
  • ダブル・バッファリングとボーダーのサポートに対応している、ペイントのためのインフラストラクチャ。 詳細については、「The Java Tutorial」の「Painting」と「How to Use Borders」を参照してください。
これらのサブジェクトの詳細は、Swing package descriptionおよび「Javaチュートリアル」の項「JComponentクラス」を参照してください。

JComponentとそのサブクラスは、特定のプロパティのデフォルト値をドキュメント化します。 たとえば、JTableはデフォルトの行の高さを16としてドキュメント化します。 ComponentUIを持つJComponentの各サブクラスは、ComponentUIをそのコンストラクタの一部として生成します。 ComponentUIでは、特殊なルック・アンド・フィールを提供するために、生成元のJComponentでプロパティを設定し直すことがあります。 たとえば、カスタムのルック・アンド・フィールでは、JTableの行の高さを24にする必要があります。 ドキュメント化されたデフォルトは、ComponentUIをインストールする前のプロパティの値です。 特定のプロパティに特定の値が必要な場合は、それを明示的に設定してください。

JComponentには、子として任意の数のデフォルト・コンポーネントまたは初期コンポーネントを含めることができます。 この動作はルック・アンド・フィールによって変更される可能性があるため、JComponentには特定のルック・アンド・フィールの子としてデフォルト・コンポーネントまたは初期コンポーネントが含まれることがありますが、他のルック・アンド・フィールでは変更されない場合があります。 特定のルック・アンド・フィール内でも、この動作はJComponentの構成プロパティによって異なる場合があります。 つまり、アプリケーションが直接追加しなかったため、JComponentに子がないと仮定することは無効です。

リリース1.4では、フォーカス・サブシステムが再構築されました。 詳細については、「The Java Tutorial」の「How to Use the Focus Subsystem」を参照してください。

警告: Swingはスレッドに対して安全ではありません。 詳細は、「Swing's Threading Policy」を参照してください。

警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。

導入されたバージョン:
1.2
関連項目: