後台類是JavaFX的一部分。背景類設置區域的背景。每個背景都由多個填充或背景圖像組成,但不能為空,但可以為空。背景類是不可變的,因此您可以在許多不同的區域上自由地重用同一背景。
該類的構造函數:
- Background(BackgroundFill… f):使用指定的填充創建一個新的背景對象。
- Background(BackgroundFill[] fills, BackgroundImage[] images):使用指定的填充和背景圖像創建一個新的背景對象。
- Background(BackgroundImage… i):用指定的背景圖像創建一個新的背景對象。
- Background(List fills, List images):創建一個具有指定填充和背景圖像列表的新背景對象。
常用方法:
方法 | 說明 |
---|---|
getFills() | 返回背景的所有填充的列表。 |
getImages() | 返回背景的所有背景圖像的列表。 |
getOutsets() | 返回此背景的開始。 |
isEmpty() | 返回背景是否為空。 |
isFillPercentageBased() | 返回此背景的填充是否基於百分比。 |
以下示例程序旨在說明Background類的用法:
- Java程序為容器的背景設置填充:在此程序中,我們將使用指定的BackgroundFill創建一個名為background的Background並將其添加到背景中。我們將創建一個名為hbox的HBox,一個名為label的Label,一個名為textfield的TextField和一個名為button的Button。現在,將標簽,文本字段和按鈕添加到HBox。我們將使用setBackground()函數設置hbox的背景,現在將HBox的對齊方式設置為Pos.CENTER,並使用setSpacing()方法在節點之間添加一些間距。我們將創建一個名為Scene的Scene並將HBox添加到該場景。使用setScene()函數將場景設置為舞台。我們將調用show()函數以顯示結果。
// Java program to set a fill for the background // of a container import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.canvas.*; import javafx.scene.web.*; import javafx.scene.layout.*; import javafx.scene.image.*; import java.io.*; import javafx.geometry.*; import javafx.scene.Group; import javafx.scene.paint.*; public class Background_2 extends Application { // launch the application public void start(Stage stage) { try { // set title for the stage stage.setTitle("creating Background"); // create a label Label label = new Label("Name:"); // create a text field TextField textfield = new TextField(); // set preferred column count textfield.setPrefColumnCount(10); // create a button Button button = new Button("OK"); // add the label, text field and button HBox hbox = new HBox(label, textfield, button); // set spacing hbox.setSpacing(10); // set alignment for the HBox hbox.setAlignment(Pos.CENTER); // create a scene Scene scene = new Scene(hbox, 280, 280); // create a background fill BackgroundFill background_fill = new BackgroundFill(Color.PINK, CornerRadii.EMPTY, Insets.EMPTY); // create Background Background background = new Background(background_fill); // set background hbox.setBackground(background); // set the scene stage.setScene(scene); stage.show(); } catch (Exception e) { System.out.println(e.getMessage()); } } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
輸出:
- 將圖像添加到容器背景的Java程序:在此程序中,我們將使用指定的BackgroundImage創建一個名為background的Background並將此圖像添加到容器的背景中。使用FileInputStream導入圖像,然後將文件轉換為Image對象。使用此Image對象創建BackgroundImage。我們將創建一個名為hbox的HBox,一個名為label的Label,一個名為textfield的TextField和一個名為button的Button。現在,將標簽,文本字段和按鈕添加到HBox。使用setBackground()函數設置hbox的背景。將HBox的對齊方式設置為Pos.CENTER,並使用setSpacing()方法在節點之間添加一些間距。我們將創建一個名為Scene的Scene並將HBox添加到該場景。使用setScene()函數將場景設置為舞台。最後,調用show()方法以顯示結果。
// Java program to add an image to // the background of a container import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.canvas.*; import javafx.scene.web.*; import javafx.scene.layout.*; import javafx.scene.image.*; import java.io.*; import javafx.geometry.*; import javafx.scene.Group; public class Background_1 extends Application { // launch the application public void start(Stage stage) { try { // set title for the stage stage.setTitle("creating Background"); // create a label Label label = new Label("Name:"); // create a text field TextField textfield = new TextField(); // set preferred column count textfield.setPrefColumnCount(10); // create a button Button button = new Button("OK"); // add the label, text field and button HBox hbox = new HBox(label, textfield, button); // set spacing hbox.setSpacing(10); // set alignment for the HBox hbox.setAlignment(Pos.CENTER); // create a scene Scene scene = new Scene(hbox, 280, 280); // create a input stream FileInputStream input = new FileInputStream("f:\\gfg.png"); // create a image Image image = new Image(input); // create a background image BackgroundImage backgroundimage = new BackgroundImage(image, BackgroundRepeat.NO_REPEAT, BackgroundRepeat.NO_REPEAT, BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT); // create Background Background background = new Background(backgroundimage); // set background hbox.setBackground(background); // set the scene stage.setScene(scene); stage.show(); } catch (Exception e) { System.out.println(e.getMessage()); } } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
輸出:
注意:以上程序可能無法在在線IDE中運行。請使用離線編譯器。
參考:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/Background.html
相關用法
- JavaFX 類 Tab用法及代碼示例
- JavaFX 類 Pos用法及代碼示例
- JavaFX 類 Font用法及代碼示例
- JavaFX 類 Duration用法及代碼示例
- JavaFX 類 HTMLEditor用法及代碼示例
- JavaFX 類 FontPosture用法及代碼示例
- JavaFX 類 Rectangle2D用法及代碼示例
- JavaFX 類 PieChart用法及代碼示例
- JavaFX 類 Point3D用法及代碼示例
- JavaFX 類 Popup用法及代碼示例
- JavaFX 類 VBox用法及代碼示例
- JavaFX 類 DirectoryChooser用法及代碼示例
- JavaFX 類 ColorInput用法及代碼示例
- JavaFX 類 FileChooser用法及代碼示例
- JavaFX 類 TabPane用法及代碼示例
注:本文由純淨天空篩選整理自andrew1234大神的英文原創作品 JavaFX | Background Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。