View Javadoc
1   package org.woehlke.computer.kurzweil.commons.model;
2   
3   import lombok.AllArgsConstructor;
4   import lombok.EqualsAndHashCode;
5   import lombok.Getter;
6   import lombok.ToString;
7   import lombok.extern.log4j.Log4j2;
8   
9   import javax.swing.*;
10  import java.awt.*;
11  import java.io.Serializable;
12  
13  @Log4j2
14  @Getter
15  @ToString
16  @AllArgsConstructor
17  @EqualsAndHashCode
18  public class Bounds implements Serializable {
19  
20      private final int myStartX;
21      private final int myStartY;
22      private final int myWidth;
23      private final int myHeight;
24  
25      public Bounds(double height, double width, Dimension screenSize){
26          double startX = (screenSize.getWidth() - width) / 2d;
27          double startY = (screenSize.getHeight() - height) / 2d;
28          myStartX = Double.valueOf(startX).intValue();
29          myStartY = Double.valueOf(startY).intValue();
30          myWidth = Double.valueOf(width).intValue();
31          myHeight = Double.valueOf(height).intValue();
32      }
33  
34      public static Bounds getFrameBounds(JRootPane rootPane){
35          double width = rootPane.getWidth();
36          double height = rootPane.getHeight();
37          Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
38          return new Bounds(height,width,screenSize);
39      }
40  
41      public static Bounds getCanvas(JRootPane rootPane){
42          double width = rootPane.getWidth();
43          double height = rootPane.getHeight();
44          Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
45          return new Bounds(height,width,screenSize);
46      }
47  }