我正在尝试自动按下我的应用程序中的按钮,以便它触发一个功能。
根据java docs,.arm()
按钮应该执行此操作。但事实并非如此。
我也试过.fire()
,但没有运气。
关于如何获得按钮的任何想法都可以单独点击?
答案 0 :(得分:2)
button.fire()有效,是用于触发按下自动按钮的正确方法。
以下是一个简短的示例,演示了它的用途:
启动时间轴,每秒自动触发一个按钮。当按钮被触发时,它会增加按钮下面的计数器标签。
import javafx.animation.*;
import javafx.application.Application;
import javafx.geometry.*;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.util.Duration;
public class Clicker extends Application {
@Override
public void start(Stage stage) throws Exception {
Label counter = new Label("0");
Button clicker = new Button("Auto-clicked");
clicker.setOnAction(event ->
counter.setText(
(1 + Integer.parseInt(counter.getText())) + ""
)
);
Timeline ticker = new Timeline(
new KeyFrame(
Duration.seconds(1),
event -> clicker.fire()
)
);
ticker.setCycleCount(1_000_000);
ticker.play();
VBox layout = new VBox(10, clicker, counter);
layout.setAlignment(Pos.CENTER);
layout.setPadding(new Insets(10));
stage.setScene(new Scene(layout));
stage.show();
}
public static void main(String[] args) {
launch(Clicker.class);
}
}