将信息传递给JavaFX按钮句柄的例程可以通过以下步骤实现:
下面是一个示例代码:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("JavaFX Button Example");
Button button = new Button();
button.setText("Click me!");
// 创建事件处理程序类
MyEventHandler eventHandler = new MyEventHandler();
// 将事件处理程序类作为参数传递给按钮的setOnAction方法
button.setOnAction(eventHandler);
StackPane root = new StackPane();
root.getChildren().add(button);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
// 调用按钮的fire方法来触发按钮点击事件,并传递信息作为参数
button.fireEvent(new ActionEvent("Hello, JavaFX!", button));
}
// 事件处理程序类
private class MyEventHandler implements EventHandler<ActionEvent> {
@Override
public void handle(ActionEvent event) {
// 处理按钮点击事件
if (event.getSource() instanceof Button) {
Button button = (Button) event.getSource();
String message = (String) event.getSource().getUserData();
System.out.println("Button clicked: " + button.getText());
System.out.println("Message received: " + message);
}
}
}
}
这个例程创建了一个JavaFX按钮,并设置了按钮的文本和样式。通过创建一个事件处理程序类,并将其作为参数传递给按钮的setOnAction方法,可以在按钮点击时执行自定义的逻辑。在事件处理程序类中,可以定义一个方法来接收要传递的信息,并在handle方法中调用该方法。在主类中,可以调用按钮的fire方法来触发按钮点击事件,并传递信息作为参数。
领取专属 10元无门槛券
手把手带您无忧上云