JavaFX, show canvas on second scree, w
Davide Perini
perini.davide at dpsoftware.org
Thu Oct 14 14:05:43 UTC 2021
Hi all,
I have a small piece of code that shows a canvas with JavaFX.
I want to display the canvas on the second screen.
This works well in Windows but not on Linux Ubuntu.
Stage stage =new Stage(); Group root =new Group(); Scene s =new Scene(root, 1920, 1080, Color.BLACK); GraphicsContext gc; Canvas canvas =new Canvas(1920,1080); gc = canvas.getGraphicsContext2D(); canvas.setFocusTraversable(true); // Hide canvas on key pressed canvas.setOnKeyPressed(t -> {
stage.setFullScreen(false); stage.hide(); }); drawThings(gc); root.getChildren().add(canvas); stage.setScene(s); // Show canvas on the second display Rectangle2D bounds = Screen.getScreens().get(1).getVisualBounds(); stage.setX(bounds.getMinX()); stage.setY(bounds.getMinY()); stage.show(); stage.setFullScreen(true);
On Linux the canvas is shown on the first screen.
I have tried swapping the screen index from
// Show canvas on the second display Rectangle2D bounds = Screen.getScreens().get(1).getVisualBounds();
to
// Show canvas on the second display Rectangle2D bounds = Screen.getScreens().get(0).getVisualBounds();
but same problem.
Any idea?
Thank you
Davide
More information about the openjfx-dev
mailing list