JavaFX - ScrollPane



ScrollPane 是一種控制元件,它提供其內容的可滾動視口。它允許使用者使用捲軸垂直或水平滾動內容。它用於顯示一個大型元件或一個在螢幕視口有限時其大小可以動態更改的元件。請記住,捲軸的大小取決於元件的大小。下圖顯示了一個帶有垂直捲軸的可滾動視口:

ScrollPane

JavaFX 中的 ScrollPane

在 JavaFX 中,滾動窗格控制元件由名為 ScrollPane 的類表示。此類屬於 javafx.scene.control 包。透過例項化此類,我們可以在 JavaFX 中建立 ScrollPane 控制元件。此類具有以下建構函式:

  • ScrollPane() - 它構造一個沒有任何節點的 ScrollPane。

  • ScrollPane(Node content) - 它使用指定的節點構造一個新的 ScrollPane。

在 JavaFX 中建立 ScrollPane 的步驟

要在 JavaFX 中建立 ScrollPane,請按照以下步驟操作。

步驟 1:建立要在 ScrollPane 中顯示的節點

在 JavaFX 中,滾動窗格可以顯示包含影像、文字或圖表的節點。因此,例項化相應的類以建立所需的節點。這裡,我們使用影像作為 ScrollPane 的內容:

// create an image view
ImageView imageTp = new ImageView(new Image("tutorials_point.jpg"));

步驟 2:例項化 ScrollPane 類

start() 方法內部例項化名為 ScrollPane 的類。此操作將為 ImageView 建立一個 ScrollPane。

// create a scroll pane
ScrollPane newscroll = new ScrollPane();

步驟 3:設定 ScrollPane 的內容

要設定 ScrollPane 的內容,我們使用名為 setContent() 的方法。將 ImageView 物件作為引數值傳遞給此方法。

// set the content of the scroll pane
newscroll.setContent(imageTp);

步驟 4:啟動應用程式

建立 ScrollPane 並設定其內容後,請按照以下步驟正確啟動應用程式:

  • 首先,透過將 ScrollPane 物件作為引數值傳遞給其建構函式以及應用程式螢幕的尺寸,例項化名為 Scene 的類。

  • 然後,使用 Stage 類的 setTitle() 方法設定舞臺的標題。

  • 現在,使用名為 Stage 的類的 setScene() 方法將 Scene 物件新增到舞臺。

  • 使用名為 show() 的方法顯示場景的內容。

  • 最後,在 launch() 方法的幫助下啟動應用程式。

示例

以下 JavaFX 程式演示瞭如何在 JavaFX 應用程式中建立 ScrollPane。將此程式碼儲存在名為 JavafxScrollpane.java 的檔案中。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ScrollPane;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;
public class JavafxScrollpane extends Application {
   @Override
   public void start(Stage stage) {
      // creating an image view
      ImageView imageTp = new ImageView(new Image("tutorials_point.jpg"));
      // creating a scroll pane
      ScrollPane newscroll = new ScrollPane();
      // setting the content of the scroll pane
      newscroll.setContent(imageTp);
      // creating a scene and stage
      Scene scene = new Scene(newscroll, 500, 300);
      stage.setTitle("ScrollPane in JavaFX");
	  stage.setScene(scene);
      stage.show();
   }
   public static void main(String[] args) {
      launch(args);
   }
}

要從命令提示符編譯和執行儲存的 Java 檔案,請使用以下命令:

javac --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxScrollpane.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxScrollpane

輸出

當我們執行上述程式碼時,它將生成以下輸出。

Scrollpane Output

在 JavaFX 中停用 ScrollPane 的垂直捲軸

ScrollPane 類提供兩種方法,即 setHbarPolicy()setVbarPolicy(),用於指定何時使用捲軸。要啟用捲軸,我們將 ScrollBarPolicy.ALWAYS 屬性傳遞給相應的方法,要停用,我們使用 ScrollBarPolicy.NEVER 屬性。

示例

在以下示例中,我們將停用 ScrollPane 的垂直捲軸。將此程式碼儲存在名為 JavafxScrollpane.java 的檔案中。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.ScrollPane.*;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;
public class JavafxScrollpane extends Application {
   @Override
   public void start(Stage stage) {
      // creating an image view
      ImageView imageTp = new ImageView(new Image("tutorials_point.jpg"));
      // creating a scroll pane
      ScrollPane newscroll = new ScrollPane();
      // disbaling the vertical scroll bar
      newscroll.setHbarPolicy(ScrollBarPolicy.ALWAYS);
      newscroll.setVbarPolicy(ScrollBarPolicy.NEVER);
      // setting the content of the scroll pane
      newscroll.setContent(imageTp);
      // creating a scene and stage
      Scene scene = new Scene(newscroll, 500, 300);
      stage.setTitle("ScrollPane in JavaFX");
	  stage.setScene(scene);
      stage.show();
   }
   public static void main(String[] args) {
      launch(args);
   }
}

透過使用以下命令從命令提示符編譯和執行儲存的 Java 檔案:

javac --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxScrollpane.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxScrollpane

輸出

執行上述程式碼後,它將生成以下輸出。

Scrollpane Output2
廣告

© . All rights reserved.