游标类是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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。