2-1-4-2: コンポーネントの外観のデザイン


・ コンポーネントのクラスは全て Componentクラスを共通のスーパークラスとします。 サイズや色など、外観を決定する性質は Componentクラスから継承します。 これらの基本的なデザインを取り扱った具体例を以下に示しますが、 このような記述方法はすべてのコンポーネントに共通です。


JButton button = new JButton( "Elephant" );  // コンポーネントの生成
Color bcolor = new Color( 0, 160, 0 );
Color fcolor = Color.yellow;
Font font =  new Font( "TimesRoman", Font.ITALIC, 24 );
button.setBackground( bcolor );  // 背景色の設定
button.setForeground( fcolor );  // 前景色の設定
button.setFont( font );          // フォントの設定
Dimension size = button.getSize();  // サイズ情報の取り出し
                  :
                  :
 

JButtonのデザインの例

よく利用される操作のメソッドとその意味を以下にまとめておきましょう。

Componentのサブ・クラスに共通するデザインの操作
名称機能
void setForeground( Color ) 前景色の設定
Color getForeground()前景色の取り出し
void setBackground( Color )背景色の設定
Color getBackground()背景色の取り出し
void setFont( Font )フォントの設定
Font getFont()フォントの取り出し
FontMetrics getFontMetrics()フォント・メトリックの取り出し
*設定はフォントの設定時に
自動的に行われる
void setSize( int, int )
void setSize( Dimension )
サイズの設定
Dimension getSize()サイズの取り出し
void setVisible( boolean visibility ) 表示のコントロール
void show()表示させる
( setVisible(true)と同じ )
void hide() 表示をやめる
( setVisible(false)と同じ )
boolean isVisible() 表示されているかどうか調べる
void setEnabled()操作可能かをコントロールする
void enable() 操作可能にする
( setEnabled(true)と同じ )
void disable() 操作不可能にする
( setEnabled(false)と同じ )
boolean isEnabled()操作可能かどうか調べる

コンポーネントのサイズは、ボタンのラベル文字列や入力アイテムの文字数 、使用するフォントのサイズなどに合わせて自動的に調整されます。 コンテナがそのポリシーに合わせてコンポーネントのサイズを調整する場合も あります。 これらの自動調整によるサイズは、 setSize() のメソッドによる指定よりも優先されることもしばしばあるので、 注意が必要です。