コントロールの背景設定
各種コントロールの背景はsetBackgroundメソッドで設定します。引数には「Background」クラスのインスタンスを指定します。指定する「Background」クラスの内容により様々な背景に設定することができます。
-
public final void setBackground(Background value)
Backgroundクラス
Backgroundクラスは、どの様な背景にするかを指定するクラスです。Backgroundクラスには下記4種類のコンストラクタがあり「背景色」及び「イメージ」の何れか又は、両方を指定することができます。また、「背景色」及び「イメージ」のそれぞれを重ねて指定することも可能です。
- 1.
public Background( BackgroundFill… fills)
- 単色やグラデーションなどで塗り潰しを指定する場合は、引数がBackgroundFillのコンストラクタを使用します。重ね塗りをする場合は、配列又は、リストで複数のBackgroundFillを指定します。
- 2.
public Background( BackgroundImage… images)
- 背景にイメージを張り付ける場合は、引数がBackgroundImageのコンストラクタを使用します。イメージを重ねる場合は、配列又は、リストで複数のBackgroundImageを指定します。
- 3.
public Background( List fills , List images)
- 塗り潰しとイメージを同時に指定する場合は、本コンストラクタを使用します。ListにするBackgroundFill及びBackgroundImageをそれぞれ格納し引数に指定します。
- 4.
public Background( BackgroundFill[] fills , BackgroundImage[] images)
- 塗り潰しとイメージを同時に指定する場合は、本コンストラクタを使用します。「 public Background( List fills , List images)」と用途は同じですがBackgroundFill及びBackgroundImageを配列で保持している場合などは、こちらを使用します。
BackgroundFillクラス
BackgroundFillは、背景を「塗り潰す」際に使用します。
BackgroundFill(Paint fill, CornerRadii radii, Insets insets)
【引数説明】
- Paint fill
- : 背景色を指定する。グラデーションなども指定することも可能
- CornerRadii radii
- : 塗り潰し枠の角確度を指定する。
- Insets insets
- : 余白を指定する。
BackgroundImageクラス
BackgroundFillは、背景に「イメージ」を張り付ける際に使用します。
-
BackgroundImage(Image image, BackgroundRepeat repeatX, BackgroundRepeat repeatY, BackgroundPosition position, BackgroundSize size)
【引数説明】
- Image image
- → 配置するイメージファイルを指定する。
- BackgroundRepeat repeatX
BackgroundRepeat repeatY - → イメージ配置方法を指定する。repeatXは横方向/repeatY縦方向。
- BackgroundPosition position
- → イメージを配置する際の基準位置を指定する。
- BackgroundSize size
- → イメージのサイズを指定する。
- BackgroundSize.DEFAULT
- :イメージのサイズをそのまま使用する場合
- BackgroundSize
- :イメージのサイズを変更する場合
背景色の設定例
例1)Labelの背景色を単色Silverに設定
-
// Lableを作成 Label label = new Label("Label"); label . setFont(new Font( 18 )); // フォントを18ptに設定 label . setAlignment( Pos . CENTER ); // センタリング label . setMaxWidth(100); label . setMaxHeight(20); // Labelの背景色を設定 label.setBackground( new Background( new BackgroundFill( Color.SILVER , new CornerRadii(0) , Insets.EMPTY ) ) );
例2)Buttonの背景色を単色Silverに設定
-
// Buttonを作成 Button button = new Button( "ボタン" ); button . setPrefWidth( 100 ); button . setPrefHeight( 20 ); // Buttonの背景色を設定 button . setBackground( new Background( new BackgroundFill( Color.SILVER , new CornerRadii(0) , Insets.EMPTY ) ) );
例3)TextFieldの背景色を単色Silverに設定
-
// TextFieldを作成 TextField textField = new TextField("テキストフィールド"); textField . setMaxWidth( 150 ); // TextFieldの背景色を設定 textField . setBackground( new Background( new BackgroundFill( Color.SILVER , new CornerRadii(0) , Insets.EMPTY ) ) );
※※※ 背景に「イメージ」を張り付ける実行例、やグラデーションの背景などの設定例は、追って更新予定 ※※※