JavaFX按钮触发是一种常见的用户界面交互方式,它可以让用户在应用程序中执行特定的操作。JavaFX提供了一系列的API来处理按钮触发,这些API可以帮助开发人员快速实现按钮触发功能。
要使用JavaFX来处理按钮触发,首先要创建一个Button对象:
Button btn = new Button("Click Me!");
然后,为该Button对象注册一个ActionEvent处理器:
btn.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { // Do something when button is clicked } });
当用户单击该按钮时,就会调用handle()方法来执行相应的操作。在handle()方法中,开发人员可以根据具体情况来执行不同的代码逻辑。例如:显示一个新的对话框、打开文件、显示新的界面等。
此外,JavaFX还允许开发人员使用不同的图形元素来代
触摸事件允许我们使用触摸屏与JavaFX应用程序交互。
import javafx.application.Application; import javafx.event.EventHandler; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.input.TouchEvent; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; //from w w w . j a va 2s . c o m public class Main extends Application { int touchId = -1; double touchx, touchy; public static void main(String[] args) { Application.launch(args); } @Override public void start(Stage primaryStage) { Group root = new Group(); Scene scene = new Scene(root, 300, 250); final Rectangle rect = new Rectangle(); rect.setWidth(100); rect.setHeight(100); root.getChildren().add(rect); rect.setOnTouchPressed(new EventHandler<TouchEvent>() { @Override public void handle(TouchEvent event) { if (touchId == -1) { touchId = event.getTouchPoint().getId(); touchx = event.getTouchPoint().getSceneX() - rect.getTranslateX(); touchy = event.getTouchPoint().getSceneY() - rect.getTranslateY(); } event.consume(); } }); rect.setOnTouchReleased(new EventHandler<TouchEvent>() { @Override public void handle(TouchEvent event) { if (event.getTouchPoint().getId() == touchId) { touchId = -1; } event.consume(); } }); rect.setOnTouchMoved(new EventHandler<TouchEvent>() { @Override public void handle(TouchEvent event) { if (event.getTouchPoint().getId() == touchId) { rect.setTranslateX(event.getTouchPoint().getSceneX() - touchx); rect.setTranslateY(event.getTouchPoint().getSceneY() - touchy); } event.consume(); } }); primaryStage.setScene(scene); primaryStage.show(); } }
上面的代码生成以下结果。
JavaFX教程 -JavaFX事件过滤器事件过滤器允许我们在事件捕获阶段处理事件。节点可以具有用于处理事件的一个或多个过滤器。我们可...
Java 实例 - 将文件内容复制到另一个文件 Java 实例以下实例演示了使用 BufferedWriter 类的 read 和 write 方法将文件内容复制...
Java 实例 - 文件路径比较 Java 实例以下实例演示了使用 File 类的 filename.compareTo (another filename) 方法来比较两个文件...
Java 实例 - 递归创建目录 Java 实例以下实例演示了使用 File 类的 mkdirs() 实现递归创建目录 :import java.io.File;public cl...
Java 实例 - 遍历目录 Java 实例以下实例演示了使用 File 类的 dir.isDirectory() 和 dir.list() 方法来遍历目录:import java.i...