Month: April 2018

  • JavaFX Get Screen Size

    JavaFX Get Screen Size

    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]