Skip to content
This repository was archived by the owner on Oct 27, 2018. It is now read-only.

Commit bcae58b

Browse files
committed
Give up adjusting according to the screen insets.
1 parent 279c220 commit bcae58b

File tree

2 files changed

+47
-17
lines changed

2 files changed

+47
-17
lines changed

src/Main.java

+25-5
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,37 @@
33
import java.awt.GraphicsEnvironment;
44
import java.awt.Insets;
55
import java.awt.Toolkit;
6+
import java.awt.event.WindowAdapter;
7+
import java.awt.event.WindowEvent;
8+
9+
import javax.swing.JOptionPane;
610

711
public class Main {
812

9-
1013
public static void main(String[] args) {
11-
12-
Dimension space = getVisibleSpace();
13-
14-
Frame mainfr = new Frame("Titile");
14+
15+
Frame mainfr = new Frame("CouponExchangeSystem");
1516
mainfr.setMinimumSize(new Dimension(800,600));
17+
mainfr.setMaximumSize(ScreenDimension.getVisibleSpace());
18+
mainfr.setSize(ScreenDimension.getDimension(12, 8));
19+
mainfr.addWindowListener(new WindowAdapter(){
20+
@Override
21+
public void windowClosing(WindowEvent we){
22+
int msg = JOptionPane.showConfirmDialog(mainfr, "Are you sure you want to quit the system?", "Exiting",
23+
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
24+
if(msg == JOptionPane.OK_OPTION){
25+
mainfr.dispose();
26+
System.exit(0);
27+
}
28+
}
29+
@Override
30+
public void windowOpened(WindowEvent we){
31+
ScreenDimension.centerWindow(mainfr);
32+
}
33+
});
34+
1635

36+
mainfr.setVisible(true);
1737
}
1838

1939

src/ScreenDimension.java

+22-12
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,37 @@
33
import java.awt.GraphicsEnvironment;
44
import java.awt.Insets;
55
import java.awt.Toolkit;
6+
import java.awt.Window;
67

78
public class ScreenDimension {
89

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();
1314

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;
2017
scr_size = kit.getScreenSize();
2118
dpi = kit.getScreenResolution();
22-
this.device = device;
19+
ScreenDimension.device = device;
2320
}
2421

25-
public Dimension getVisibleSpace(){
22+
public static Dimension getVisibleSpace(){
2623
Insets insets = kit.getScreenInsets(device.getDefaultConfiguration());
2724
return new Dimension(scr_size.width - insets.left - insets.right, scr_size.height - insets.top - insets.bottom);
2825
}
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+
}
2939
}

0 commit comments

Comments
 (0)