窗格類是JavaFX的一部分。窗格類充當所有布局窗格的基類。本質上,它滿足了將子列表公開顯示的需要,以便子類的用戶可以自由添加/刪除子列表。窗格類繼承了Region類。如果應用程序需要子代在父代中保持對齊,則必須使用StackPane。此類會調整每個受管子項的大小,無論該子項的可見屬性值如何。
該類的構造函數:
- Pane():創建一個新的Pane對象。
- Pane(Node… c):使用指定的節點創建新的窗格布局。
常用方法:
方法 | 說明 |
---|---|
getChildren() | 返回窗格的子級。 |
setLayoutX(double v) | 設置屬性layoutX的值。 |
setLayoutY(double v) | 設置屬性layoutY的值。 |
getLayoutX() | 返回屬性layoutX的值。 |
getLayoutY() | 返回屬性layoutY的值。 |
setPrefSize(double width, double height) | 設置窗格的首選大小。 |
relocate(double x, double y) | 將對象重新定位到指定的坐標。 |
以下示例程序旨在說明Pane類的用法:
- Java程序創建一個Pane並將標簽添加到Pane並將其添加到舞台:在此程序中,我們將創建一個名為Pane的窗格和一個名為label的Label。現在,通過將其作為窗格的構造函數的參數傳遞,將其添加到窗格中。然後將窗格添加到場景,並將場景添加到舞台。調用show()函數以顯示最終結果。
// Java Program to create a Pane // and add label to the Pane // and add it to the stage 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.Pane; import javafx.scene.shape.*; public class Pane_0 extends Application { // launch the application public void start(Stage stage) { try { // set title for the stage stage.setTitle("Pane"); // create a label Label label = new Label("this is Pane example"); // create a Pane Pane pane = new Pane(label); // create a scene Scene scene = new Scene(pane, 400, 300); // 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程序來創建窗格,並在窗格中添加標簽和按鈕,然後將它們重新放置到特定位置並將其添加到舞台:在此程序中,我們將創建一個名為Pane的窗格和一個名為label的Label。通過將此標簽作為窗格的構造函數的參數傳遞,將其添加到窗格中。然後創建五個按鈕並將它們添加到窗格中。使用relocate()函數將標簽和按鈕重新定位到指定位置。將窗格添加到場景並將場景添加到舞台。調用show()函數以顯示最終結果。
// Java Program to create a Pane // and add labels and buttons to the pane // and relocate them to specific positions // and add it to the stage 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.Pane; import javafx.scene.shape.*; public class Pane_1 extends Application { // launch the application public void start(Stage stage) { try { // set title for the stage stage.setTitle("Pane"); // create a label Label label = new Label("this is Pane example"); // relocate label label.relocate(100, 10); // create a Pane Pane pane = new Pane(label); // add buttons for (int i = 0; i < 5; i++) { // create button Button button = new Button("Button " + (int)(i + 1)); // add button pane.getChildren().add(button); // relocate button button.relocate(100, 50 + 40 * i); } // create a scene Scene scene = new Scene(pane, 400, 300); // 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/Pane.html
相關用法
- JavaFX 類 Tab用法及代碼示例
- JavaFX 類 Pos用法及代碼示例
- JavaFX 類 FileChooser用法及代碼示例
- JavaFX 類 TextAlignment用法及代碼示例
- JavaFX 類 FontWeight用法及代碼示例
- JavaFX 類 StackPane用法及代碼示例
- JavaFX 類 AnchorPane用法及代碼示例
- JavaFX 類 FlowPane用法及代碼示例
- JavaFX 類 Popup用法及代碼示例
- JavaFX 類 LinearGradient用法及代碼示例
- JavaFX 類 Stop用法及代碼示例
- JavaFX 類 DirectoryChooser用法及代碼示例
- JavaFX 類 Font用法及代碼示例
- JavaFX 類 FontPosture用法及代碼示例
注:本文由純淨天空篩選整理自andrew1234大神的英文原創作品 JavaFX | Pane Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。