TouchOSCと呼ばれるアプリケーションから入力を受け取るために、電話にネットワーク接続されているリスナークラスがあります。そのクラスでは、電話のボタンを押すたびにメソッドを呼び出すことができます。私がする必要があるのは、コンピューターが電話から入力を受信するたびに、JavaFXボタンをクリックしてそのメソッドでイベントをトリガーすることです。どのように私はそのようなことを引き起こしますか?
ユーザーのジェスチャーがこのButtonBaseのイベントが発生することを示しているときに呼び出されます。
ボタンが発生すると、ボタンの onAction
イベントハンドラーが呼び出されます。
ボタンが呼び出されるたびに呼び出されるボタンのアクション。これは、ユーザーがマウスでボタンをクリックしたか、タッチイベントか、キーを押すか、または開発者がプログラムでfire()メソッドを呼び出したことが原因である可能性があります。
サンプルコード
ボタンを作成し、自動的に4回起動します。
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
import Java.io.IOException;
import Java.util.stream.IntStream;
public class RapidFire extends Application {
private static int nClicks = 0;
@Override
public void start(Stage stage) throws IOException {
// setup button and action handler.
Button button = new Button("Click Me!");
button.setOnAction(event -> {
nClicks++;
System.out.println("Clicked " + nClicks + " times.");
});
button.setPadding(new Insets(10));
button.setPrefWidth(100);
// show the button.
stage.setScene(new Scene(button));
stage.show();
// fire the button a few times in succession.
IntStream.range(0, 4).forEach(
i -> button.fire()
);
}
public static void main(String[] args) {
launch(args);
}
}
サンプルの出力は次のとおりです。
Clicked 1 times.
Clicked 2 times.
Clicked 3 times.
Clicked 4 times.