Salve nel seguente codice non riesco a capire il funzionamento del fireevent. il System.out stampa in qualunque caso se sono nel bottone 1 o nel bottone 2.
codice:
package keyboardevent1;
import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.TilePane;
import javafx.stage.Stage;
public class KeyBoardEvent1 extends Application {
int counter=0;
public void start(Stage stage) {
TilePane box=new TilePane();
box.setHgap(50);
final Button b1=new Button("Uno");
final Button b2=new Button("Ciao");
box.getChildren().addAll(b1,b2);
EventHandler<KeyEvent> keyEventHandler =new EventHandler<KeyEvent>() {
public void handle(KeyEvent keyEvent) {
if (keyEvent.getCode() == KeyCode.U) {
//b2.fireEvent(new ActionEvent()); // A COSA SERVE?
System.out.println(keyEvent.getSource()+" => "+keyEvent.getTarget());
}
}
};
Scene scene = new Scene(box, 400, 300);
stage.addEventHandler(KeyEvent.KEY_PRESSED, keyEventHandler);
stage.setTitle("My JavaFX Application");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}