JavaFX provides an easy option to get screen dimensions (screen size) of all the monitors connected. This can be done using the javafx.stage.Screen class.
Get Screen Size of Primary Monitor
import javafx.application.Application; import javafx.geometry.Rectangle2D; import javafx.stage.Screen; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { //Get primary screen bounds Rectangle2D screenBounds = Screen.getPrimary().getBounds(); System.out.println(screenBounds); System.exit(0); } }
Example Output
Rectangle2D [minX = 0.0, minY=0.0, maxX=1920.0, maxY=1080.0, width=1920.0, height=1080.0]
Get Number Of Monitors / Visual Devices
Let’s see how we can find number of monitors currently attached to the system using the JavaFX Screen API.
import javafx.application.Application; import javafx.stage.Screen; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { System.out.println(Screen.getScreens().size()); System.exit(0); } }
Example Output
2
Get Screen Size Of All Monitors
import javafx.application.Application; import javafx.collections.ObservableList; import javafx.stage.Screen; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { ObservableList<Screen> screenSizes = Screen.getScreens(); screenSizes.forEach(screen -> { System.out.println(screen.getBounds()); }); System.exit(0); } }
Example Output
Rectangle2D [minX = 0.0, minY=0.0, maxX=1920.0, maxY=1080.0, width=1920.0, height=1080.0] Rectangle2D [minX = -1920.0, minY=0.0, maxX=-384.0, maxY=864.0, width=1536.0, height=864.0]