Bom pessoal, tenho uma aplicação em java, e estou a procura de uma função que identifique quando a janela da aplicação ta com foco ou não, por que tenho uma leitora digital e a mesma só funciona se a aplicação estiver com foco, identificando isso poderia deixar um alerta para os usuários
É isso que você quer ?
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 FocusFX extends Application {
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
primaryStage.focusedProperty().addListener( (o,old,nval) -> {
if( nval != null ) {
System.out.println( nval.booleanValue() );
}
} );
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}