|
3 | 3 | import java.awt.GraphicsEnvironment;
|
4 | 4 | import java.awt.Insets;
|
5 | 5 | import java.awt.Toolkit;
|
| 6 | +import java.awt.Window; |
6 | 7 |
|
7 | 8 | public class ScreenDimension {
|
8 | 9 |
|
9 |
| - private Toolkit kit; |
10 |
| - private Dimension scr_size; |
11 |
| - private int dpi; |
12 |
| - private GraphicsDevice device; |
| 10 | + private static Toolkit kit = Toolkit.getDefaultToolkit(); |
| 11 | + private static Dimension scr_size = kit.getScreenSize(); |
| 12 | + private static int dpi = kit.getScreenResolution(); |
| 13 | + private static GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice(); |
13 | 14 |
|
14 |
| - public ScreenDimension(){ |
15 |
| - this(Toolkit.getDefaultToolkit(),GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice()); |
16 |
| - } |
17 |
| - |
18 |
| - public ScreenDimension(Toolkit kit, GraphicsDevice device){ |
19 |
| - this.kit = kit; |
| 15 | + public static void setDefault(Toolkit kit, GraphicsDevice device){ |
| 16 | + ScreenDimension.kit = kit; |
20 | 17 | scr_size = kit.getScreenSize();
|
21 | 18 | dpi = kit.getScreenResolution();
|
22 |
| - this.device = device; |
| 19 | + ScreenDimension.device = device; |
23 | 20 | }
|
24 | 21 |
|
25 |
| - public Dimension getVisibleSpace(){ |
| 22 | + public static Dimension getVisibleSpace(){ |
26 | 23 | Insets insets = kit.getScreenInsets(device.getDefaultConfiguration());
|
27 | 24 | return new Dimension(scr_size.width - insets.left - insets.right, scr_size.height - insets.top - insets.bottom);
|
28 | 25 | }
|
| 26 | + |
| 27 | + public static Dimension getDimension(int winch, int hinch){ |
| 28 | + return new Dimension(winch*dpi, hinch*dpi); |
| 29 | + } |
| 30 | + |
| 31 | + /** |
| 32 | + * This method should be call after the window is visible and has its size defined. |
| 33 | + */ |
| 34 | + public static void centerWindow(Window win){ |
| 35 | + Dimension scr = getVisibleSpace(); |
| 36 | + Dimension size = win.getSize(); |
| 37 | + win.setLocation((scr.width-size.width)/2, (scr.height-size.height)/2); |
| 38 | + } |
29 | 39 | }
|
0 commit comments