遊標類是JavaFX的一部分。光標類用於封裝鼠標光標的位圖表示形式。遊標類具有幾個預定義的遊標,可以根據程序員的需要使用它們。
常用方法:
方法 | 說明 |
---|---|
cursor(String s) | 返回指定字符串的遊標對象 |
toString() | 返回遊標的字符串表示形式。 |
下麵的程序將說明遊標類的用法:
- Java程序通過傳遞字符串標識符作為參數來將一些預定義的遊標設置為:該程序創建一個名為cursor_的遊標。光標將使用函數setCursor()設置到場景。我們將創建一個標簽。標簽將在場景內創建,而場景又將托管在舞台內。函數setTitle()用於為舞台提供標題。然後,創建一個平鋪窗格,在其上調用addChildren()方法以將標簽附加到場景內。最後,調用show()方法以顯示最終結果。
// Java program to set some predefined cursor // to the by passing string identifier as arguments import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.Label; import javafx.stage.Stage; import javafx.scene.Cursor; public class cursor_0 extends Application { // launch the application public void start(Stage stage) { // set title for the stage stage.setTitle("Creating Cursor"); // create a stack pane TilePane tilepane = new TilePane(); // create a label Label label = new Label("Cursor Example"); // add button tilepane.getChildren().add(label); // create a scene Scene scene = new Scene(tilepane, 200, 200); // create a cursor Cursor cursor_ = Cursor.cursor("WAIT"); // set cursor for the scene scene.setCursor(cursor_); // set the scene stage.setScene(scene); stage.show(); } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
輸出:
-
Java程序在場景中設置一些預定義的光標:該程序創建一個分別由名稱按鈕指示的按鈕。我們將創建一個名為cursor_的預定義遊標數組。將使用預定義光標cursor_列表中的函數setCursor()將光標設置為場景。該按鈕將在場景內創建,而場景又將托管在舞台內。我們將創建一個標簽。函數setTitle()用於為舞台提供標題。然後,創建一個平鋪窗格,在其上調用addChildren()方法以將按鈕和標簽附加到場景內。最後,調用show()方法以顯示最終結果。我們將創建一個事件處理程序來處理按鈕事件。事件處理程序將使用setOnAction()函數添加到按鈕。當按下按鈕時,將使用setCursor()函數更改場景的光標。
// Java program to set some predefined // cursor to the scene import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.*; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.control.Label; import javafx.stage.Stage; import javafx.scene.Cursor; public class cursor_1 extends Application { // counter of cursor int i = 0; // launch the application public void start(Stage stage) { // set title for the stage stage.setTitle("Creating Cursor"); // create a button Button button = new Button("cursor"); // create a stack pane TilePane tilepane = new TilePane(); // create a label Label label = new Label("Cursor Example"); // create a cursor with predefined cursor Cursor cursor_[] = {Cursor.CLOSED_HAND, Cursor.CROSSHAIR, Cursor.DEFAULT, Cursor.DISAPPEAR, Cursor.E_RESIZE, Cursor.H_RESIZE, Cursor.HAND, Cursor.MOVE, Cursor.N_RESIZE, Cursor.NE_RESIZE, Cursor.NONE, Cursor.NW_RESIZE, Cursor.OPEN_HAND, Cursor.SE_RESIZE, Cursor.SW_RESIZE, Cursor.TEXT, Cursor.V_RESIZE, Cursor.W_RESIZE, Cursor.WAIT}; // add button tilepane.getChildren().add(button); tilepane.getChildren().add(label); // create a scene Scene scene = new Scene(tilepane, 200, 200); // set cursor for the scene scene.setCursor(cursor_[0]); // action event EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() { public void handle(ActionEvent e) { if (i == cursor_.length - 1) i = -1; // change the cursor scene.setCursor(cursor_[++i]); } }; // when button is pressed button.setOnAction(event); // set the scene stage.setScene(scene); stage.show(); } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
輸出:
注意:以上程序可能無法在在線IDE中運行。請使用離線編譯器。
參考:https://docs.oracle.com/javafx/2/api/javafx/scene/Cursor.html
相關用法
- JavaFX 類 Tab用法及代碼示例
- JavaFX 類 Pos用法及代碼示例
- JavaFX 類 ColorAdjust用法及代碼示例
- JavaFX 類 AmbientLight用法及代碼示例
- JavaFX 類 FileChooser用法及代碼示例
- JavaFX 類 DirectoryChooser用法及代碼示例
- JavaFX 類 ColorInput用法及代碼示例
- JavaFX 類 InnerShadow用法及代碼示例
- JavaFX 類 Rectangle2D用法及代碼示例
- JavaFX 類 Font用法及代碼示例
- JavaFX 類 Reflection用法及代碼示例
注:本文由純淨天空篩選整理自andrew1234大神的英文原創作品 JavaFX | Cursor class with examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。